Files
wehub-resource-sync d88fd01084
CI / test (3.10) (push) Failing after 1s
CI / test (3.12) (push) Failing after 0s
CI / skillgen-check (push) Failing after 0s
CI / security-scan (push) Failing after 0s
chore: import upstream snapshot with attribution
2026-07-13 12:09:14 +08:00

305 lines
1.8 MiB
Plaintext
Vendored

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>graphify - graphify-out\graph.html</title>
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: #0f0f1a; color: #e0e0e0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; display: flex; height: 100vh; overflow: hidden; }
#graph { flex: 1; }
#sidebar { width: 280px; background: #1a1a2e; border-left: 1px solid #2a2a4e; display: flex; flex-direction: column; overflow: hidden; }
#search-wrap { padding: 12px; border-bottom: 1px solid #2a2a4e; }
#search { width: 100%; background: #0f0f1a; border: 1px solid #3a3a5e; color: #e0e0e0; padding: 7px 10px; border-radius: 6px; font-size: 13px; outline: none; }
#search:focus { border-color: #4E79A7; }
#search-results { max-height: 140px; overflow-y: auto; padding: 4px 12px; border-bottom: 1px solid #2a2a4e; display: none; }
.search-item { padding: 4px 6px; cursor: pointer; border-radius: 4px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.search-item:hover { background: #2a2a4e; }
#info-panel { padding: 14px; border-bottom: 1px solid #2a2a4e; min-height: 140px; }
#info-panel h3 { font-size: 13px; color: #aaa; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.05em; }
#info-content { font-size: 13px; color: #ccc; line-height: 1.6; }
#info-content .field { margin-bottom: 5px; }
#info-content .field b { color: #e0e0e0; }
#info-content .empty { color: #555; font-style: italic; }
.neighbor-link { display: block; padding: 2px 6px; margin: 2px 0; border-radius: 3px; cursor: pointer; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-left: 3px solid #333; }
.neighbor-link:hover { background: #2a2a4e; }
#neighbors-list { max-height: 160px; overflow-y: auto; margin-top: 4px; }
#legend-wrap { flex: 1; overflow-y: auto; padding: 12px; }
#legend-wrap h3 { font-size: 13px; color: #aaa; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.05em; }
.legend-item { display: flex; align-items: center; gap: 8px; padding: 4px 0; cursor: pointer; border-radius: 4px; font-size: 12px; }
.legend-item:hover { background: #2a2a4e; padding-left: 4px; }
.legend-item.dimmed { opacity: 0.35; }
.legend-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
.legend-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.legend-count { color: #666; font-size: 11px; }
#stats { padding: 10px 14px; border-top: 1px solid #2a2a4e; font-size: 11px; color: #555; }
#legend-controls { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; padding: 4px 0; }
#legend-controls label { display: flex; align-items: center; gap: 6px; cursor: pointer; font-size: 12px; color: #aaa; user-select: none; }
#legend-controls label:hover { color: #e0e0e0; }
.legend-cb, #select-all-cb { appearance: none; -webkit-appearance: none; width: 14px; height: 14px; border: 1.5px solid #3a3a5e; border-radius: 3px; background: #0f0f1a; cursor: pointer; position: relative; flex-shrink: 0; }
.legend-cb:checked, #select-all-cb:checked { background: #4E79A7; border-color: #4E79A7; }
.legend-cb:checked::after, #select-all-cb:checked::after { content: ''; position: absolute; left: 3.5px; top: 1px; width: 4px; height: 7px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
#select-all-cb:indeterminate { background: #4E79A7; border-color: #4E79A7; }
#select-all-cb:indeterminate::after { content: ''; position: absolute; left: 2px; top: 5px; width: 8px; height: 2px; background: #fff; border: none; transform: none; }
</style>
</head>
<body>
<div id="graph"></div>
<div id="sidebar">
<div id="search-wrap">
<input id="search" type="text" placeholder="Search nodes..." autocomplete="off">
<div id="search-results"></div>
</div>
<div id="info-panel">
<h3>Node Info</h3>
<div id="info-content"><span class="empty">Click a node to inspect it</span></div>
</div>
<div id="legend-wrap">
<h3>Communities</h3>
<div id="legend-controls">
<label><input type="checkbox" id="select-all-cb" checked onchange="toggleAllCommunities(!this.checked)">Select All</label>
</div>
<div id="legend"></div>
</div>
<div id="stats">1886 nodes &middot; 3876 edges &middot; 141 communities</div>
</div>
<script>
const RAW_NODES = [{"id": "backend_alembic_env_py", "label": "env.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "env.py", "community": 66, "community_name": "Community 66", "source_file": "backend/alembic/env.py", "file_type": "code", "degree": 4}, {"id": "alembic_env_run_migrations_offline", "label": "run_migrations_offline()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "run_migrations_offline()", "community": 66, "community_name": "Community 66", "source_file": "backend/alembic/env.py", "file_type": "code", "degree": 1}, {"id": "alembic_env_do_run_migrations", "label": "do_run_migrations()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "do_run_migrations()", "community": 66, "community_name": "Community 66", "source_file": "backend/alembic/env.py", "file_type": "code", "degree": 1}, {"id": "alembic_env_run_async_migrations", "label": "run_async_migrations()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "run_async_migrations()", "community": 66, "community_name": "Community 66", "source_file": "backend/alembic/env.py", "file_type": "code", "degree": 2}, {"id": "alembic_env_run_migrations_online", "label": "run_migrations_online()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "run_migrations_online()", "community": 66, "community_name": "Community 66", "source_file": "backend/alembic/env.py", "file_type": "code", "degree": 2}, {"id": "backend_alembic_versions_0001_initial_schema_py", "label": "0001_initial_schema.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0001_initial_schema.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0001_initial_schema.py", "file_type": "code", "degree": 3}, {"id": "versions_0001_initial_schema_upgrade", "label": "upgrade()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "upgrade()", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0001_initial_schema.py", "file_type": "code", "degree": 13}, {"id": "versions_0001_initial_schema_downgrade", "label": "downgrade()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "downgrade()", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0001_initial_schema.py", "file_type": "code", "degree": 13}, {"id": "versions_0001_initial_schema_rationale_1", "label": "initial schema Revision ID: 0001 Revises: Create Date: 2026-03-16", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "initial schema Revision ID: 0001 Revises: Create Date: 2026-03-16", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0001_initial_schema.py", "file_type": "rationale", "degree": 1}, {"id": "backend_alembic_versions_0002_add_preview_columns_py", "label": "0002_add_preview_columns.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0002_add_preview_columns.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0002_add_preview_columns.py", "file_type": "code", "degree": 3}, {"id": "versions_0002_add_preview_columns_rationale_1", "label": "add autofill and attack day preview columns to siege Revision ID: 0002 Revises:", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "add autofill and attack day preview columns to siege Revision ID: 0002 Revises:", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0002_add_preview_columns.py", "file_type": "rationale", "degree": 1}, {"id": "backend_alembic_versions_0003_make_siege_date_nullable_py", "label": "0003_make_siege_date_nullable.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0003_make_siege_date_nullable.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0003_make_siege_date_nullable.py", "file_type": "code", "degree": 3}, {"id": "versions_0003_make_siege_date_nullable_rationale_1", "label": "make siege date nullable Revision ID: 0003 Revises: 0002 Create Date: 2026-03-1", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "make siege date nullable Revision ID: 0003 Revises: 0002 Create Date: 2026-03-1", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0003_make_siege_date_nullable.py", "file_type": "rationale", "degree": 1}, {"id": "backend_alembic_versions_0004_add_post_priority_config_py", "label": "0004_add_post_priority_config.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0004_add_post_priority_config.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0004_add_post_priority_config.py", "file_type": "code", "degree": 3}, {"id": "versions_0004_add_post_priority_config_rationale_1", "label": "Add post_priority_config table", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Add post_priority_config table", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0004_add_post_priority_config.py", "file_type": "rationale", "degree": 1}, {"id": "backend_alembic_versions_0005_add_description_to_post_priority_config_py", "label": "0005_add_description_to_post_priority_config.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0005_add_description_to_post_priority_config.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0005_add_description_to_post_priority_config.py", "file_type": "code", "degree": 3}, {"id": "versions_0005_add_description_to_post_priority_config_rationale_1", "label": "Add description to post_priority_config", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Add description to post_priority_config", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0005_add_description_to_post_priority_config.py", "file_type": "rationale", "degree": 1}, {"id": "backend_alembic_versions_0006_power_level_and_drop_sort_value_py", "label": "0006_power_level_and_drop_sort_value.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0006_power_level_and_drop_sort_value.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0006_power_level_and_drop_sort_value.py", "file_type": "code", "degree": 3}, {"id": "versions_0006_power_level_and_drop_sort_value_rationale_1", "label": "Replace power with power_level, drop sort_value", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Replace power with power_level, drop sort_value", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0006_power_level_and_drop_sort_value.py", "file_type": "rationale", "degree": 1}, {"id": "backend_alembic_versions_0007_fix_group_number_max_py", "label": "0007_fix_group_number_max.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0007_fix_group_number_max.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0007_fix_group_number_max.py", "file_type": "code", "degree": 3}, {"id": "versions_0007_fix_group_number_max_rationale_1", "label": "Raise group_number_range constraint max from 9 to 10 Stronghold at level 6 requ", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Raise group_number_range constraint max from 9 to 10 Stronghold at level 6 requ", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0007_fix_group_number_max.py", "file_type": "rationale", "degree": 1}, {"id": "backend_alembic_versions_0008_add_matched_condition_id_to_position_py", "label": "0008_add_matched_condition_id_to_position.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0008_add_matched_condition_id_to_position.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0008_add_matched_condition_id_to_position.py", "file_type": "code", "degree": 3}, {"id": "versions_0008_add_matched_condition_id_to_position_rationale_1", "label": "Add matched_condition_id to position Tracks which PostCondition a member was ma", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Add matched_condition_id to position Tracks which PostCondition a member was ma", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0008_add_matched_condition_id_to_position.py", "file_type": "rationale", "degree": 1}, {"id": "backend_alembic_versions_0009_add_discord_id_to_member_py", "label": "0009_add_discord_id_to_member.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0009_add_discord_id_to_member.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0009_add_discord_id_to_member.py", "file_type": "code", "degree": 3}, {"id": "versions_0009_add_discord_id_to_member_rationale_1", "label": "Add discord_id to member Stores the Discord snowflake ID for each clan member,", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Add discord_id to member Stores the Discord snowflake ID for each clan member,", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0009_add_discord_id_to_member.py", "file_type": "rationale", "degree": 1}, {"id": "backend_alembic_versions_0010_add_last_seen_changelog_at_to_member_py", "label": "0010_add_last_seen_changelog_at_to_member.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0010_add_last_seen_changelog_at_to_member.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0010_add_last_seen_changelog_at_to_member.py", "file_type": "code", "degree": 3}, {"id": "versions_0010_add_last_seen_changelog_at_to_member_rationale_1", "label": "Add last_seen_changelog_at to member Tracks the timestamp of the last changelog", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Add last_seen_changelog_at to member Tracks the timestamp of the last changelog", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0010_add_last_seen_changelog_at_to_member.py", "file_type": "rationale", "degree": 1}, {"id": "versions_0010_add_last_seen_changelog_at_to_member_rationale_25", "label": "Add nullable last_seen_changelog_at column to the member table.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Add nullable last_seen_changelog_at column to the member table.", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0010_add_last_seen_changelog_at_to_member.py", "file_type": "rationale", "degree": 1}, {"id": "versions_0010_add_last_seen_changelog_at_to_member_rationale_33", "label": "Remove last_seen_changelog_at column from the member table.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove last_seen_changelog_at column from the member table.", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0010_add_last_seen_changelog_at_to_member.py", "file_type": "rationale", "degree": 1}, {"id": "backend_alembic_versions_0011_add_post_suggest_preview_py", "label": "0011_add_post_suggest_preview.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "0011_add_post_suggest_preview.py", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0011_add_post_suggest_preview.py", "file_type": "code", "degree": 3}, {"id": "versions_0011_add_post_suggest_preview_rationale_1", "label": "Add post_suggest_preview columns to siege table. Mirrors the autofill_preview /", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Add post_suggest_preview columns to siege table. Mirrors the autofill_preview /", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0011_add_post_suggest_preview.py", "file_type": "rationale", "degree": 1}, {"id": "versions_0011_add_post_suggest_preview_rationale_23", "label": "Add post_suggest_preview and post_suggest_preview_expires_at columns.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Add post_suggest_preview and post_suggest_preview_expires_at columns.", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0011_add_post_suggest_preview.py", "file_type": "rationale", "degree": 1}, {"id": "versions_0011_add_post_suggest_preview_rationale_34", "label": "Drop post_suggest_preview and post_suggest_preview_expires_at columns.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Drop post_suggest_preview and post_suggest_preview_expires_at columns.", "community": 23, "community_name": "Community 23", "source_file": "backend/alembic/versions/0011_add_post_suggest_preview.py", "file_type": "rationale", "degree": 1}, {"id": "app_config_settings", "label": "Settings", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "Settings", "community": 10, "community_name": "Community 10", "source_file": "backend/app/config.py", "file_type": "code", "degree": 7}, {"id": "basesettings", "label": "BaseSettings", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseSettings", "community": 10, "community_name": "Community 10", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_main_lifespan", "label": "lifespan()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "lifespan()", "community": 5, "community_name": "Community 5", "source_file": "backend/app/main.py", "file_type": "code", "degree": 2}, {"id": "app_main_rationale_1", "label": "FastAPI application factory and middleware wiring.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FastAPI application factory and middleware wiring.", "community": 5, "community_name": "Community 5", "source_file": "backend/app/main.py", "file_type": "rationale", "degree": 1}, {"id": "app_main_rationale_48", "label": "Application lifespan \u2014 runs startup guards before serving requests.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Application lifespan \u2014 runs startup guards before serving requests.", "community": 5, "community_name": "Community 5", "source_file": "backend/app/main.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_middleware_py", "label": "middleware.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "middleware.py", "community": 68, "community_name": "Community 68", "source_file": "backend/app/middleware.py", "file_type": "code", "degree": 1}, {"id": "app_middleware_requestloggingmiddleware", "label": "RequestLoggingMiddleware", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "RequestLoggingMiddleware", "community": 68, "community_name": "Community 68", "source_file": "backend/app/middleware.py", "file_type": "code", "degree": 3}, {"id": "basehttpmiddleware", "label": "BaseHTTPMiddleware", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BaseHTTPMiddleware", "community": 68, "community_name": "Community 68", "source_file": "", "file_type": "code", "degree": 1}, {"id": "app_middleware_requestloggingmiddleware_dispatch", "label": ".dispatch()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".dispatch()", "community": 68, "community_name": "Community 68", "source_file": "backend/app/middleware.py", "file_type": "code", "degree": 1}, {"id": "backend_app_rate_limit_py", "label": "rate_limit.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "rate_limit.py", "community": 53, "community_name": "Community 53", "source_file": "backend/app/rate_limit.py", "file_type": "code", "degree": 5}, {"id": "app_rate_limit_get_client_ip", "label": "_get_client_ip()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_client_ip()", "community": 53, "community_name": "Community 53", "source_file": "backend/app/rate_limit.py", "file_type": "code", "degree": 3}, {"id": "app_rate_limit_rate_limit_key", "label": "_rate_limit_key()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_rate_limit_key()", "community": 53, "community_name": "Community 53", "source_file": "backend/app/rate_limit.py", "file_type": "code", "degree": 3}, {"id": "app_rate_limit_parse_retry_after_seconds", "label": "_parse_retry_after_seconds()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_parse_retry_after_seconds()", "community": 53, "community_name": "Community 53", "source_file": "backend/app/rate_limit.py", "file_type": "code", "degree": 3}, {"id": "app_rate_limit_rate_limit_exceeded_handler", "label": "rate_limit_exceeded_handler()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "rate_limit_exceeded_handler()", "community": 53, "community_name": "Community 53", "source_file": "backend/app/rate_limit.py", "file_type": "code", "degree": 3}, {"id": "app_rate_limit_rationale_1", "label": "Rate-limiting utilities shared across the application. This module owns the sin", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rate-limiting utilities shared across the application. This module owns the sin", "community": 53, "community_name": "Community 53", "source_file": "backend/app/rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "app_rate_limit_rationale_53", "label": "Extract the real client IP from X-Forwarded-For for rate bucketing. Reads t", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract the real client IP from X-Forwarded-For for rate bucketing. Reads t", "community": 53, "community_name": "Community 53", "source_file": "backend/app/rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "app_rate_limit_rationale_155", "label": "Composite key function that honours the AUTH_DISABLED bypass. When ``AUTH_D", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Composite key function that honours the AUTH_DISABLED bypass. When ``AUTH_D", "community": 53, "community_name": "Community 53", "source_file": "backend/app/rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "app_rate_limit_rationale_180", "label": "Parse a slowapi rate-limit detail string into a window size in seconds. slo", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Parse a slowapi rate-limit detail string into a window size in seconds. slo", "community": 53, "community_name": "Community 53", "source_file": "backend/app/rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "app_rate_limit_rationale_218", "label": "Return a JSON 429 response with a ``Retry-After`` header. Replaces slowapi'", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a JSON 429 response with a ``Retry-After`` header. Replaces slowapi&#x27;", "community": 53, "community_name": "Community 53", "source_file": "backend/app/rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "app_telemetry_configure_telemetry", "label": "configure_telemetry()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "configure_telemetry()", "community": 69, "community_name": "Community 69", "source_file": "backend/app/telemetry.py", "file_type": "code", "degree": 2}, {"id": "app_telemetry_rationale_1", "label": "Application Insights / OpenTelemetry initialisation for the backend. Call ``con", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Application Insights / OpenTelemetry initialisation for the backend. Call ``con", "community": 69, "community_name": "Community 69", "source_file": "backend/app/telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "app_telemetry_rationale_32", "label": "Initialise Azure Monitor OpenTelemetry and instrument the app. The ``azure-", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Initialise Azure Monitor OpenTelemetry and instrument the app. The ``azure-", "community": 69, "community_name": "Community 69", "source_file": "backend/app/telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_api_attack_day_py", "label": "attack_day.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "attack_day.py", "community": 24, "community_name": "Community 24", "source_file": "backend/app/api/attack_day.py", "file_type": "code", "degree": 7}, {"id": "backend_app_api_auth_py", "label": "auth.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "auth.py", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "code", "degree": 13}, {"id": "api_auth_autherror", "label": "AuthError", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "AuthError", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "code", "degree": 4}, {"id": "api_auth_exchange_code_for_token", "label": "_exchange_code_for_token()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_exchange_code_for_token()", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "code", "degree": 3}, {"id": "api_auth_get_discord_user", "label": "_get_discord_user()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_discord_user()", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "code", "degree": 3}, {"id": "api_auth_check_guild_membership", "label": "_check_guild_membership()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_check_guild_membership()", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "code", "degree": 3}, {"id": "api_auth_login", "label": "login()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "login()", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "code", "degree": 2}, {"id": "api_auth_callback", "label": "callback()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "callback()", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "code", "degree": 6}, {"id": "api_auth_logout", "label": "logout()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "logout()", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "code", "degree": 2}, {"id": "api_auth_me", "label": "me()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "me()", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "code", "degree": 2}, {"id": "api_auth_error_redirect", "label": "_error_redirect()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_error_redirect()", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "code", "degree": 3}, {"id": "api_auth_rationale_1", "label": "Discord OAuth2 authentication endpoints.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Discord OAuth2 authentication endpoints.", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "rationale", "degree": 1}, {"id": "api_auth_rationale_28", "label": "Error codes returned in login redirect query parameters.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Error codes returned in login redirect query parameters.", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "rationale", "degree": 1}, {"id": "api_auth_rationale_42", "label": "Exchange an authorization code for a Discord access token.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Exchange an authorization code for a Discord access token.", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "rationale", "degree": 1}, {"id": "api_auth_rationale_60", "label": "Fetch the authenticated Discord user's profile (identify scope).", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Fetch the authenticated Discord user&#x27;s profile (identify scope).", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "rationale", "degree": 1}, {"id": "api_auth_rationale_71", "label": "Check guild membership via the bot sidecar. Raises on connection failure.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Check guild membership via the bot sidecar. Raises on connection failure.", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "rationale", "degree": 1}, {"id": "api_auth_rationale_78", "label": "Initiate Discord OAuth2 flow. Generates a CSRF state token, stores it in a", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Initiate Discord OAuth2 flow. Generates a CSRF state token, stores it in a", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "rationale", "degree": 1}, {"id": "api_auth_rationale_118", "label": "Handle Discord OAuth2 callback. Validates CSRF state, exchanges the authori", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Handle Discord OAuth2 callback. Validates CSRF state, exchanges the authori", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "rationale", "degree": 1}, {"id": "api_auth_rationale_204", "label": "Clear the session cookie, ending the user's session.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Clear the session cookie, ending the user&#x27;s session.", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "rationale", "degree": 1}, {"id": "api_auth_rationale_213", "label": "Return identity information for the currently authenticated caller.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return identity information for the currently authenticated caller.", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "rationale", "degree": 1}, {"id": "api_auth_rationale_223", "label": "Return a redirect to the login page with an error query parameter.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a redirect to the login page with an error query parameter.", "community": 26, "community_name": "Community 26", "source_file": "backend/app/api/auth.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_api_autofill_py", "label": "autofill.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "autofill.py", "community": 8, "community_name": "Community 8", "source_file": "backend/app/api/autofill.py", "file_type": "code", "degree": 6}, {"id": "backend_app_api_board_py", "label": "board.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "board.py", "community": 8, "community_name": "Community 8", "source_file": "backend/app/api/board.py", "file_type": "code", "degree": 12}, {"id": "api_board_bulk_update_positions", "label": "bulk_update_positions()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "bulk_update_positions()", "community": 39, "community_name": "Community 39", "source_file": "backend/app/api/board.py", "file_type": "code", "degree": 3}, {"id": "backend_app_api_buildings_py", "label": "buildings.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "buildings.py", "community": 45, "community_name": "Community 45", "source_file": "backend/app/api/buildings.py", "file_type": "code", "degree": 11}, {"id": "api_buildings_list_buildings", "label": "list_buildings()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "list_buildings()", "community": 42, "community_name": "Community 42", "source_file": "backend/app/api/buildings.py", "file_type": "code", "degree": 2}, {"id": "api_buildings_add_building", "label": "add_building()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "add_building()", "community": 45, "community_name": "Community 45", "source_file": "backend/app/api/buildings.py", "file_type": "code", "degree": 3}, {"id": "api_buildings_add_group", "label": "add_group()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "add_group()", "community": 45, "community_name": "Community 45", "source_file": "backend/app/api/buildings.py", "file_type": "code", "degree": 3}, {"id": "api_buildings_delete_group", "label": "delete_group()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_group()", "community": 45, "community_name": "Community 45", "source_file": "backend/app/api/buildings.py", "file_type": "code", "degree": 2}, {"id": "backend_app_api_changelog_py", "label": "changelog.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "changelog.py", "community": 49, "community_name": "Community 49", "source_file": "backend/app/api/changelog.py", "file_type": "code", "degree": 6}, {"id": "api_changelog_require_member_session", "label": "_require_member_session()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_require_member_session()", "community": 49, "community_name": "Community 49", "source_file": "backend/app/api/changelog.py", "file_type": "code", "degree": 4}, {"id": "api_changelog_get_changelog_status", "label": "get_changelog_status()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "get_changelog_status()", "community": 49, "community_name": "Community 49", "source_file": "backend/app/api/changelog.py", "file_type": "code", "degree": 4}, {"id": "api_changelog_rationale_1", "label": "Changelog status and mark-seen endpoints. These endpoints let the frontend trac", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Changelog status and mark-seen endpoints. These endpoints let the frontend trac", "community": 49, "community_name": "Community 49", "source_file": "backend/app/api/changelog.py", "file_type": "rationale", "degree": 1}, {"id": "api_changelog_rationale_25", "label": "Raise HTTP 400 if the caller is a service principal. Args: current_", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Raise HTTP 400 if the caller is a service principal. Args: current_", "community": 49, "community_name": "Community 49", "source_file": "backend/app/api/changelog.py", "file_type": "rationale", "degree": 1}, {"id": "api_changelog_rationale_47", "label": "Return the authenticated user's last-seen changelog timestamp. Args:", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the authenticated user&#x27;s last-seen changelog timestamp. Args:", "community": 49, "community_name": "Community 49", "source_file": "backend/app/api/changelog.py", "file_type": "rationale", "degree": 1}, {"id": "api_changelog_rationale_73", "label": "Set the authenticated user's last-seen changelog timestamp to now. Idempote", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Set the authenticated user&#x27;s last-seen changelog timestamp to now. Idempote", "community": 49, "community_name": "Community 49", "source_file": "backend/app/api/changelog.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_api_comparison_py", "label": "comparison.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "comparison.py", "community": 8, "community_name": "Community 8", "source_file": "backend/app/api/comparison.py", "file_type": "code", "degree": 9}, {"id": "api_comparison_compare_with_most_recent", "label": "compare_with_most_recent()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "compare_with_most_recent()", "community": 8, "community_name": "Community 8", "source_file": "backend/app/api/comparison.py", "file_type": "code", "degree": 1}, {"id": "api_comparison_compare_with_specific", "label": "compare_with_specific()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "compare_with_specific()", "community": 8, "community_name": "Community 8", "source_file": "backend/app/api/comparison.py", "file_type": "code", "degree": 1}, {"id": "api_config_get_config", "label": "get_config()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_config()", "community": 10, "community_name": "Community 10", "source_file": "backend/app/api/config.py", "file_type": "code", "degree": 2}, {"id": "api_config_rationale_1", "label": "Public config endpoint \u2014 exposes non-sensitive runtime flags to the frontend.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Public config endpoint \u2014 exposes non-sensitive runtime flags to the frontend.", "community": 10, "community_name": "Community 10", "source_file": "backend/app/api/config.py", "file_type": "rationale", "degree": 1}, {"id": "api_config_rationale_12", "label": "Return public runtime configuration flags. This endpoint is intentionally u", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return public runtime configuration flags. This endpoint is intentionally u", "community": 10, "community_name": "Community 10", "source_file": "backend/app/api/config.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_api_discord_sync_py", "label": "discord_sync.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "discord_sync.py", "community": 13, "community_name": "Community 13", "source_file": "backend/app/api/discord_sync.py", "file_type": "code", "degree": 4}, {"id": "api_discord_sync_rationale_1", "label": "Endpoints for Discord guild member \u2194 clan member sync.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Endpoints for Discord guild member \u2194 clan member sync.", "community": 13, "community_name": "Community 13", "source_file": "backend/app/api/discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "api_discord_sync_rationale_17", "label": "Return proposed Discord \u2194 clan member matches without writing to the DB.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return proposed Discord \u2194 clan member matches without writing to the DB.", "community": 13, "community_name": "Community 13", "source_file": "backend/app/api/discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "api_discord_sync_rationale_26", "label": "Apply accepted sync matches, updating discord_username and discord_id.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply accepted sync matches, updating discord_username and discord_id.", "community": 13, "community_name": "Community 13", "source_file": "backend/app/api/discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_api_health_py", "label": "health.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "health.py", "community": 50, "community_name": "Community 50", "source_file": "backend/app/api/health.py", "file_type": "code", "degree": 1}, {"id": "api_health_health", "label": "health()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "health()", "community": 50, "community_name": "Community 50", "source_file": "backend/app/api/health.py", "file_type": "code", "degree": 3}, {"id": "backend_app_api_images_py", "label": "images.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "images.py", "community": 34, "community_name": "Community 34", "source_file": "backend/app/api/images.py", "file_type": "code", "degree": 3}, {"id": "basemodel", "label": "BaseModel", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 23.8, "font": {"size": 12, "color": "#ffffff"}, "title": "BaseModel", "community": 8, "community_name": "Community 8", "source_file": "", "file_type": "code", "degree": 57}, {"id": "api_images_generate_images", "label": "generate_images()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "generate_images()", "community": 34, "community_name": "Community 34", "source_file": "backend/app/api/images.py", "file_type": "code", "degree": 6}, {"id": "api_images_rationale_1", "label": "Image generation endpoints.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Image generation endpoints.", "community": 34, "community_name": "Community 34", "source_file": "backend/app/api/images.py", "file_type": "rationale", "degree": 1}, {"id": "api_images_rationale_35", "label": "Generate PNG images for siege assignments and members list.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate PNG images for siege assignments and members list.", "community": 34, "community_name": "Community 34", "source_file": "backend/app/api/images.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_api_lifecycle_py", "label": "lifecycle.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "lifecycle.py", "community": 3, "community_name": "Community 3", "source_file": "backend/app/api/lifecycle.py", "file_type": "code", "degree": 4}, {"id": "backend_app_api_members_py", "label": "members.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "members.py", "community": 57, "community_name": "Community 57", "source_file": "backend/app/api/members.py", "file_type": "code", "degree": 7}, {"id": "api_members_list_members", "label": "list_members()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "list_members()", "community": 42, "community_name": "Community 42", "source_file": "backend/app/api/members.py", "file_type": "code", "degree": 2}, {"id": "api_members_get_member", "label": "get_member()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "get_member()", "community": 57, "community_name": "Community 57", "source_file": "backend/app/api/members.py", "file_type": "code", "degree": 17}, {"id": "api_members_delete_member", "label": "delete_member()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_member()", "community": 57, "community_name": "Community 57", "source_file": "backend/app/api/members.py", "file_type": "code", "degree": 1}, {"id": "backend_app_api_notifications_py", "label": "notifications.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "notifications.py", "community": 34, "community_name": "Community 34", "source_file": "backend/app/api/notifications.py", "file_type": "code", "degree": 13}, {"id": "api_notifications_send_dms", "label": "_send_dms()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_send_dms()", "community": 37, "community_name": "Community 37", "source_file": "backend/app/api/notifications.py", "file_type": "code", "degree": 6}, {"id": "api_notifications_rationale_1", "label": "Notification endpoints \u2014 send DMs and post images to Discord.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Notification endpoints \u2014 send DMs and post images to Discord.", "community": 34, "community_name": "Community 34", "source_file": "backend/app/api/notifications.py", "file_type": "rationale", "degree": 1}, {"id": "api_notifications_rationale_65", "label": "Send DMs for each member and record results in a fresh DB session.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Send DMs for each member and record results in a fresh DB session.", "community": 37, "community_name": "Community 37", "source_file": "backend/app/api/notifications.py", "file_type": "rationale", "degree": 1}, {"id": "api_notifications_rationale_142", "label": "Send DM notifications to all siege members asynchronously.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Send DM notifications to all siege members asynchronously.", "community": 34, "community_name": "Community 34", "source_file": "backend/app/api/notifications.py", "file_type": "rationale", "degree": 1}, {"id": "api_notifications_rationale_310", "label": "Get the status and results of a notification batch.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Get the status and results of a notification batch.", "community": 34, "community_name": "Community 34", "source_file": "backend/app/api/notifications.py", "file_type": "rationale", "degree": 1}, {"id": "api_notifications_rationale_371", "label": "Generate images and post them + a summary message to Discord channels.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate images and post them + a summary message to Discord channels.", "community": 34, "community_name": "Community 34", "source_file": "backend/app/api/notifications.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_api_posts_py", "label": "posts.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "posts.py", "community": 39, "community_name": "Community 39", "source_file": "backend/app/api/posts.py", "file_type": "code", "degree": 6}, {"id": "api_posts_serialize_post", "label": "_serialize_post()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_serialize_post()", "community": 39, "community_name": "Community 39", "source_file": "backend/app/api/posts.py", "file_type": "code", "degree": 5}, {"id": "api_posts_list_posts", "label": "list_posts()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "list_posts()", "community": 39, "community_name": "Community 39", "source_file": "backend/app/api/posts.py", "file_type": "code", "degree": 5}, {"id": "api_posts_rationale_13", "label": "Build a PostResponse-compatible dict, denormalizing building_number from the rel", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build a PostResponse-compatible dict, denormalizing building_number from the rel", "community": 39, "community_name": "Community 39", "source_file": "backend/app/api/posts.py", "file_type": "rationale", "degree": 1}, {"id": "api_post_priority_config_postpriorityresponse", "label": "PostPriorityResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "PostPriorityResponse", "community": 8, "community_name": "Community 8", "source_file": "backend/app/api/post_priority_config.py", "file_type": "code", "degree": 2}, {"id": "api_post_priority_config_postpriorityupdate", "label": "PostPriorityUpdate", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "PostPriorityUpdate", "community": 8, "community_name": "Community 8", "source_file": "backend/app/api/post_priority_config.py", "file_type": "code", "degree": 2}, {"id": "api_post_priority_config_list_post_priorities", "label": "list_post_priorities()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "list_post_priorities()", "community": 42, "community_name": "Community 42", "source_file": "backend/app/api/post_priority_config.py", "file_type": "code", "degree": 2}, {"id": "backend_app_api_post_suggestions_py", "label": "post_suggestions.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "post_suggestions.py", "community": 24, "community_name": "Community 24", "source_file": "backend/app/api/post_suggestions.py", "file_type": "code", "degree": 15}, {"id": "api_post_suggestions_rationale_1", "label": "API router for the Suggest Post Assignments feature. Routes: POST /sieges/{", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "API router for the Suggest Post Assignments feature. Routes: POST /sieges/{", "community": 24, "community_name": "Community 24", "source_file": "backend/app/api/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "api_post_suggestions_rationale_37", "label": "Generate a greedy post-assignment suggestion preview. Args: siege_i", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate a greedy post-assignment suggestion preview. Args: siege_i", "community": 24, "community_name": "Community 24", "source_file": "backend/app/api/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "api_post_suggestions_rationale_62", "label": "Apply a caller-filtered subset of the stored preview atomically. Uses SELEC", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply a caller-filtered subset of the stored preview atomically. Uses SELEC", "community": 24, "community_name": "Community 24", "source_file": "backend/app/api/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_api_reference_py", "label": "reference.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "reference.py", "community": 15, "community_name": "Community 15", "source_file": "backend/app/api/reference.py", "file_type": "code", "degree": 3}, {"id": "backend_app_api_sieges_py", "label": "sieges.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "sieges.py", "community": 42, "community_name": "Community 42", "source_file": "backend/app/api/sieges.py", "file_type": "code", "degree": 7}, {"id": "api_sieges_list_sieges", "label": "list_sieges()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "list_sieges()", "community": 42, "community_name": "Community 42", "source_file": "backend/app/api/sieges.py", "file_type": "code", "degree": 2}, {"id": "api_sieges_get_siege", "label": "get_siege()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "get_siege()", "community": 42, "community_name": "Community 42", "source_file": "backend/app/api/sieges.py", "file_type": "code", "degree": 3}, {"id": "api_sieges_delete_siege", "label": "delete_siege()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "delete_siege()", "community": 42, "community_name": "Community 42", "source_file": "backend/app/api/sieges.py", "file_type": "code", "degree": 2}, {"id": "api_siege_members_siegemembercreate", "label": "SiegeMemberCreate", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeMemberCreate", "community": 8, "community_name": "Community 8", "source_file": "backend/app/api/siege_members.py", "file_type": "code", "degree": 5}, {"id": "api_siege_members_list_siege_members", "label": "list_siege_members()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "list_siege_members()", "community": 42, "community_name": "Community 42", "source_file": "backend/app/api/siege_members.py", "file_type": "code", "degree": 2}, {"id": "backend_app_api_validation_py", "label": "validation.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "validation.py", "community": 3, "community_name": "Community 3", "source_file": "backend/app/api/validation.py", "file_type": "code", "degree": 3}, {"id": "api_version_read_backend_version", "label": "_read_backend_version()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_read_backend_version()", "community": 40, "community_name": "Community 40", "source_file": "backend/app/api/version.py", "file_type": "code", "degree": 3}, {"id": "api_version_fetch_bot_version", "label": "_fetch_bot_version()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_fetch_bot_version()", "community": 40, "community_name": "Community 40", "source_file": "backend/app/api/version.py", "file_type": "code", "degree": 3}, {"id": "api_version_rationale_20", "label": "Return a version string for the backend. When both BUILD_NUMBER and GIT_SHA", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a version string for the backend. When both BUILD_NUMBER and GIT_SHA", "community": 40, "community_name": "Community 40", "source_file": "backend/app/api/version.py", "file_type": "rationale", "degree": 1}, {"id": "api_version_rationale_43", "label": "Call the bot sidecar's /version endpoint. Returns None if unreachable.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Call the bot sidecar&#x27;s /version endpoint. Returns None if unreachable.", "community": 40, "community_name": "Community 40", "source_file": "backend/app/api/version.py", "file_type": "rationale", "degree": 1}, {"id": "api_version_rationale_57", "label": "Return version information for all components.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return version information for all components.", "community": 40, "community_name": "Community 40", "source_file": "backend/app/api/version.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_db_base_py", "label": "base.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "base.py", "community": 16, "community_name": "Community 16", "source_file": "backend/app/db/base.py", "file_type": "code", "degree": 1}, {"id": "declarativebase", "label": "DeclarativeBase", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DeclarativeBase", "community": 16, "community_name": "Community 16", "source_file": "", "file_type": "code", "degree": 1}, {"id": "backend_app_db_seeds_py", "label": "seeds.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "seeds.py", "community": 5, "community_name": "Community 5", "source_file": "backend/app/db/seeds.py", "file_type": "code", "degree": 4}, {"id": "db_seeds_seed_post_conditions", "label": "seed_post_conditions()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "seed_post_conditions()", "community": 5, "community_name": "Community 5", "source_file": "backend/app/db/seeds.py", "file_type": "code", "degree": 6}, {"id": "db_seeds_seed_building_type_config", "label": "seed_building_type_config()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "seed_building_type_config()", "community": 5, "community_name": "Community 5", "source_file": "backend/app/db/seeds.py", "file_type": "code", "degree": 6}, {"id": "db_seeds_seed_post_priority_config", "label": "seed_post_priority_config()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "seed_post_priority_config()", "community": 5, "community_name": "Community 5", "source_file": "backend/app/db/seeds.py", "file_type": "code", "degree": 6}, {"id": "db_seeds_rationale_1", "label": "Seed functions for reference/static data tables.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Seed functions for reference/static data tables.", "community": 5, "community_name": "Community 5", "source_file": "backend/app/db/seeds.py", "file_type": "rationale", "degree": 1}, {"id": "db_seeds_rationale_8", "label": "Insert all 36 PostCondition rows. Safe to re-run (ON CONFLICT DO NOTHING).", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Insert all 36 PostCondition rows. Safe to re-run (ON CONFLICT DO NOTHING).", "community": 5, "community_name": "Community 5", "source_file": "backend/app/db/seeds.py", "file_type": "rationale", "degree": 1}, {"id": "db_seeds_rationale_64", "label": "Insert all 5 BuildingTypeConfig rows. Safe to re-run (ON CONFLICT DO NOTHING).", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Insert all 5 BuildingTypeConfig rows. Safe to re-run (ON CONFLICT DO NOTHING).", "community": 5, "community_name": "Community 5", "source_file": "backend/app/db/seeds.py", "file_type": "rationale", "degree": 1}, {"id": "db_seeds_rationale_92", "label": "Insert all 18 PostPriorityConfig rows with default priority=2. Safe to re-r", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Insert all 18 PostPriorityConfig rows with default priority=2. Safe to re-r", "community": 5, "community_name": "Community 5", "source_file": "backend/app/db/seeds.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_db_session_py", "label": "session.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "session.py", "community": 74, "community_name": "Community 74", "source_file": "backend/app/db/session.py", "file_type": "code", "degree": 1}, {"id": "db_session_get_db", "label": "get_db()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_db()", "community": 74, "community_name": "Community 74", "source_file": "backend/app/db/session.py", "file_type": "code", "degree": 1}, {"id": "dependencies_auth_authenticateduser", "label": "AuthenticatedUser", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AuthenticatedUser", "community": 26, "community_name": "Community 26", "source_file": "backend/app/dependencies/auth.py", "file_type": "code", "degree": 5}, {"id": "dependencies_auth_get_current_user", "label": "get_current_user()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "get_current_user()", "community": 26, "community_name": "Community 26", "source_file": "backend/app/dependencies/auth.py", "file_type": "code", "degree": 3}, {"id": "dependencies_auth_rationale_1", "label": "FastAPI dependency for request authentication. Checks three paths in order: 1.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FastAPI dependency for request authentication. Checks three paths in order: 1.", "community": 26, "community_name": "Community 26", "source_file": "backend/app/dependencies/auth.py", "file_type": "rationale", "degree": 1}, {"id": "dependencies_auth_rationale_24", "label": "Represents the currently authenticated user or service principal.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Represents the currently authenticated user or service principal.", "community": 26, "community_name": "Community 26", "source_file": "backend/app/dependencies/auth.py", "file_type": "rationale", "degree": 1}, {"id": "dependencies_auth_rationale_37", "label": "Resolve the caller's identity from the incoming request. Tries three mechan", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Resolve the caller&#x27;s identity from the incoming request. Tries three mechan", "community": 26, "community_name": "Community 26", "source_file": "backend/app/dependencies/auth.py", "file_type": "rationale", "degree": 1}, {"id": "base", "label": "Base", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "Base", "community": 16, "community_name": "Community 16", "source_file": "", "file_type": "code", "degree": 27}, {"id": "models_building_group_buildinggroup", "label": "BuildingGroup", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 15.1, "font": {"size": 12, "color": "#ffffff"}, "title": "BuildingGroup", "community": 16, "community_name": "Community 16", "source_file": "backend/app/models/building_group.py", "file_type": "code", "degree": 21}, {"id": "backend_app_models_building_type_config_py", "label": "building_type_config.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "building_type_config.py", "community": 16, "community_name": "Community 16", "source_file": "backend/app/models/building_type_config.py", "file_type": "code", "degree": 5}, {"id": "backend_app_models_enums_py", "label": "enums.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "enums.py", "community": 52, "community_name": "Community 52", "source_file": "backend/app/models/enums.py", "file_type": "code", "degree": 5}, {"id": "models_enums_powerlevel", "label": "PowerLevel", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PowerLevel", "community": 52, "community_name": "Community 52", "source_file": "backend/app/models/enums.py", "file_type": "code", "degree": 1}, {"id": "models_enums_notificationbatchstatus", "label": "NotificationBatchStatus", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "NotificationBatchStatus", "community": 34, "community_name": "Community 34", "source_file": "backend/app/models/enums.py", "file_type": "code", "degree": 4}, {"id": "backend_app_models_member_py", "label": "member.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "member.py", "community": 52, "community_name": "Community 52", "source_file": "backend/app/models/member.py", "file_type": "code", "degree": 10}, {"id": "backend_app_models_member_post_preference_py", "label": "member_post_preference.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "member_post_preference.py", "community": 99, "community_name": "Community 99", "source_file": "backend/app/models/member_post_preference.py", "file_type": "code", "degree": 0}, {"id": "backend_app_models_notification_batch_result_py", "label": "notification_batch_result.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "notification_batch_result.py", "community": 34, "community_name": "Community 34", "source_file": "backend/app/models/notification_batch_result.py", "file_type": "code", "degree": 5}, {"id": "backend_app_models_position_py", "label": "position.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "position.py", "community": 16, "community_name": "Community 16", "source_file": "backend/app/models/position.py", "file_type": "code", "degree": 1}, {"id": "models_position_position", "label": "Position", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 14.8, "font": {"size": 12, "color": "#ffffff"}, "title": "Position", "community": 16, "community_name": "Community 16", "source_file": "backend/app/models/position.py", "file_type": "code", "degree": 20}, {"id": "backend_app_models_post_py", "label": "post.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "post.py", "community": 8, "community_name": "Community 8", "source_file": "backend/app/models/post.py", "file_type": "code", "degree": 4}, {"id": "backend_app_models_post_active_condition_py", "label": "post_active_condition.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "post_active_condition.py", "community": 100, "community_name": "Community 100", "source_file": "backend/app/models/post_active_condition.py", "file_type": "code", "degree": 0}, {"id": "backend_app_models_siege_py", "label": "siege.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "siege.py", "community": 16, "community_name": "Community 16", "source_file": "backend/app/models/siege.py", "file_type": "code", "degree": 4}, {"id": "schemas_board_positionboardresponse", "label": "PositionBoardResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "PositionBoardResponse", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/board.py", "file_type": "code", "degree": 3}, {"id": "schemas_board_groupboardresponse", "label": "GroupBoardResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "GroupBoardResponse", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/board.py", "file_type": "code", "degree": 3}, {"id": "schemas_board_buildingboardresponse", "label": "BuildingBoardResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "BuildingBoardResponse", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/board.py", "file_type": "code", "degree": 3}, {"id": "schemas_board_positionupdate", "label": "PositionUpdate", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "PositionUpdate", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/board.py", "file_type": "code", "degree": 3}, {"id": "schemas_board_bulkpositionupdate", "label": "BulkPositionUpdate", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "BulkPositionUpdate", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/board.py", "file_type": "code", "degree": 3}, {"id": "schemas_building_buildingcreate", "label": "BuildingCreate", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "BuildingCreate", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/building.py", "file_type": "code", "degree": 4}, {"id": "schemas_building_buildingupdate", "label": "BuildingUpdate", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "BuildingUpdate", "community": 0, "community_name": "Community 0", "source_file": "backend/app/schemas/building.py", "file_type": "code", "degree": 6}, {"id": "schemas_building_groupcreate", "label": "GroupCreate", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "GroupCreate", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/building.py", "file_type": "code", "degree": 3}, {"id": "schemas_changelog_changelogstatusresponse", "label": "ChangelogStatusResponse", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ChangelogStatusResponse", "community": 49, "community_name": "Community 49", "source_file": "backend/app/schemas/changelog.py", "file_type": "code", "degree": 5}, {"id": "schemas_changelog_rationale_1", "label": "Response schemas for the changelog endpoints.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Response schemas for the changelog endpoints.", "community": 49, "community_name": "Community 49", "source_file": "backend/app/schemas/changelog.py", "file_type": "rationale", "degree": 1}, {"id": "schemas_changelog_rationale_9", "label": "Response shape for both GET /changelog/status and POST /changelog/mark-seen.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Response shape for both GET /changelog/status and POST /changelog/mark-seen.", "community": 49, "community_name": "Community 49", "source_file": "backend/app/schemas/changelog.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_schemas_common_py", "label": "common.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "common.py", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/common.py", "file_type": "code", "degree": 1}, {"id": "schemas_common_errorresponse", "label": "ErrorResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "ErrorResponse", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/common.py", "file_type": "code", "degree": 2}, {"id": "schemas_member_memberbase", "label": "MemberBase", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberBase", "community": 52, "community_name": "Community 52", "source_file": "backend/app/schemas/member.py", "file_type": "code", "degree": 5}, {"id": "schemas_member_membercreate", "label": "MemberCreate", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberCreate", "community": 52, "community_name": "Community 52", "source_file": "backend/app/schemas/member.py", "file_type": "code", "degree": 3}, {"id": "schemas_member_memberupdate", "label": "MemberUpdate", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberUpdate", "community": 52, "community_name": "Community 52", "source_file": "backend/app/schemas/member.py", "file_type": "code", "degree": 3}, {"id": "schemas_member_memberresponse", "label": "MemberResponse", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberResponse", "community": 52, "community_name": "Community 52", "source_file": "backend/app/schemas/member.py", "file_type": "code", "degree": 3}, {"id": "schemas_member_memberpreferencesupdate", "label": "MemberPreferencesUpdate", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberPreferencesUpdate", "community": 52, "community_name": "Community 52", "source_file": "backend/app/schemas/member.py", "file_type": "code", "degree": 3}, {"id": "schemas_member_syncapply", "label": "SyncApply", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SyncApply", "community": 13, "community_name": "Community 13", "source_file": "backend/app/schemas/member.py", "file_type": "code", "degree": 5}, {"id": "schemas_member_syncapplyresponse", "label": "SyncApplyResponse", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "SyncApplyResponse", "community": 13, "community_name": "Community 13", "source_file": "backend/app/schemas/member.py", "file_type": "code", "degree": 7}, {"id": "schemas_post_postresponse", "label": "PostResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "PostResponse", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/post.py", "file_type": "code", "degree": 3}, {"id": "schemas_post_postupdate", "label": "PostUpdate", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "PostUpdate", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/post.py", "file_type": "code", "degree": 3}, {"id": "schemas_post_postconditionsupdate", "label": "PostConditionsUpdate", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "PostConditionsUpdate", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/post.py", "file_type": "code", "degree": 3}, {"id": "schemas_post_condition_postconditionresponse", "label": "PostConditionResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "PostConditionResponse", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/post_condition.py", "file_type": "code", "degree": 8}, {"id": "schemas_post_suggestions_postsuggestionapplyrequest", "label": "PostSuggestionApplyRequest", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "PostSuggestionApplyRequest", "community": 32, "community_name": "Community 32", "source_file": "backend/app/schemas/post_suggestions.py", "file_type": "code", "degree": 8}, {"id": "schemas_post_suggestions_staleentry", "label": "StaleEntry", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "StaleEntry", "community": 24, "community_name": "Community 24", "source_file": "backend/app/schemas/post_suggestions.py", "file_type": "code", "degree": 4}, {"id": "schemas_post_suggestions_rationale_1", "label": "Pydantic schemas for the Suggest Post Assignments feature. These schemas define", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Pydantic schemas for the Suggest Post Assignments feature. These schemas define", "community": 24, "community_name": "Community 24", "source_file": "backend/app/schemas/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "schemas_post_suggestions_rationale_13", "label": "A single post assignment suggestion produced by the greedy algorithm. Attri", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A single post assignment suggestion produced by the greedy algorithm. Attri", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "schemas_post_suggestions_rationale_66", "label": "The full preview result returned by POST /post-suggestions. Attributes:", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The full preview result returned by POST /post-suggestions. Attributes:", "community": 36, "community_name": "Community 36", "source_file": "backend/app/schemas/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "schemas_post_suggestions_rationale_80", "label": "Request body for POST /post-suggestions/apply. Attributes: apply_po", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Request body for POST /post-suggestions/apply. Attributes: apply_po", "community": 32, "community_name": "Community 32", "source_file": "backend/app/schemas/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "schemas_post_suggestions_rationale_92", "label": "A single stale-state violation detected during apply revalidation. Attribut", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A single stale-state violation detected during apply revalidation. Attribut", "community": 24, "community_name": "Community 24", "source_file": "backend/app/schemas/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "schemas_post_suggestions_rationale_117", "label": "Response body for a successful POST /post-suggestions/apply. Attributes:", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Response body for a successful POST /post-suggestions/apply. Attributes:", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "schemas_siege_siegecreate", "label": "SiegeCreate", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeCreate", "community": 16, "community_name": "Community 16", "source_file": "backend/app/schemas/siege.py", "file_type": "code", "degree": 3}, {"id": "schemas_siege_siegeupdate", "label": "SiegeUpdate", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeUpdate", "community": 16, "community_name": "Community 16", "source_file": "backend/app/schemas/siege.py", "file_type": "code", "degree": 3}, {"id": "schemas_siege_siegeresponse", "label": "SiegeResponse", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeResponse", "community": 16, "community_name": "Community 16", "source_file": "backend/app/schemas/siege.py", "file_type": "code", "degree": 3}, {"id": "schemas_siege_member_siegememberresponse", "label": "SiegeMemberResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeMemberResponse", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/siege_member.py", "file_type": "code", "degree": 4}, {"id": "schemas_siege_member_resolve_member_fields", "label": "resolve_member_fields()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "resolve_member_fields()", "community": 3, "community_name": "Community 3", "source_file": "backend/app/schemas/siege_member.py", "file_type": "code", "degree": 1}, {"id": "schemas_siege_member_siegememberupdate", "label": "SiegeMemberUpdate", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeMemberUpdate", "community": 8, "community_name": "Community 8", "source_file": "backend/app/schemas/siege_member.py", "file_type": "code", "degree": 4}, {"id": "schemas_version_versionresponse", "label": "VersionResponse", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "VersionResponse", "community": 40, "community_name": "Community 40", "source_file": "backend/app/schemas/version.py", "file_type": "code", "degree": 3}, {"id": "services_attack_day_build_preview", "label": "_build_preview()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_build_preview()", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/attack_day.py", "file_type": "code", "degree": 3}, {"id": "services_autofill_now_utc", "label": "_now_utc()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_now_utc()", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/autofill.py", "file_type": "code", "degree": 10}, {"id": "services_board_get_siege_for_position", "label": "_get_siege_for_position()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_siege_for_position()", "community": 8, "community_name": "Community 8", "source_file": "backend/app/services/board.py", "file_type": "code", "degree": 1}, {"id": "services_board_validate_position_state", "label": "_validate_position_state()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_validate_position_state()", "community": 39, "community_name": "Community 39", "source_file": "backend/app/services/board.py", "file_type": "code", "degree": 4}, {"id": "services_board_validate_member_active", "label": "_validate_member_active()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_validate_member_active()", "community": 8, "community_name": "Community 8", "source_file": "backend/app/services/board.py", "file_type": "code", "degree": 2}, {"id": "services_board_rationale_16", "label": "Return the full nested board structure for a siege. Raises 404 if the siege", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the full nested board structure for a siege. Raises 404 if the siege", "community": 8, "community_name": "Community 8", "source_file": "backend/app/services/board.py", "file_type": "rationale", "degree": 1}, {"id": "services_board_rationale_98", "label": "Validate the logical consistency of position flag combinations.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Validate the logical consistency of position flag combinations.", "community": 39, "community_name": "Community 39", "source_file": "backend/app/services/board.py", "file_type": "rationale", "degree": 1}, {"id": "services_board_rationale_123", "label": "Update a single position's assignment. Raises: 404 if position not", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Update a single position&#x27;s assignment. Raises: 404 if position not", "community": 39, "community_name": "Community 39", "source_file": "backend/app/services/board.py", "file_type": "rationale", "degree": 1}, {"id": "services_board_rationale_172", "label": "Apply multiple position updates in a single transaction. Each update dict m", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply multiple position updates in a single transaction. Each update dict m", "community": 39, "community_name": "Community 39", "source_file": "backend/app/services/board.py", "file_type": "rationale", "degree": 1}, {"id": "services_bot_client_botclient", "label": "BotClient", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "BotClient", "community": 61, "community_name": "Community 61", "source_file": "backend/app/services/bot_client.py", "file_type": "code", "degree": 14}, {"id": "services_bot_client_botclient_make_client", "label": "._make_client()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "._make_client()", "community": 61, "community_name": "Community 61", "source_file": "backend/app/services/bot_client.py", "file_type": "code", "degree": 4}, {"id": "services_bot_client_rationale_1", "label": "HTTP client for the Discord bot sidecar API.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "HTTP client for the Discord bot sidecar API.", "community": 61, "community_name": "Community 61", "source_file": "backend/app/services/bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "services_bot_client_rationale_19", "label": "Send DM via bot. Returns True on success, False on error.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Send DM via bot. Returns True on success, False on error.", "community": 61, "community_name": "Community 61", "source_file": "backend/app/services/bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "services_bot_client_rationale_32", "label": "Post text to channel. Returns True on success, False on error.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Post text to channel. Returns True on success, False on error.", "community": 37, "community_name": "Community 37", "source_file": "backend/app/services/bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "services_bot_client_rationale_45", "label": "Post image to channel. Returns the CDN URL on success, None on error.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Post image to channel. Returns the CDN URL on success, None on error.", "community": 37, "community_name": "Community 37", "source_file": "backend/app/services/bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "services_bot_client_rationale_72", "label": "Check guild membership via bot sidecar. Returns the member dict (includi", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Check guild membership via bot sidecar. Returns the member dict (includi", "community": 57, "community_name": "Community 57", "source_file": "backend/app/services/bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "services_buildings_rebuild_groups_for_level", "label": "_rebuild_groups_for_level()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_rebuild_groups_for_level()", "community": 45, "community_name": "Community 45", "source_file": "backend/app/services/buildings.py", "file_type": "code", "degree": 6}, {"id": "services_buildings_get_building_type_config", "label": "_get_building_type_config()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_building_type_config()", "community": 45, "community_name": "Community 45", "source_file": "backend/app/services/buildings.py", "file_type": "code", "degree": 5}, {"id": "services_buildings_require_planning_or_not_locked", "label": "_require_planning_or_not_locked()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_require_planning_or_not_locked()", "community": 45, "community_name": "Community 45", "source_file": "backend/app/services/buildings.py", "file_type": "code", "degree": 2}, {"id": "services_buildings_create_groups_and_positions", "label": "_create_groups_and_positions()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_create_groups_and_positions()", "community": 45, "community_name": "Community 45", "source_file": "backend/app/services/buildings.py", "file_type": "code", "degree": 4}, {"id": "services_buildings_rationale_23", "label": "Rebuild groups and positions so they match the level-appropriate configuration.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rebuild groups and positions so they match the level-appropriate configuration.", "community": 45, "community_name": "Community 45", "source_file": "backend/app/services/buildings.py", "file_type": "rationale", "degree": 1}, {"id": "services_buildings_rationale_142", "label": "Raise 400 if the siege is locked for layout changes.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Raise 400 if the siege is locked for layout changes.", "community": 45, "community_name": "Community 45", "source_file": "backend/app/services/buildings.py", "file_type": "rationale", "degree": 1}, {"id": "services_buildings_rationale_156", "label": "Auto-create BuildingGroups and Positions from config.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Auto-create BuildingGroups and Positions from config.", "community": 45, "community_name": "Community 45", "source_file": "backend/app/services/buildings.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_services_building_capacity_py", "label": "building_capacity.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "building_capacity.py", "community": 30, "community_name": "Community 30", "source_file": "backend/app/services/building_capacity.py", "file_type": "code", "degree": 1}, {"id": "services_building_capacity_get_team_count", "label": "get_team_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "get_team_count()", "community": 30, "community_name": "Community 30", "source_file": "backend/app/services/building_capacity.py", "file_type": "code", "degree": 4}, {"id": "services_building_capacity_rationale_14", "label": "Return the theoretical total team slots for a building type at a given level.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the theoretical total team slots for a building type at a given level.", "community": 30, "community_name": "Community 30", "source_file": "backend/app/services/building_capacity.py", "file_type": "rationale", "degree": 1}, {"id": "services_comparison_load_assignments", "label": "_load_assignments()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_load_assignments()", "community": 25, "community_name": "Community 25", "source_file": "backend/app/services/comparison.py", "file_type": "code", "degree": 4}, {"id": "services_comparison_load_member_names", "label": "_load_member_names()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_load_member_names()", "community": 25, "community_name": "Community 25", "source_file": "backend/app/services/comparison.py", "file_type": "code", "degree": 2}, {"id": "services_comparison_get_most_recent_completed", "label": "get_most_recent_completed()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "get_most_recent_completed()", "community": 25, "community_name": "Community 25", "source_file": "backend/app/services/comparison.py", "file_type": "code", "degree": 2}, {"id": "services_comparison_rationale_14", "label": "Return {member_id: [PositionKey, ...]} for non-reserve, non-disabled assigned po", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return {member_id: [PositionKey, ...]} for non-reserve, non-disabled assigned po", "community": 25, "community_name": "Community 25", "source_file": "backend/app/services/comparison.py", "file_type": "rationale", "degree": 1}, {"id": "services_discord_sync_rationale_1", "label": "Service logic for Discord guild member \u2192 clan member matching.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Service logic for Discord guild member \u2192 clan member matching.", "community": 13, "community_name": "Community 13", "source_file": "backend/app/services/discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "services_discord_sync_rationale_12", "label": "Return proposed matches between Discord guild members and clan members. Mat", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return proposed matches between Discord guild members and clan members. Mat", "community": 13, "community_name": "Community 13", "source_file": "backend/app/services/discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "services_discord_sync_rationale_153", "label": "Apply accepted sync matches, writing discord_username and discord_id. Unkno", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply accepted sync matches, writing discord_username and discord_id. Unkno", "community": 13, "community_name": "Community 13", "source_file": "backend/app/services/discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "backend_app_services_image_gen_py", "label": "image_gen.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "image_gen.py", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "code", "degree": 7}, {"id": "services_image_gen_siegememberwithname", "label": "SiegeMemberWithName", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeMemberWithName", "community": 34, "community_name": "Community 34", "source_file": "backend/app/services/image_gen.py", "file_type": "code", "degree": 11}, {"id": "services_image_gen_build_assignments_html", "label": "_build_assignments_html()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "_build_assignments_html()", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "code", "degree": 22}, {"id": "services_image_gen_build_reserves_html", "label": "_build_reserves_html()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_build_reserves_html()", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "code", "degree": 10}, {"id": "services_image_gen_render_html_to_png", "label": "_render_html_to_png()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_render_html_to_png()", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "code", "degree": 4}, {"id": "services_image_gen_generate_assignments_image", "label": "generate_assignments_image()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "generate_assignments_image()", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "code", "degree": 5}, {"id": "services_image_gen_generate_reserves_image", "label": "generate_reserves_image()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "generate_reserves_image()", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "code", "degree": 5}, {"id": "services_image_gen_rationale_1", "label": "Image generation service \u2014 renders HTML/CSS to PNG via Playwright.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Image generation service \u2014 renders HTML/CSS to PNG via Playwright.", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "services_image_gen_rationale_66", "label": "Build the full assignments board HTML string. Args: board: Validate", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build the full assignments board HTML string. Args: board: Validate", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "services_image_gen_rationale_237", "label": "Build the reserves/members list HTML string. Args: members: Siege m", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build the reserves/members list HTML string. Args: members: Siege m", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "services_image_gen_rationale_332", "label": "Render an HTML string to PNG bytes using headless Chromium.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Render an HTML string to PNG bytes using headless Chromium.", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "services_image_gen_rationale_355", "label": "Render the assignments board as a PNG. Returns raw PNG bytes.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Render the assignments board as a PNG. Returns raw PNG bytes.", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "services_image_gen_rationale_364", "label": "Render the members/reserves list as a PNG. Returns raw PNG bytes.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Render the members/reserves list as a PNG. Returns raw PNG bytes.", "community": 2, "community_name": "Community 2", "source_file": "backend/app/services/image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "services_lifecycle_rationale_18", "label": "Transition a planning siege to active status. Raises: 404 if siege", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Transition a planning siege to active status. Raises: 404 if siege", "community": 3, "community_name": "Community 3", "source_file": "backend/app/services/lifecycle.py", "file_type": "rationale", "degree": 1}, {"id": "services_lifecycle_rationale_62", "label": "Transition an active siege to complete status. Raises: 404 if siege", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Transition an active siege to complete status. Raises: 404 if siege", "community": 3, "community_name": "Community 3", "source_file": "backend/app/services/lifecycle.py", "file_type": "rationale", "degree": 1}, {"id": "services_lifecycle_rationale_86", "label": "Transition a completed siege back to planning status. Raises: 404 i", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Transition a completed siege back to planning status. Raises: 404 i", "community": 3, "community_name": "Community 3", "source_file": "backend/app/services/lifecycle.py", "file_type": "rationale", "degree": 1}, {"id": "services_lifecycle_rationale_110", "label": "Deep-copy a siege into a new planning siege. Rules: - New siege: same d", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Deep-copy a siege into a new planning siege. Rules: - New siege: same d", "community": 3, "community_name": "Community 3", "source_file": "backend/app/services/lifecycle.py", "file_type": "rationale", "degree": 1}, {"id": "services_members_deactivate_member", "label": "deactivate_member()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "deactivate_member()", "community": 57, "community_name": "Community 57", "source_file": "backend/app/services/members.py", "file_type": "code", "degree": 2}, {"id": "backend_app_services_notification_message_py", "label": "notification_message.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "notification_message.py", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "code", "degree": 8}, {"id": "services_notification_message_positioninfo", "label": "PositionInfo", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "PositionInfo", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "code", "degree": 10}, {"id": "services_notification_message_position_sort_key", "label": "_position_sort_key()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_position_sort_key()", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "code", "degree": 2}, {"id": "services_notification_message_position_label", "label": "_position_label()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_position_label()", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "code", "degree": 3}, {"id": "services_notification_message_positions_to_key_set", "label": "_positions_to_key_set()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_positions_to_key_set()", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "code", "degree": 3}, {"id": "services_notification_message_positions_from_keys", "label": "_positions_from_keys()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_positions_from_keys()", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "code", "degree": 3}, {"id": "services_notification_message_build_section", "label": "_build_section()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_build_section()", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "code", "degree": 4}, {"id": "services_notification_message_build_member_notification_message", "label": "build_member_notification_message()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "build_member_notification_message()", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "code", "degree": 27}, {"id": "services_notification_message_rationale_1", "label": "Build rich per-member Discord DM messages for siege assignment notifications.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build rich per-member Discord DM messages for siege assignment notifications.", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "services_notification_message_rationale_61", "label": "Minimal description of a single assigned position.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Minimal description of a single assigned position.", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "services_notification_message_rationale_75", "label": "Return a sortable tuple for consistent ordering within a section. Sorts by:", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a sortable tuple for consistent ordering within a section. Sorts by:", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "services_notification_message_rationale_85", "label": "Format a human-readable label for a position. Posts always use the short ``", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Format a human-readable label for a position. Posts always use the short ``", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "services_notification_message_rationale_111", "label": "Convert a list of PositionInfo objects to a set of comparable tuples.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Convert a list of PositionInfo objects to a set of comparable tuples.", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "services_notification_message_rationale_118", "label": "Filter ``positions`` to those whose key is in ``keys``, preserving PositionInfo", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Filter ``positions`` to those whose key is in ``keys``, preserving PositionInfo", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "services_notification_message_rationale_131", "label": "Render one diff section as a header line followed by plain position lines.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Render one diff section as a header line followed by plain position lines.", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "services_notification_message_rationale_161", "label": "Build a rich Discord DM message for a single siege member. Args: si", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build a rich Discord DM message for a single siege member. Args: si", "community": 4, "community_name": "Community 4", "source_file": "backend/app/services/notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "services_posts_get_siege_or_404", "label": "_get_siege_or_404()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_siege_or_404()", "community": 39, "community_name": "Community 39", "source_file": "backend/app/services/posts.py", "file_type": "code", "degree": 4}, {"id": "services_posts_get_post_for_siege_or_404", "label": "_get_post_for_siege_or_404()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_post_for_siege_or_404()", "community": 39, "community_name": "Community 39", "source_file": "backend/app/services/posts.py", "file_type": "code", "degree": 3}, {"id": "services_posts_rationale_37", "label": "Return all Post records for a siege with active_conditions loaded. Raises:", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return all Post records for a siege with active_conditions loaded. Raises:", "community": 39, "community_name": "Community 39", "source_file": "backend/app/services/posts.py", "file_type": "rationale", "degree": 1}, {"id": "services_posts_rationale_55", "label": "Update a post's priority and/or description. Raises: 404 if post no", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Update a post&#x27;s priority and/or description. Raises: 404 if post no", "community": 39, "community_name": "Community 39", "source_file": "backend/app/services/posts.py", "file_type": "rationale", "degree": 1}, {"id": "services_posts_rationale_79", "label": "Replace all active conditions on a post. Raises: 404 if post not fo", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Replace all active conditions on a post. Raises: 404 if post not fo", "community": 39, "community_name": "Community 39", "source_file": "backend/app/services/posts.py", "file_type": "rationale", "degree": 1}, {"id": "services_post_suggestions_get_target_position", "label": "_get_target_position()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_target_position()", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/post_suggestions.py", "file_type": "code", "degree": 3}, {"id": "services_post_suggestions_null_entry", "label": "_null_entry()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_null_entry()", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/post_suggestions.py", "file_type": "code", "degree": 3}, {"id": "services_post_suggestions_rationale_1", "label": "Service implementing the Suggest Post Assignments feature. Public API: prev", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Service implementing the Suggest Post Assignments feature. Public API: prev", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "services_post_suggestions_rationale_71", "label": "Return the current UTC datetime (naive, matching DB TIMESTAMP columns).", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the current UTC datetime (naive, matching DB TIMESTAMP columns).", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "services_post_suggestions_rationale_79", "label": "Generate a greedy post assignment suggestion and persist it as a preview. T", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Generate a greedy post assignment suggestion and persist it as a preview. T", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "services_post_suggestions_rationale_340", "label": "Apply a subset of a stored post-suggestion preview atomically. The whole se", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply a subset of a stored post-suggestion preview atomically. The whole se", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "services_post_suggestions_rationale_518", "label": "Return the single target position from a post building, or None. Posts have", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the single target position from a post building, or None. Posts have", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "services_post_suggestions_rationale_546", "label": "Build a PostSuggestionEntry with no suggestion (skipped post). Args:", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build a PostSuggestionEntry with no suggestion (skipped post). Args:", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "services_post_suggestions_rationale_418", "label": "# NOTE: _validate_position_state() from bulk_update_positions is NOT", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "# NOTE: _validate_position_state() from bulk_update_positions is NOT", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "services_post_suggestions_rationale_489", "label": "# NOTE: session.refresh(pos) is not called post-write because the apply", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "# NOTE: session.refresh(pos) is not called post-write because the apply", "community": 24, "community_name": "Community 24", "source_file": "backend/app/services/post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "services_sieges_scrolls_per_player", "label": "scrolls_per_player()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "scrolls_per_player()", "community": 42, "community_name": "Community 42", "source_file": "backend/app/services/sieges.py", "file_type": "code", "degree": 4}, {"id": "services_sieges_compute_scroll_count", "label": "compute_scroll_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "compute_scroll_count()", "community": 30, "community_name": "Community 30", "source_file": "backend/app/services/sieges.py", "file_type": "code", "degree": 9}, {"id": "services_sieges_rationale_20", "label": "Return the per-player scroll limit for a siege. Matches the UI formula: 4 s", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the per-player scroll limit for a siege. Matches the UI formula: 4 s", "community": 42, "community_name": "Community 42", "source_file": "backend/app/services/sieges.py", "file_type": "rationale", "degree": 1}, {"id": "services_sieges_rationale_29", "label": "Compute total scroll count from the theoretical capacity of every building.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Compute total scroll count from the theoretical capacity of every building.", "community": 30, "community_name": "Community 30", "source_file": "backend/app/services/sieges.py", "file_type": "rationale", "degree": 1}, {"id": "backend_scripts_seed_py", "label": "seed.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "seed.py", "community": 5, "community_name": "Community 5", "source_file": "backend/scripts/seed.py", "file_type": "code", "degree": 1}, {"id": "backend_scripts_seed_demo_py", "label": "seed_demo.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "seed_demo.py", "community": 5, "community_name": "Community 5", "source_file": "backend/scripts/seed_demo.py", "file_type": "code", "degree": 6}, {"id": "scripts_seed_demo_get_or_create_members", "label": "get_or_create_members()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "get_or_create_members()", "community": 21, "community_name": "Community 21", "source_file": "backend/scripts/seed_demo.py", "file_type": "code", "degree": 8}, {"id": "scripts_seed_demo_get_or_create_demo_siege", "label": "get_or_create_demo_siege()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "get_or_create_demo_siege()", "community": 5, "community_name": "Community 5", "source_file": "backend/scripts/seed_demo.py", "file_type": "code", "degree": 4}, {"id": "scripts_seed_demo_seed_buildings_and_positions", "label": "seed_buildings_and_positions()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "seed_buildings_and_positions()", "community": 5, "community_name": "Community 5", "source_file": "backend/scripts/seed_demo.py", "file_type": "code", "degree": 5}, {"id": "scripts_seed_demo_get_or_create_second_siege", "label": "get_or_create_second_siege()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "get_or_create_second_siege()", "community": 5, "community_name": "Community 5", "source_file": "backend/scripts/seed_demo.py", "file_type": "code", "degree": 3}, {"id": "scripts_seed_demo_seed_siege_members", "label": "seed_siege_members()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "seed_siege_members()", "community": 5, "community_name": "Community 5", "source_file": "backend/scripts/seed_demo.py", "file_type": "code", "degree": 4}, {"id": "scripts_seed_demo_rationale_96", "label": "Return existing demo members or create them.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return existing demo members or create them.", "community": 21, "community_name": "Community 21", "source_file": "backend/scripts/seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_seed_demo_rationale_115", "label": "Return the existing demo siege or create a new one.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the existing demo siege or create a new one.", "community": 5, "community_name": "Community 5", "source_file": "backend/scripts/seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_seed_demo_rationale_139", "label": "Create buildings, groups, and positions; assign members round-robin. member", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Create buildings, groups, and positions; assign members round-robin. member", "community": 5, "community_name": "Community 5", "source_file": "backend/scripts/seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_seed_demo_rationale_204", "label": "Return the existing planning siege or create one one week after the first.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the existing planning siege or create one one week after the first.", "community": 5, "community_name": "Community 5", "source_file": "backend/scripts/seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_seed_demo_rationale_225", "label": "Enrol members in the siege with attack day assignments.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Enrol members in the siege with attack day assignments.", "community": 5, "community_name": "Community 5", "source_file": "backend/scripts/seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "tests_conftest_disable_auth_for_tests", "label": "disable_auth_for_tests()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "disable_auth_for_tests()", "community": 51, "community_name": "Community 51", "source_file": "backend/tests/conftest.py", "file_type": "code", "degree": 2}, {"id": "tests_conftest_rationale_1", "label": "Shared pytest configuration for backend tests. Sets required environment variab", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Shared pytest configuration for backend tests. Sets required environment variab", "community": 51, "community_name": "Community 51", "source_file": "backend/tests/conftest.py", "file_type": "rationale", "degree": 1}, {"id": "tests_conftest_rationale_31", "label": "Bypass auth middleware for all tests by default. Individual tests that exer", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Bypass auth middleware for all tests by default. Individual tests that exer", "community": 51, "community_name": "Community 51", "source_file": "backend/tests/conftest.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_attack_day_py", "label": "test_attack_day.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "test_attack_day.py", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 17}, {"id": "tests_test_attack_day_test_preview_attack_day_endpoint_200", "label": "test_preview_attack_day_endpoint_200()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_attack_day_endpoint_200()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 1}, {"id": "tests_test_attack_day_test_apply_attack_day_endpoint_200", "label": "test_apply_attack_day_endpoint_200()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_attack_day_endpoint_200()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 1}, {"id": "tests_test_attack_day_session_for_siege", "label": "_session_for_siege()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_session_for_siege()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 7}, {"id": "tests_test_attack_day_test_heavy_hitters_and_advanced_always_day2", "label": "test_heavy_hitters_and_advanced_always_day2()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_heavy_hitters_and_advanced_always_day2()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 6}, {"id": "tests_test_attack_day_test_medium_promoted_when_under_10", "label": "test_medium_promoted_when_under_10()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_medium_promoted_when_under_10()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 6}, {"id": "tests_test_attack_day_test_novice_promoted_when_still_under_10", "label": "test_novice_promoted_when_still_under_10()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_novice_promoted_when_still_under_10()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 6}, {"id": "tests_test_attack_day_test_pinned_members_count_toward_threshold", "label": "test_pinned_members_count_toward_threshold()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_pinned_members_count_toward_threshold()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 6}, {"id": "tests_test_attack_day_test_overridden_members_not_changed", "label": "test_overridden_members_not_changed()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_overridden_members_not_changed()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 5}, {"id": "tests_test_attack_day_test_boundary_at_exactly_10", "label": "test_boundary_at_exactly_10()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_boundary_at_exactly_10()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 6}, {"id": "tests_test_attack_day_test_apply_attack_day_commits", "label": "test_apply_attack_day_commits()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_attack_day_commits()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 4}, {"id": "tests_test_attack_day_test_apply_attack_day_409_no_preview", "label": "test_apply_attack_day_409_no_preview()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_attack_day_409_no_preview()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 3}, {"id": "tests_test_attack_day_test_apply_attack_day_409_expired", "label": "test_apply_attack_day_409_expired()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_attack_day_409_expired()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "code", "degree": 3}, {"id": "tests_test_attack_day_rationale_1", "label": "Tests for the attack day auto-assign algorithm.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the attack day auto-assign algorithm.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_attack_day_rationale_114", "label": "Heavy hitters and advanced always get Day 2 regardless of threshold.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Heavy hitters and advanced always get Day 2 regardless of threshold.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_attack_day_rationale_130", "label": "Medium members are promoted to Day 2 (by power desc) when count < 10.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Medium members are promoted to Day 2 (by power desc) when count &lt; 10.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_attack_day_rationale_153", "label": "Novice promoted by power desc after medium if still < 10.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Novice promoted by power desc after medium if still &lt; 10.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_attack_day_rationale_183", "label": "Overridden Day 2 members count toward the 10-threshold.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Overridden Day 2 members count toward the 10-threshold.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_attack_day_rationale_212", "label": "attack_day_override=True members keep their existing attack_day.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "attack_day_override=True members keep their existing attack_day.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_attack_day_rationale_228", "label": "Exactly 10 HH/ADV \u2192 all remaining go to Day 1.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Exactly 10 HH/ADV \u2192 all remaining go to Day 1.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_attack_day_rationale_246", "label": "Apply reads stored preview and updates siege_member attack_day values.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply reads stored preview and updates siege_member attack_day values.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_attack_day_rationale_277", "label": "Returns 409 when no preview exists.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns 409 when no preview exists.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_attack_day_rationale_300", "label": "Returns 409 when preview has expired.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns 409 when preview has expired.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_attack_day.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_auth_py", "label": "test_auth.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 17.5, "font": {"size": 12, "color": "#ffffff"}, "title": "test_auth.py", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 31}, {"id": "tests_test_auth_make_jwt", "label": "_make_jwt()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_jwt()", "community": 55, "community_name": "Community 55", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 10}, {"id": "tests_test_auth_make_expired_jwt", "label": "_make_expired_jwt()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_expired_jwt()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_make_member", "label": "_make_member()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 32.3, "font": {"size": 12, "color": "#ffffff"}, "title": "_make_member()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 92}, {"id": "tests_test_auth_make_mock_db", "label": "_make_mock_db()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_mock_db()", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 14}, {"id": "tests_test_auth_test_auth_disabled_allows_access", "label": "test_auth_disabled_allows_access()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_auth_disabled_allows_access()", "community": 82, "community_name": "Community 82", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_test_valid_service_token_allows_access", "label": "test_valid_service_token_allows_access()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_valid_service_token_allows_access()", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_test_invalid_service_token_returns_401", "label": "test_invalid_service_token_returns_401()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_invalid_service_token_returns_401()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_valid_jwt_cookie_allows_access", "label": "test_valid_jwt_cookie_allows_access()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_valid_jwt_cookie_allows_access()", "community": 55, "community_name": "Community 55", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 5}, {"id": "tests_test_auth_test_expired_jwt_returns_401", "label": "test_expired_jwt_returns_401()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_expired_jwt_returns_401()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_test_jwt_with_wrong_secret_returns_401", "label": "test_jwt_with_wrong_secret_returns_401()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_jwt_with_wrong_secret_returns_401()", "community": 55, "community_name": "Community 55", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_test_jwt_with_deleted_member_returns_401", "label": "test_jwt_with_deleted_member_returns_401()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_jwt_with_deleted_member_returns_401()", "community": 55, "community_name": "Community 55", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 4}, {"id": "tests_test_auth_test_no_auth_returns_401", "label": "test_no_auth_returns_401()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_no_auth_returns_401()", "community": 84, "community_name": "Community 84", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_health_no_auth_required", "label": "test_health_no_auth_required()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_health_no_auth_required()", "community": 78, "community_name": "Community 78", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_version_no_auth_required", "label": "test_version_no_auth_required()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_version_no_auth_required()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_login_returns_discord_url_and_state_cookie", "label": "test_login_returns_discord_url_and_state_cookie()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_login_returns_discord_url_and_state_cookie()", "community": 83, "community_name": "Community 83", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_callback_invalid_state_redirects", "label": "test_callback_invalid_state_redirects()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_callback_invalid_state_redirects()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_callback_happy_path", "label": "test_callback_happy_path()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_callback_happy_path()", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 4}, {"id": "tests_test_auth_test_callback_not_in_guild_redirects", "label": "test_callback_not_in_guild_redirects()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_callback_not_in_guild_redirects()", "community": 79, "community_name": "Community 79", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_callback_insufficient_role_redirects", "label": "test_callback_insufficient_role_redirects()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_callback_insufficient_role_redirects()", "community": 77, "community_name": "Community 77", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_callback_insufficient_role_missing_role_names_key_redirects", "label": "test_callback_insufficient_role_missing_role_names_key_redirects()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_callback_insufficient_role_missing_role_names_key_redirects()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_callback_with_required_role_proceeds_to_member_lookup", "label": "test_callback_with_required_role_proceeds_to_member_lookup()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_callback_with_required_role_proceeds_to_member_lookup()", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 4}, {"id": "tests_test_auth_test_callback_bot_unreachable_redirects_service_unavailable", "label": "test_callback_bot_unreachable_redirects_service_unavailable()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_callback_bot_unreachable_redirects_service_unavailable()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_callback_no_member_record_redirects", "label": "test_callback_no_member_record_redirects()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_callback_no_member_record_redirects()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_logout_clears_session_cookie", "label": "test_logout_clears_session_cookie()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_logout_clears_session_cookie()", "community": 80, "community_name": "Community 80", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_me_with_valid_session", "label": "test_me_with_valid_session()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_me_with_valid_session()", "community": 55, "community_name": "Community 55", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 5}, {"id": "tests_test_auth_test_me_without_auth_returns_401", "label": "test_me_without_auth_returns_401()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_me_without_auth_returns_401()", "community": 81, "community_name": "Community 81", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_teststartupvalidation", "label": "TestStartupValidation", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestStartupValidation", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_test_startup_rejects_empty_session_secret", "label": "test_startup_rejects_empty_session_secret()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_startup_rejects_empty_session_secret()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 1}, {"id": "tests_test_auth_test_startup_rejects_missing_bot_service_token_in_production", "label": "test_startup_rejects_missing_bot_service_token_in_production()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_startup_rejects_missing_bot_service_token_in_production()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 1}, {"id": "tests_test_auth_test_startup_allows_empty_bot_service_token_in_development", "label": "test_startup_allows_empty_bot_service_token_in_development()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_startup_allows_empty_bot_service_token_in_development()", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "code", "degree": 1}, {"id": "tests_test_auth_rationale_1", "label": "Tests for Discord OAuth2 auth middleware and endpoints.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for Discord OAuth2 auth middleware and endpoints.", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_71", "label": "Return an AsyncMock session whose db.get() returns `member`.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return an AsyncMock session whose db.get() returns `member`.", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_93", "label": "AUTH_DISABLED=true + ENVIRONMENT=development bypasses auth entirely.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AUTH_DISABLED=true + ENVIRONMENT=development bypasses auth entirely.", "community": 82, "community_name": "Community 82", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_118", "label": "A correct Bearer token grants access as the bot-service principal.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A correct Bearer token grants access as the bot-service principal.", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_146", "label": "A wrong Bearer token is rejected with 401.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A wrong Bearer token is rejected with 401.", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_168", "label": "A valid JWT session cookie with an existing member grants access.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A valid JWT session cookie with an existing member grants access.", "community": 55, "community_name": "Community 55", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_197", "label": "An expired JWT cookie is rejected with 401.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "An expired JWT cookie is rejected with 401.", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_219", "label": "A JWT signed with a different secret is rejected with 401.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A JWT signed with a different secret is rejected with 401.", "community": 55, "community_name": "Community 55", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_242", "label": "A valid JWT whose member no longer exists in the DB returns 401.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A valid JWT whose member no longer exists in the DB returns 401.", "community": 55, "community_name": "Community 55", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_267", "label": "No credentials at all \u2192 401.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "No credentials at all \u2192 401.", "community": 84, "community_name": "Community 84", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_287", "label": "/api/health is accessible without any credentials.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "/api/health is accessible without any credentials.", "community": 78, "community_name": "Community 78", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_306", "label": "/api/version is accessible without any credentials.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "/api/version is accessible without any credentials.", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_324", "label": "GET /api/auth/login returns a Discord authorization URL and sets a state cookie.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GET /api/auth/login returns a Discord authorization URL and sets a state cookie.", "community": 83, "community_name": "Community 83", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_344", "label": "Mismatched OAuth state redirects to /login?error=invalid_state.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Mismatched OAuth state redirects to /login?error=invalid_state.", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_362", "label": "Full valid callback flow issues a session cookie and redirects to /.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Full valid callback flow issues a session cookie and redirects to /.", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_413", "label": "User not in the guild redirects to /login?error=unauthorized.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "User not in the guild redirects to /login?error=unauthorized.", "community": 79, "community_name": "Community 79", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_446", "label": "Guild member without required Discord role redirects to /login?error=insuffi", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Guild member without required Discord role redirects to /login?error=insuffi", "community": 77, "community_name": "Community 77", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_482", "label": "Guild member response without role_names key is treated as no roles (rejected).", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Guild member response without role_names key is treated as no roles (rejected).", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_517", "label": "Guild member WITH the required role passes the role check and proceeds normally.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Guild member WITH the required role passes the role check and proceeds normally.", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_568", "label": "Bot sidecar connection error redirects to /login?error=service_unavailable.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Bot sidecar connection error redirects to /login?error=service_unavailable.", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_601", "label": "Guild member whose discord_id isn't in the DB redirects to /login?error=unauthor", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Guild member whose discord_id isn&#x27;t in the DB redirects to /login?error=unauthor", "community": 33, "community_name": "Community 33", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_648", "label": "POST /api/auth/logout clears the session cookie.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "POST /api/auth/logout clears the session cookie.", "community": 80, "community_name": "Community 80", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_661", "label": "GET /api/auth/me returns member info when authenticated via session cookie.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GET /api/auth/me returns member info when authenticated via session cookie.", "community": 55, "community_name": "Community 55", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_693", "label": "GET /api/auth/me without credentials returns 401.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GET /api/auth/me without credentials returns 401.", "community": 81, "community_name": "Community 81", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rationale_720", "label": "Startup rejects empty SESSION_SECRET when auth is enabled.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Startup rejects empty SESSION_SECRET when auth is enabled.", "community": 101, "community_name": "Community 101", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_auth_rationale_731", "label": "Startup rejects missing BOT_SERVICE_TOKEN in non-dev environments.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Startup rejects missing BOT_SERVICE_TOKEN in non-dev environments.", "community": 102, "community_name": "Community 102", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_auth_rationale_743", "label": "Development environment allows empty BOT_SERVICE_TOKEN.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Development environment allows empty BOT_SERVICE_TOKEN.", "community": 103, "community_name": "Community 103", "source_file": "backend/tests/test_auth.py", "file_type": "rationale", "degree": 0}, {"id": "backend_tests_test_auth_rate_limit_py", "label": "test_auth_rate_limit.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 14.6, "font": {"size": 12, "color": "#ffffff"}, "title": "test_auth_rate_limit.py", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 19}, {"id": "tests_test_auth_rate_limit_reset_rate_limit_state", "label": "reset_rate_limit_state()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "reset_rate_limit_state()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_rate_limit_get", "label": "_get()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "_get()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 15}, {"id": "tests_test_auth_rate_limit_test_login_rate_limit_triggers_429", "label": "test_login_rate_limit_triggers_429()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_login_rate_limit_triggers_429()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_login_rate_limit_independent_per_ip", "label": "test_login_rate_limit_independent_per_ip()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_login_rate_limit_independent_per_ip()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_callback_rate_limit_triggers_429", "label": "test_callback_rate_limit_triggers_429()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_callback_rate_limit_triggers_429()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_rate_limit_test_login_no_429_when_auth_disabled", "label": "test_login_no_429_when_auth_disabled()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_login_no_429_when_auth_disabled()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_callback_no_429_when_auth_disabled", "label": "test_callback_no_429_when_auth_disabled()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_callback_no_429_when_auth_disabled()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_rate_limit_test_xff_pathological_header_parses_to_leftmost_ip", "label": "test_xff_pathological_header_parses_to_leftmost_ip()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_xff_pathological_header_parses_to_leftmost_ip()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_garbage_xff_falls_back_to_remote_address_bucket", "label": "test_garbage_xff_falls_back_to_remote_address_bucket()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_garbage_xff_falls_back_to_remote_address_bucket()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_different_garbage_xff_values_share_remote_address_bucket", "label": "test_different_garbage_xff_values_share_remote_address_bucket()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_different_garbage_xff_values_share_remote_address_bucket()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_valid_xff_still_buckets_by_ip", "label": "test_valid_xff_still_buckets_by_ip()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_valid_xff_still_buckets_by_ip()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_429_response_includes_retry_after_header", "label": "test_429_response_includes_retry_after_header()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_429_response_includes_retry_after_header()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_missing_xff_in_production_logs_warning", "label": "test_missing_xff_in_production_logs_warning()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_missing_xff_in_production_logs_warning()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_missing_xff_in_development_does_not_log_warning", "label": "test_missing_xff_in_development_does_not_log_warning()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_missing_xff_in_development_does_not_log_warning()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_concurrent_absent_xff_in_production_warns_exactly_once", "label": "test_concurrent_absent_xff_in_production_warns_exactly_once()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_concurrent_absent_xff_in_production_warns_exactly_once()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 2}, {"id": "tests_test_auth_rate_limit_test_invalid_xff_in_production_logs_warning", "label": "test_invalid_xff_in_production_logs_warning()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_invalid_xff_in_production_logs_warning()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_invalid_xff_in_development_does_not_log_warning", "label": "test_invalid_xff_in_development_does_not_log_warning()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_invalid_xff_in_development_does_not_log_warning()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_test_invalid_xff_warning_is_throttled_to_once_per_window", "label": "test_invalid_xff_warning_is_throttled_to_once_per_window()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_invalid_xff_warning_is_throttled_to_once_per_window()", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "code", "degree": 3}, {"id": "tests_test_auth_rate_limit_rationale_1", "label": "Tests for rate limiting on the Discord OAuth2 auth endpoints. Covers: - /api/au", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for rate limiting on the Discord OAuth2 auth endpoints. Covers: - /api/au", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_50", "label": "Reset per-test rate-limit state before each test. Resets module-level state", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Reset per-test rate-limit state before each test. Resets module-level state", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_90", "label": "Send a GET and return the status code.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Send a GET and return the status code.", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_101", "label": "3rd rapid request to /api/auth/login returns 429 when limit is 2/minute. Th", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "3rd rapid request to /api/auth/login returns 429 when limit is 2/minute. Th", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_125", "label": "Two different X-Forwarded-For IPs have independent rate-limit buckets.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Two different X-Forwarded-For IPs have independent rate-limit buckets.", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_151", "label": "3rd rapid request to /api/auth/callback returns 429 when limit is 2/minute.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "3rd rapid request to /api/auth/callback returns 429 when limit is 2/minute.", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_195", "label": "When AUTH_DISABLED=true, 50 rapid requests to /login never return 429.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "When AUTH_DISABLED=true, 50 rapid requests to /login never return 429.", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 2}, {"id": "tests_test_auth_rate_limit_rationale_237", "label": "Pathologically long X-Forwarded-For header is handled without error. Constr", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Pathologically long X-Forwarded-For header is handled without error. Constr", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_272", "label": "Garbage XFF value falls back to the ASGI remote-address bucket. Sending ``X", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Garbage XFF value falls back to the ASGI remote-address bucket. Sending ``X", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_302", "label": "Different garbage XFF strings all resolve to the same remote-address bucket.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Different garbage XFF strings all resolve to the same remote-address bucket.", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_332", "label": "Valid XFF IP values are still used as the bucket key (regression guard). En", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Valid XFF IP values are still used as the bucket key (regression guard). En", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_362", "label": "A 429 response must include a Retry-After header with a positive integer. V", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A 429 response must include a Retry-After header with a positive integer. V", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_406", "label": "XFF absent in production causes the absent-XFF warning branch to execute. A", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "XFF absent in production causes the absent-XFF warning branch to execute. A", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_435", "label": "XFF absent in development must NOT emit the production trust-model warning.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "XFF absent in development must NOT emit the production trust-model warning.", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_465", "label": "Concurrent no-XFF requests in production advance the absent-XFF timestamp once.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Concurrent no-XFF requests in production advance the absent-XFF timestamp once.", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_535", "label": "Invalid XFF in production causes the invalid-XFF warning branch to execute.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Invalid XFF in production causes the invalid-XFF warning branch to execute.", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_567", "label": "Invalid X-Forwarded-For in development must NOT emit a warning. Direct / to", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Invalid X-Forwarded-For in development must NOT emit a warning. Direct / to", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_auth_rate_limit_rationale_598", "label": "Rapid invalid-XFF requests in production advance the timestamp exactly once.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rapid invalid-XFF requests in production advance the timestamp exactly once.", "community": 19, "community_name": "Community 19", "source_file": "backend/tests/test_auth_rate_limit.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_autofill_py", "label": "test_autofill.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.8, "font": {"size": 12, "color": "#ffffff"}, "title": "test_autofill.py", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 20}, {"id": "tests_test_autofill_make_group", "label": "_make_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 24.5, "font": {"size": 12, "color": "#ffffff"}, "title": "_make_group()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 60}, {"id": "tests_test_autofill_make_sm", "label": "_make_sm()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_sm()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 12}, {"id": "tests_test_autofill_test_preview_endpoint_returns_200", "label": "test_preview_endpoint_returns_200()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_endpoint_returns_200()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 3}, {"id": "tests_test_autofill_test_apply_endpoint_returns_200", "label": "test_apply_endpoint_returns_200()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_endpoint_returns_200()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 3}, {"id": "tests_test_autofill_test_preview_respects_scroll_count", "label": "test_preview_respects_scroll_count()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_respects_scroll_count()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 9}, {"id": "tests_test_autofill_test_preview_marks_leftover_as_reserve", "label": "test_preview_marks_leftover_as_reserve()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_marks_leftover_as_reserve()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 9}, {"id": "tests_test_autofill_test_apply_commits_preview", "label": "test_apply_commits_preview()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_commits_preview()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 4}, {"id": "tests_test_autofill_test_apply_returns_409_when_no_preview", "label": "test_apply_returns_409_when_no_preview()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_returns_409_when_no_preview()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 3}, {"id": "tests_test_autofill_test_apply_returns_409_when_preview_expired", "label": "test_apply_returns_409_when_preview_expired()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_returns_409_when_preview_expired()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 3}, {"id": "tests_test_autofill_test_preview_skips_broken_building_positions", "label": "test_preview_skips_broken_building_positions()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_skips_broken_building_positions()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 9}, {"id": "tests_test_autofill_enable_sqlite_fk_autofill", "label": "_enable_sqlite_fk_autofill()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_enable_sqlite_fk_autofill()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 1}, {"id": "tests_test_autofill_test_apply_autofill_skips_broken_building_positions", "label": "test_apply_autofill_skips_broken_building_positions()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_autofill_skips_broken_building_positions()", "community": 76, "community_name": "Community 76", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 3}, {"id": "tests_test_autofill_make_session_for_preview", "label": "_make_session_for_preview()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_session_for_preview()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "code", "degree": 5}, {"id": "tests_test_autofill_rationale_1", "label": "Tests for auto-fill preview and apply.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for auto-fill preview and apply.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_autofill_rationale_149", "label": "With 3 members, 10 positions, and <90 total positions, limit=3. All 10 posi", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "With 3 members, 10 positions, and &lt;90 total positions, limit=3. All 10 posi", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_autofill_rationale_183", "label": "With 1 member, 5 positions, and position_count=5 (<90), limit=3. The member", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "With 1 member, 5 positions, and position_count=5 (&lt;90), limit=3. The member", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_autofill_rationale_213", "label": "Apply reads the stored preview and updates positions.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply reads the stored preview and updates positions.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_autofill_rationale_252", "label": "Apply returns 409 when no preview exists.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply returns 409 when no preview exists.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_autofill_rationale_274", "label": "Apply returns 409 when preview has expired.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply returns 409 when preview has expired.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_autofill_rationale_300", "label": "Broken building positions are excluded from autofill (issue #94). Siege has", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Broken building positions are excluded from autofill (issue #94). Siege has", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_autofill_rationale_368", "label": "apply_autofill must not assign members to positions on broken buildings. Th", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "apply_autofill must not assign members to positions on broken buildings. Th", "community": 76, "community_name": "Community 76", "source_file": "backend/tests/test_autofill.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_autofill_rationale_467", "label": "Return a mock AsyncSession that handles the two execute calls in preview_autofil", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a mock AsyncSession that handles the two execute calls in preview_autofil", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_autofill.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_board_py", "label": "test_board.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_board.py", "community": 62, "community_name": "Community 62", "source_file": "backend/tests/test_board.py", "file_type": "code", "degree": 7}, {"id": "tests_test_board_make_position", "label": "_make_position()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 30.6, "font": {"size": 12, "color": "#ffffff"}, "title": "_make_position()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_board.py", "file_type": "code", "degree": 85}, {"id": "tests_test_board_client", "label": "client()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 13.9, "font": {"size": 0, "color": "#ffffff"}, "title": "client()", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_board.py", "file_type": "code", "degree": 16}, {"id": "tests_test_board_test_get_board_returns_nested_structure", "label": "test_get_board_returns_nested_structure()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_board_returns_nested_structure()", "community": 62, "community_name": "Community 62", "source_file": "backend/tests/test_board.py", "file_type": "code", "degree": 1}, {"id": "tests_test_board_test_update_position_assign_member", "label": "test_update_position_assign_member()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_update_position_assign_member()", "community": 62, "community_name": "Community 62", "source_file": "backend/tests/test_board.py", "file_type": "code", "degree": 2}, {"id": "tests_test_board_test_update_position_invalid_state_reserve_with_member", "label": "test_update_position_invalid_state_reserve_with_member()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_update_position_invalid_state_reserve_with_member()", "community": 62, "community_name": "Community 62", "source_file": "backend/tests/test_board.py", "file_type": "code", "degree": 1}, {"id": "tests_test_board_test_update_position_not_found", "label": "test_update_position_not_found()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_update_position_not_found()", "community": 62, "community_name": "Community 62", "source_file": "backend/tests/test_board.py", "file_type": "code", "degree": 1}, {"id": "tests_test_board_rationale_1", "label": "Endpoint tests for board, position update, and bulk assignment routes.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Endpoint tests for board, position update, and bulk assignment routes.", "community": 62, "community_name": "Community 62", "source_file": "backend/tests/test_board.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_bot_client_py", "label": "test_bot_client.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_bot_client.py", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 12}, {"id": "tests_test_bot_client_make_ok_response", "label": "_make_ok_response()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_ok_response()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 3}, {"id": "tests_test_bot_client_async_client_that_raises", "label": "_async_client_that_raises()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_async_client_that_raises()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 7}, {"id": "tests_test_bot_client_async_client_that_returns", "label": "_async_client_that_returns()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_async_client_that_returns()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 5}, {"id": "tests_test_bot_client_test_notify_returns_false_on_http_error", "label": "test_notify_returns_false_on_http_error()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_returns_false_on_http_error()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_bot_client_test_post_message_returns_false_on_http_error", "label": "test_post_message_returns_false_on_http_error()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_message_returns_false_on_http_error()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_bot_client_test_post_image_returns_none_on_http_error", "label": "test_post_image_returns_none_on_http_error()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_image_returns_none_on_http_error()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_bot_client_test_get_members_returns_empty_on_http_error", "label": "test_get_members_returns_empty_on_http_error()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_members_returns_empty_on_http_error()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_bot_client_test_notify_returns_true_on_success", "label": "test_notify_returns_true_on_success()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_returns_true_on_success()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 5}, {"id": "tests_test_bot_client_test_get_member_returns_not_member", "label": "test_get_member_returns_not_member()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_member_returns_not_member()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 6}, {"id": "tests_test_bot_client_test_get_member_raises_on_connection_error", "label": "test_get_member_raises_on_connection_error()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_member_raises_on_connection_error()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_bot_client_test_get_member_raises_on_503", "label": "test_get_member_raises_on_503()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_member_raises_on_503()", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_bot_client_rationale_1", "label": "Tests for bot HTTP client graceful degradation.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for bot HTTP client graceful degradation.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_bot_client_rationale_25", "label": "Return a context-manager-compatible mock AsyncClient that raises on any request.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a context-manager-compatible mock AsyncClient that raises on any request.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 2}, {"id": "tests_test_bot_client_rationale_51", "label": "notify() returns False when the bot HTTP call raises an HTTPError.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "notify() returns False when the bot HTTP call raises an HTTPError.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_bot_client_rationale_60", "label": "post_message() returns False when the bot HTTP call raises an HTTPError.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "post_message() returns False when the bot HTTP call raises an HTTPError.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_bot_client_rationale_69", "label": "post_image() returns None when the bot HTTP call raises an HTTPError.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "post_image() returns None when the bot HTTP call raises an HTTPError.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_bot_client_rationale_78", "label": "get_members() returns [] when the bot HTTP call raises an HTTPError.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_members() returns [] when the bot HTTP call raises an HTTPError.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_bot_client_rationale_87", "label": "notify() returns True when the bot returns a 200 response.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "notify() returns True when the bot returns a 200 response.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_bot_client_rationale_102", "label": "get_member() returns the member dict when sidecar responds 200.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_member() returns the member dict when sidecar responds 200.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_bot_client_rationale_113", "label": "get_member() returns the dict as-is when sidecar responds with is_member=False.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_member() returns the dict as-is when sidecar responds with is_member=False.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_bot_client_rationale_124", "label": "get_member() raises httpx.HTTPError when the sidecar is unreachable.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_member() raises httpx.HTTPError when the sidecar is unreachable.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_bot_client_rationale_133", "label": "get_member() raises httpx.HTTPStatusError when sidecar returns 503.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "get_member() raises httpx.HTTPStatusError when sidecar returns 503.", "community": 27, "community_name": "Community 27", "source_file": "backend/tests/test_bot_client.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_buildings_py", "label": "test_buildings.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "test_buildings.py", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "code", "degree": 13}, {"id": "tests_test_buildings_make_config", "label": "_make_config()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_config()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "code", "degree": 5}, {"id": "tests_test_buildings_make_post_priority_config", "label": "_make_post_priority_config()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_post_priority_config()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_buildings.py", "file_type": "code", "degree": 4}, {"id": "tests_test_buildings_scalars_all", "label": "_scalars_all()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_scalars_all()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "code", "degree": 2}, {"id": "tests_test_buildings_scalars_first", "label": "_scalars_first()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_scalars_first()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "code", "degree": 2}, {"id": "tests_test_buildings_scalar_one_or_none", "label": "_scalar_one_or_none()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_scalar_one_or_none()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "code", "degree": 2}, {"id": "tests_test_buildings_test_update_building_unbreak_restores_groups", "label": "test_update_building_unbreak_restores_groups()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_update_building_unbreak_restores_groups()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "code", "degree": 7}, {"id": "tests_test_buildings_test_update_building_unbreak_restores_last_slot_count", "label": "test_update_building_unbreak_restores_last_slot_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_update_building_unbreak_restores_last_slot_count()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "code", "degree": 6}, {"id": "tests_test_buildings_test_update_building_break_then_unbreak_roundtrip", "label": "test_update_building_break_then_unbreak_roundtrip()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_update_building_break_then_unbreak_roundtrip()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "code", "degree": 8}, {"id": "tests_test_buildings_test_add_building_post_uses_priority_config", "label": "test_add_building_post_uses_priority_config()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_add_building_post_uses_priority_config()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "code", "degree": 6}, {"id": "tests_test_buildings_rationale_1", "label": "Service-layer tests for update_building \u2014 focus on unbreak restoration.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Service-layer tests for update_building \u2014 focus on unbreak restoration.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_buildings_rationale_64", "label": "Return a MagicMock shaped like scalars().all() \u2192 items.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a MagicMock shaped like scalars().all() \u2192 items.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_buildings_rationale_71", "label": "Return a MagicMock shaped like scalars().first() \u2192 item.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a MagicMock shaped like scalars().first() \u2192 item.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_buildings_rationale_78", "label": "Return a MagicMock shaped like scalar_one_or_none() \u2192 item.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a MagicMock shaped like scalar_one_or_none() \u2192 item.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_buildings_rationale_95", "label": "A Stronghold at level 6 (10 groups \u00d7 3 slots) was broken down to the base co", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A Stronghold at level 6 (10 groups \u00d7 3 slots) was broken down to the base co", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_buildings_rationale_173", "label": "A Mana Shrine at level 5 has 13 teams = 4 full groups + 1 slot last group (4", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A Mana Shrine at level 5 has 13 teams = 4 full groups + 1 slot last group (4", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_buildings_rationale_248", "label": "Stronghold level 6: 10 groups \u00d7 3 slots. Break \u2192 reduces to base config (4 g", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Stronghold level 6: 10 groups \u00d7 3 slots. Break \u2192 reduces to base config (4 g", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_buildings_rationale_393", "label": "Adding a post-type building must use PostPriorityConfig to set the Post prio", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Adding a post-type building must use PostPriorityConfig to set the Post prio", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_buildings.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_changelog_py", "label": "test_changelog.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "test_changelog.py", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "code", "degree": 10}, {"id": "tests_test_changelog_test_get_status_fresh_user_returns_null", "label": "test_get_status_fresh_user_returns_null()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_status_fresh_user_returns_null()", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "code", "degree": 5}, {"id": "tests_test_changelog_test_mark_seen_then_get_status_returns_timestamp", "label": "test_mark_seen_then_get_status_returns_timestamp()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_mark_seen_then_get_status_returns_timestamp()", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "code", "degree": 5}, {"id": "tests_test_changelog_test_mark_seen_twice_is_idempotent", "label": "test_mark_seen_twice_is_idempotent()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_mark_seen_twice_is_idempotent()", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "code", "degree": 5}, {"id": "tests_test_changelog_test_get_status_no_auth_returns_401", "label": "test_get_status_no_auth_returns_401()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_status_no_auth_returns_401()", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "code", "degree": 2}, {"id": "tests_test_changelog_test_post_mark_seen_no_auth_returns_401", "label": "test_post_mark_seen_no_auth_returns_401()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_mark_seen_no_auth_returns_401()", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "code", "degree": 2}, {"id": "tests_test_changelog_test_get_status_service_token_returns_400", "label": "test_get_status_service_token_returns_400()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_status_service_token_returns_400()", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "code", "degree": 3}, {"id": "tests_test_changelog_rationale_1", "label": "Endpoint tests for /api/changelog \u2014 status and mark-seen endpoints. Covers AC #", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Endpoint tests for /api/changelog \u2014 status and mark-seen endpoints. Covers AC #", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_changelog_rationale_30", "label": "Return a signed JWT for the given member ID.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a signed JWT for the given member ID.", "community": 55, "community_name": "Community 55", "source_file": "backend/tests/test_changelog.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_changelog_rationale_54", "label": "Return a minimal Member-like namespace.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a minimal Member-like namespace.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_changelog.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_changelog_rationale_82", "label": "A user who has never viewed the changelog gets last_seen_changelog_at: null.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A user who has never viewed the changelog gets last_seen_changelog_at: null.", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_changelog_rationale_114", "label": "After marking changelog as seen the GET endpoint returns a non-null timestamp.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "After marking changelog as seen the GET endpoint returns a non-null timestamp.", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_changelog_rationale_155", "label": "Calling mark-seen twice both succeed; second timestamp >= first.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Calling mark-seen twice both succeed; second timestamp &gt;= first.", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_changelog_rationale_194", "label": "GET /api/changelog/status without credentials returns 401.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GET /api/changelog/status without credentials returns 401.", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_changelog_rationale_219", "label": "POST /api/changelog/mark-seen without credentials returns 401.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "POST /api/changelog/mark-seen without credentials returns 401.", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_changelog_rationale_244", "label": "Service principals (Bearer token) cannot use the changelog endpoint.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Service principals (Bearer token) cannot use the changelog endpoint.", "community": 31, "community_name": "Community 31", "source_file": "backend/tests/test_changelog.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_comparison_py", "label": "test_comparison.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "test_comparison.py", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 13}, {"id": "tests_test_comparison_test_compare_returns_404_when_no_completed_siege", "label": "test_compare_returns_404_when_no_completed_siege()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compare_returns_404_when_no_completed_siege()", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 2}, {"id": "tests_test_comparison_test_compare_with_specific_endpoint_200", "label": "test_compare_with_specific_endpoint_200()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compare_with_specific_endpoint_200()", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 1}, {"id": "tests_test_comparison_build_siege_assignments", "label": "_build_siege_assignments()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_build_siege_assignments()", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 6}, {"id": "tests_test_comparison_test_compare_added_positions", "label": "test_compare_added_positions()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compare_added_positions()", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 4}, {"id": "tests_test_comparison_test_compare_removed_positions", "label": "test_compare_removed_positions()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compare_removed_positions()", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 4}, {"id": "tests_test_comparison_test_compare_unchanged_positions", "label": "test_compare_unchanged_positions()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compare_unchanged_positions()", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 4}, {"id": "tests_test_comparison_test_compare_reserve_positions_excluded", "label": "test_compare_reserve_positions_excluded()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compare_reserve_positions_excluded()", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 3}, {"id": "tests_test_comparison_test_inactive_member_excluded_from_comparison", "label": "test_inactive_member_excluded_from_comparison()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_inactive_member_excluded_from_comparison()", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 3}, {"id": "tests_test_comparison_test_inactive_member_rows_absent_from_comparison_result", "label": "test_inactive_member_rows_absent_from_comparison_result()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_inactive_member_rows_absent_from_comparison_result()", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 4}, {"id": "tests_test_comparison_test_get_most_recent_completed_returns_none", "label": "test_get_most_recent_completed_returns_none()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_most_recent_completed_returns_none()", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "code", "degree": 5}, {"id": "tests_test_comparison_rationale_1", "label": "Tests for siege comparison service and endpoints.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for siege comparison service and endpoints.", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_comparison_rationale_125", "label": "Build (Position, BuildingGroup, Building) rows for mock execute results.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build (Position, BuildingGroup, Building) rows for mock execute results.", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_comparison_rationale_143", "label": "Position in B but not A \u2192 appears in added.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Position in B but not A \u2192 appears in added.", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_comparison_rationale_186", "label": "Position in A but not B \u2192 appears in removed.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Position in A but not B \u2192 appears in removed.", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_comparison_rationale_222", "label": "Position in both A and B \u2192 appears in unchanged.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Position in both A and B \u2192 appears in unchanged.", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_comparison_rationale_252", "label": "Reserve positions must not appear in any diff.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Reserve positions must not appear in any diff.", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_comparison_rationale_277", "label": "Inactive members with assignments (e.g. from a cloned siege) must not appear in", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Inactive members with assignments (e.g. from a cloned siege) must not appear in", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_comparison_rationale_308", "label": "Integration-style: inactive member rows filtered by query do not appear in resul", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration-style: inactive member rows filtered by query do not appear in resul", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_comparison_rationale_349", "label": "Returns None when no completed siege exists.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns None when no completed siege exists.", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_comparison_rationale_365", "label": "Returns the siege when one exists.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns the siege when one exists.", "community": 25, "community_name": "Community 25", "source_file": "backend/tests/test_comparison.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_config_py", "label": "test_config.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_config.py", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 8}, {"id": "tests_test_config_testsettingsdefaults", "label": "TestSettingsDefaults", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TestSettingsDefaults", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 16}, {"id": "tests_test_config_testsettingsdefaults_make_settings", "label": "._make_settings()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "._make_settings()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 14}, {"id": "tests_test_config_testsettingsdefaults_test_discord_client_id_defaults_to_empty", "label": ".test_discord_client_id_defaults_to_empty()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_discord_client_id_defaults_to_empty()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_discord_client_secret_defaults_to_empty", "label": ".test_discord_client_secret_defaults_to_empty()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_discord_client_secret_defaults_to_empty()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_discord_redirect_uri_defaults_to_empty", "label": ".test_discord_redirect_uri_defaults_to_empty()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_discord_redirect_uri_defaults_to_empty()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_session_secret_defaults_to_empty", "label": ".test_session_secret_defaults_to_empty()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_session_secret_defaults_to_empty()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_bot_service_token_defaults_to_empty", "label": ".test_bot_service_token_defaults_to_empty()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_bot_service_token_defaults_to_empty()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_auth_disabled_defaults_to_false", "label": ".test_auth_disabled_defaults_to_false()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_auth_disabled_defaults_to_false()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_discord_required_role_defaults_to_clan_deputies", "label": ".test_discord_required_role_defaults_to_clan_deputies()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_discord_required_role_defaults_to_clan_deputies()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_discord_required_role_accepts_override", "label": ".test_discord_required_role_accepts_override()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_discord_required_role_accepts_override()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_allowed_origins_defaults_to_localhost", "label": ".test_allowed_origins_defaults_to_localhost()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_allowed_origins_defaults_to_localhost()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_allowed_origins_accepts_override", "label": ".test_allowed_origins_accepts_override()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_allowed_origins_accepts_override()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_allowed_origins_accepts_comma_separated_values", "label": ".test_allowed_origins_accepts_comma_separated_values()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_allowed_origins_accepts_comma_separated_values()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testsettingsdefaults_test_new_fields_accept_provided_values", "label": ".test_new_fields_accept_provided_values()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_new_fields_accept_provided_values()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 2}, {"id": "tests_test_config_testenvironmentrequired", "label": "TestEnvironmentRequired", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "TestEnvironmentRequired", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 4}, {"id": "tests_test_config_testenvironmentrequired_test_missing_environment_raises_validation_error", "label": ".test_missing_environment_raises_validation_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_missing_environment_raises_validation_error()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_testlifespanauthguard", "label": "TestLifespanAuthGuard", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "TestLifespanAuthGuard", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 3}, {"id": "tests_test_config_test_auth_disabled_allowed_in_development", "label": "test_auth_disabled_allowed_in_development()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_auth_disabled_allowed_in_development()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_test_auth_disabled_rejected_in_production", "label": "test_auth_disabled_rejected_in_production()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_auth_disabled_rejected_in_production()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_test_auth_disabled_rejected_in_test_environment", "label": "test_auth_disabled_rejected_in_test_environment()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_auth_disabled_rejected_in_test_environment()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_test_auth_not_disabled_allowed_in_any_environment", "label": "test_auth_not_disabled_allowed_in_any_environment()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_auth_not_disabled_allowed_in_any_environment()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_rationale_1", "label": "Tests for backend/app/config.py and the lifespan startup guard in main.py. Cove", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for backend/app/config.py and the lifespan startup guard in main.py. Cove", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_config_rationale_24", "label": "New auth fields should be present and have correct empty-string defaults.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "New auth fields should be present and have correct empty-string defaults.", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_config_rationale_27", "label": "Construct a Settings instance with all required fields plus optional overrides.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Construct a Settings instance with all required fields plus optional overrides.", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_config_rationale_100", "label": "ENVIRONMENT must be explicitly provided \u2014 no default allows silent misconfigurat", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ENVIRONMENT must be explicitly provided \u2014 no default allows silent misconfigurat", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_config_rationale_127", "label": "auth_disabled=True must raise at startup when environment != 'development'.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "auth_disabled=True must raise at startup when environment != &#x27;development&#x27;.", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_config_rationale_131", "label": "No RuntimeError when AUTH_DISABLED=true and ENVIRONMENT=development.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "No RuntimeError when AUTH_DISABLED=true and ENVIRONMENT=development.", "community": 104, "community_name": "Community 104", "source_file": "backend/tests/test_config.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_config_rationale_163", "label": "RuntimeError raised at startup when AUTH_DISABLED=true outside development.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "RuntimeError raised at startup when AUTH_DISABLED=true outside development.", "community": 105, "community_name": "Community 105", "source_file": "backend/tests/test_config.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_config_rationale_187", "label": "RuntimeError raised when AUTH_DISABLED=true and environment is 'test'.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "RuntimeError raised when AUTH_DISABLED=true and environment is &#x27;test&#x27;.", "community": 106, "community_name": "Community 106", "source_file": "backend/tests/test_config.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_config_rationale_209", "label": "No RuntimeError when auth_disabled=False regardless of environment.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "No RuntimeError when auth_disabled=False regardless of environment.", "community": 107, "community_name": "Community 107", "source_file": "backend/tests/test_config.py", "file_type": "rationale", "degree": 0}, {"id": "backend_tests_test_config_endpoint_py", "label": "test_config_endpoint.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_config_endpoint.py", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "code", "degree": 12}, {"id": "tests_test_config_endpoint_override_db", "label": "override_db()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "override_db()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_endpoint_test_config_returns_auth_disabled_true", "label": "test_config_returns_auth_disabled_true()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_config_returns_auth_disabled_true()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_endpoint_test_config_endpoint_is_public", "label": "test_config_endpoint_is_public()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_config_endpoint_is_public()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_endpoint_teststartupsessionsecretguard", "label": "TestStartupSessionSecretGuard", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "TestStartupSessionSecretGuard", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "code", "degree": 3}, {"id": "tests_test_config_endpoint_test_missing_session_secret_raises_at_startup", "label": "test_missing_session_secret_raises_at_startup()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_missing_session_secret_raises_at_startup()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_endpoint_test_changeme_placeholder_raises_at_startup", "label": "test_changeme_placeholder_raises_at_startup()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_changeme_placeholder_raises_at_startup()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_endpoint_test_changeme_uppercase_raises_at_startup", "label": "test_changeme_uppercase_raises_at_startup()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_changeme_uppercase_raises_at_startup()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_endpoint_test_present_session_secret_does_not_raise", "label": "test_present_session_secret_does_not_raise()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_present_session_secret_does_not_raise()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "code", "degree": 1}, {"id": "tests_test_config_endpoint_rationale_1", "label": "Tests for the /api/config public endpoint and startup guards. Covers: - /api/", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the /api/config public endpoint and startup guards. Covers: - /api/", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_config_endpoint_rationale_37", "label": "GET /api/config returns the current auth_disabled flag.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GET /api/config returns the current auth_disabled flag.", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_config_endpoint_rationale_95", "label": "Config endpoint must be reachable without an Authorization header.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Config endpoint must be reachable without an Authorization header.", "community": 108, "community_name": "Community 108", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_config_endpoint_rationale_124", "label": "Backend must refuse to start when SESSION_SECRET is missing and auth is enabled.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Backend must refuse to start when SESSION_SECRET is missing and auth is enabled.", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_config_endpoint_rationale_128", "label": "RuntimeError raised when auth_disabled=False and session_secret is empty.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "RuntimeError raised when auth_disabled=False and session_secret is empty.", "community": 109, "community_name": "Community 109", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_config_endpoint_rationale_150", "label": "RuntimeError raised when SESSION_SECRET contains the default placeholder.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "RuntimeError raised when SESSION_SECRET contains the default placeholder.", "community": 110, "community_name": "Community 110", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_config_endpoint_rationale_174", "label": "RuntimeError raised for uppercase variant of the placeholder.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "RuntimeError raised for uppercase variant of the placeholder.", "community": 111, "community_name": "Community 111", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_config_endpoint_rationale_198", "label": "No RuntimeError when auth_disabled=False and session_secret is provided.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "No RuntimeError when auth_disabled=False and session_secret is provided.", "community": 112, "community_name": "Community 112", "source_file": "backend/tests/test_config_endpoint.py", "file_type": "rationale", "degree": 0}, {"id": "backend_tests_test_cors_py", "label": "test_cors.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_cors.py", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 7}, {"id": "tests_test_cors_make_app", "label": "_make_app()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_app()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 18}, {"id": "tests_test_cors_cors_headers", "label": "_cors_headers()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_cors_headers()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 16}, {"id": "tests_test_cors_testallowedoriginsparsingintegration", "label": "TestAllowedOriginsParsingIntegration", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TestAllowedOriginsParsingIntegration", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 9}, {"id": "tests_test_cors_testallowedoriginsparsingintegration_test_single_origin_is_allowed", "label": ".test_single_origin_is_allowed()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_single_origin_is_allowed()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 3}, {"id": "tests_test_cors_testallowedoriginsparsingintegration_test_first_of_two_origins_is_allowed", "label": ".test_first_of_two_origins_is_allowed()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_first_of_two_origins_is_allowed()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 3}, {"id": "tests_test_cors_testallowedoriginsparsingintegration_test_second_of_two_origins_is_allowed", "label": ".test_second_of_two_origins_is_allowed()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_second_of_two_origins_is_allowed()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 3}, {"id": "tests_test_cors_testallowedoriginsparsingintegration_test_whitespace_around_origins_is_stripped", "label": ".test_whitespace_around_origins_is_stripped()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_whitespace_around_origins_is_stripped()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cors_testallowedoriginsparsingintegration_test_trailing_comma_is_ignored", "label": ".test_trailing_comma_is_ignored()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_trailing_comma_is_ignored()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cors_testallowedoriginsparsingintegration_test_leading_comma_is_ignored", "label": ".test_leading_comma_is_ignored()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_leading_comma_is_ignored()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cors_testallowedoriginsparsingintegration_test_whitespace_only_entries_are_excluded", "label": ".test_whitespace_only_entries_are_excluded()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_whitespace_only_entries_are_excluded()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cors_testallowedoriginreceivescorsheaders", "label": "TestAllowedOriginReceivesCorsHeaders", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "TestAllowedOriginReceivesCorsHeaders", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 7}, {"id": "tests_test_cors_testallowedoriginreceivescorsheaders_test_allowed_origin_acao_matches_request_origin", "label": ".test_allowed_origin_acao_matches_request_origin()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_allowed_origin_acao_matches_request_origin()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cors_testallowedoriginreceivescorsheaders_test_localhost_dev_origin_allowed_by_default_config", "label": ".test_localhost_dev_origin_allowed_by_default_config()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_localhost_dev_origin_allowed_by_default_config()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders", "label": "TestDisallowedOriginReceivesNoCorsHeaders", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestDisallowedOriginReceivesNoCorsHeaders", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 6}, {"id": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_disallowed_origin_has_no_acao_header", "label": ".test_disallowed_origin_has_no_acao_header()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_disallowed_origin_has_no_acao_header()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 3}, {"id": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_subdomain_not_allowed_when_only_apex_configured", "label": ".test_subdomain_not_allowed_when_only_apex_configured()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_subdomain_not_allowed_when_only_apex_configured()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_http_disallowed_when_only_https_configured", "label": ".test_http_disallowed_when_only_https_configured()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_http_disallowed_when_only_https_configured()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_wrong_port_disallowed", "label": ".test_wrong_port_disallowed()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_wrong_port_disallowed()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cors_testpreflightrequest", "label": "TestPreflightRequest", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "TestPreflightRequest", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 4}, {"id": "tests_test_cors_testpreflightrequest_test_preflight_allowed_origin_returns_200", "label": ".test_preflight_allowed_origin_returns_200()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_preflight_allowed_origin_returns_200()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 2}, {"id": "tests_test_cors_testpreflightrequest_test_preflight_disallowed_origin_has_no_acao", "label": ".test_preflight_disallowed_origin_has_no_acao()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_preflight_disallowed_origin_has_no_acao()", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "code", "degree": 2}, {"id": "tests_test_cors_rationale_1", "label": "Integration tests for the CORS middleware wired in app/main.py. The middleware", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for the CORS middleware wired in app/main.py. The middleware", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_27", "label": "Return a minimal FastAPI app whose CORS middleware mirrors main.py logic. T", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a minimal FastAPI app whose CORS middleware mirrors main.py logic. T", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_53", "label": "Send a simple GET with an Origin header and return the response headers.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Send a simple GET with an Origin header and return the response headers.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_65", "label": "The middleware must honour each comma-separated origin independently.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The middleware must honour each comma-separated origin independently.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_83", "label": "Spaces around commas must not break origin matching.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Spaces around commas must not break origin matching.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_89", "label": "A trailing comma must not produce an empty string in the origins list.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A trailing comma must not produce an empty string in the origins list.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_95", "label": "A leading comma must not produce an empty string in the origins list.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A leading comma must not produce an empty string in the origins list.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_101", "label": "Entries that are only whitespace after stripping must be dropped.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Entries that are only whitespace after stripping must be dropped.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_113", "label": "A request from an explicitly allowed origin must get CORS response headers.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A request from an explicitly allowed origin must get CORS response headers.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_121", "label": "The echoed origin must match the request, not be a wildcard.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The echoed origin must match the request, not be a wildcard.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_127", "label": "allow_credentials=True means the vary/credentials header is set.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "allow_credentials=True means the vary/credentials header is set.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_133", "label": "The default value from Settings must allow the dev frontend.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The default value from Settings must allow the dev frontend.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_145", "label": "A request from an origin not in the allow-list must NOT get CORS headers.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A request from an origin not in the allow-list must NOT get CORS headers.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_153", "label": "Subdomains are not implicitly covered \u2014 must be listed explicitly.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Subdomains are not implicitly covered \u2014 must be listed explicitly.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_159", "label": "HTTP and HTTPS are distinct origins.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "HTTP and HTTPS are distinct origins.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_165", "label": "The same host on a different port is a distinct origin.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The same host on a different port is a distinct origin.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_cors_rationale_177", "label": "OPTIONS preflight with an allowed origin must return 200 with CORS headers.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "OPTIONS preflight with an allowed origin must return 200 with CORS headers.", "community": 17, "community_name": "Community 17", "source_file": "backend/tests/test_cors.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_discord_sync_py", "label": "test_discord_sync.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "test_discord_sync.py", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 17}, {"id": "tests_test_discord_sync_make_sync_match", "label": "_make_sync_match()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_sync_match()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 4}, {"id": "tests_test_discord_sync_test_preview_returns_exact_match", "label": "test_preview_returns_exact_match()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_returns_exact_match()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_preview_returns_suggested_match", "label": "test_preview_returns_suggested_match()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_returns_suggested_match()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_preview_returns_ambiguous_match", "label": "test_preview_returns_ambiguous_match()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_returns_ambiguous_match()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_preview_reports_unmatched_clan_members", "label": "test_preview_reports_unmatched_clan_members()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_reports_unmatched_clan_members()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_apply_updates_matched_members", "label": "test_apply_updates_matched_members()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_updates_matched_members()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_apply_with_empty_list_returns_zero", "label": "test_apply_with_empty_list_returns_zero()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_with_empty_list_returns_zero()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_apply_with_unknown_member_id_skips_gracefully", "label": "test_apply_with_unknown_member_id_skips_gracefully()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_with_unknown_member_id_skips_gracefully()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_service_preview_exact_discord_id_match", "label": "test_service_preview_exact_discord_id_match()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_service_preview_exact_discord_id_match()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_service_preview_suggested_name_username_match", "label": "test_service_preview_suggested_name_username_match()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_service_preview_suggested_name_username_match()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_service_preview_ambiguous_multiple_guild_matches", "label": "test_service_preview_ambiguous_multiple_guild_matches()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_service_preview_ambiguous_multiple_guild_matches()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 2}, {"id": "tests_test_discord_sync_test_service_preview_unmatched_guild_and_clan", "label": "test_service_preview_unmatched_guild_and_clan()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_service_preview_unmatched_guild_and_clan()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 2}, {"id": "tests_test_discord_sync_test_service_apply_updates_discord_fields", "label": "test_service_apply_updates_discord_fields()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_service_apply_updates_discord_fields()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_service_apply_unknown_member_id_skipped", "label": "test_service_apply_unknown_member_id_skipped()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_service_apply_unknown_member_id_skipped()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_sync_test_service_apply_empty_list_returns_zero", "label": "test_service_apply_empty_list_returns_zero()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_service_apply_empty_list_returns_zero()", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "code", "degree": 2}, {"id": "tests_test_discord_sync_rationale_1", "label": "Endpoint tests for Discord sync \u2014 /api/members/discord-sync/* All tests mock th", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Endpoint tests for Discord sync \u2014 /api/members/discord-sync/* All tests mock th", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_51", "label": "Exact confidence match (discord_id already set) is returned correctly.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Exact confidence match (discord_id already set) is returned correctly.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_76", "label": "Suggested confidence (name heuristic) is returned correctly.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Suggested confidence (name heuristic) is returned correctly.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_96", "label": "Ambiguous confidence (multiple guild members could match) is returned.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Ambiguous confidence (multiple guild members could match) is returned.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_116", "label": "Guild members with no clan counterpart appear in unmatched_guild_members.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Guild members with no clan counterpart appear in unmatched_guild_members.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_136", "label": "Clan members with no guild counterpart appear in unmatched_clan_members.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Clan members with no guild counterpart appear in unmatched_clan_members.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_161", "label": "Apply returns the count of updated members.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply returns the count of updated members.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_182", "label": "Applying an empty list returns updated=0 without crashing.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Applying an empty list returns updated=0 without crashing.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_197", "label": "Unknown member_ids are silently skipped; updated count reflects only real rows.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Unknown member_ids are silently skipped; updated count reflects only real rows.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_224", "label": "Heuristic 1: discord_id already set on the clan member \u2192 exact confidence.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Heuristic 1: discord_id already set on the clan member \u2192 exact confidence.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_263", "label": "Heuristic 2: discord_username set and matches guild username \u2192 exact confidence.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Heuristic 2: discord_username set and matches guild username \u2192 exact confidence.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_298", "label": "Heuristic 3: clan name matches guild username \u2192 suggested confidence.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Heuristic 3: clan name matches guild username \u2192 suggested confidence.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_333", "label": "Heuristic 4: clan name matches guild display_name \u2192 suggested confidence.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Heuristic 4: clan name matches guild display_name \u2192 suggested confidence.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_369", "label": "Two guild members match the same clan member \u2192 ambiguous.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Two guild members match the same clan member \u2192 ambiguous.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_407", "label": "Members with no counterpart appear in the respective unmatched lists.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Members with no counterpart appear in the respective unmatched lists.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_443", "label": "apply_discord_sync writes discord_username and discord_id to matched members.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "apply_discord_sync writes discord_username and discord_id to matched members.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_475", "label": "apply_discord_sync skips member_ids not found in the DB without crashing.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "apply_discord_sync skips member_ids not found in the DB without crashing.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_sync_rationale_499", "label": "apply_discord_sync with an empty list returns updated=0 immediately.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "apply_discord_sync with an empty list returns updated=0 immediately.", "community": 13, "community_name": "Community 13", "source_file": "backend/tests/test_discord_sync.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_enums_py", "label": "test_enums.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_enums.py", "community": 63, "community_name": "Community 63", "source_file": "backend/tests/test_enums.py", "file_type": "code", "degree": 3}, {"id": "tests_test_enums_test_building_type_labels_covers_all_values", "label": "test_building_type_labels_covers_all_values()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_type_labels_covers_all_values()", "community": 63, "community_name": "Community 63", "source_file": "backend/tests/test_enums.py", "file_type": "code", "degree": 2}, {"id": "tests_test_enums_test_building_type_labels_are_friendly_strings", "label": "test_building_type_labels_are_friendly_strings()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_type_labels_are_friendly_strings()", "community": 63, "community_name": "Community 63", "source_file": "backend/tests/test_enums.py", "file_type": "code", "degree": 2}, {"id": "tests_test_enums_rationale_1", "label": "Tests for enum definitions and associated constants in app.models.enums.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for enum definitions and associated constants in app.models.enums.", "community": 63, "community_name": "Community 63", "source_file": "backend/tests/test_enums.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_enums_rationale_7", "label": "Every BuildingType member must have an entry in BUILDING_TYPE_LABELS. This", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Every BuildingType member must have an entry in BUILDING_TYPE_LABELS. This", "community": 63, "community_name": "Community 63", "source_file": "backend/tests/test_enums.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_enums_rationale_17", "label": "BUILDING_TYPE_LABELS values must be non-empty title-cased display strings.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BUILDING_TYPE_LABELS values must be non-empty title-cased display strings.", "community": 63, "community_name": "Community 63", "source_file": "backend/tests/test_enums.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_health_py", "label": "test_health.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_health.py", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_health.py", "file_type": "code", "degree": 2}, {"id": "tests_test_health_mock_db", "label": "mock_db()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "mock_db()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_health.py", "file_type": "code", "degree": 2}, {"id": "tests_test_health_test_health_returns_healthy", "label": "test_health_returns_healthy()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_health_returns_healthy()", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_health.py", "file_type": "code", "degree": 2}, {"id": "tests_test_health_rationale_19", "label": "Health endpoint returns 200 and healthy status when DB is reachable.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Health endpoint returns 200 and healthy status when DB is reachable.", "community": 10, "community_name": "Community 10", "source_file": "backend/tests/test_health.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_image_gen_py", "label": "test_image_gen.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 18.2, "font": {"size": 12, "color": "#ffffff"}, "title": "test_image_gen.py", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 34}, {"id": "tests_test_image_gen_make_building_dict", "label": "_make_building_dict()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_building_dict()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 18}, {"id": "tests_test_image_gen_make_group_dict", "label": "_make_group_dict()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_group_dict()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 17}, {"id": "tests_test_image_gen_test_build_assignments_html_contains_title", "label": "test_build_assignments_html_contains_title()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_contains_title()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 3}, {"id": "tests_test_image_gen_test_build_assignments_html_contains_building_type", "label": "test_build_assignments_html_contains_building_type()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_contains_building_type()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 5}, {"id": "tests_test_image_gen_test_build_assignments_html_reserve_cell", "label": "test_build_assignments_html_reserve_cell()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_reserve_cell()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 5}, {"id": "tests_test_image_gen_test_build_assignments_html_disabled_cell", "label": "test_build_assignments_html_disabled_cell()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_disabled_cell()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 5}, {"id": "tests_test_image_gen_test_build_assignments_html_empty_board", "label": "test_build_assignments_html_empty_board()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_empty_board()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 3}, {"id": "tests_test_image_gen_test_build_assignments_html_all_building_types_colored", "label": "test_build_assignments_html_all_building_types_colored()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_all_building_types_colored()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 3}, {"id": "tests_test_image_gen_test_build_reserves_html_contains_title", "label": "test_build_reserves_html_contains_title()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_reserves_html_contains_title()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 2}, {"id": "tests_test_image_gen_test_build_reserves_html_contains_member", "label": "test_build_reserves_html_contains_member()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_reserves_html_contains_member()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 3}, {"id": "tests_test_image_gen_test_build_reserves_html_day1_color", "label": "test_build_reserves_html_day1_color()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_reserves_html_day1_color()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 4}, {"id": "tests_test_image_gen_test_build_reserves_html_no_role_column", "label": "test_build_reserves_html_no_role_column()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_reserves_html_no_role_column()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 4}, {"id": "tests_test_image_gen_test_generate_assignments_image_calls_render", "label": "test_generate_assignments_image_calls_render()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_generate_assignments_image_calls_render()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 3}, {"id": "tests_test_image_gen_test_generate_reserves_image_calls_render", "label": "test_generate_reserves_image_calls_render()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_generate_reserves_image_calls_render()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 3}, {"id": "tests_test_image_gen_test_build_assignments_html_group_header_present", "label": "test_build_assignments_html_group_header_present()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_group_header_present()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_assignments_html_group_header_before_members", "label": "test_build_assignments_html_group_header_before_members()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_group_header_before_members()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_assignments_html_single_row_per_group", "label": "test_build_assignments_html_single_row_per_group()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_single_row_per_group()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_assignments_html_buildings_side_by_side", "label": "test_build_assignments_html_buildings_side_by_side()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_buildings_side_by_side()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_assignments_html_heavy_hitter_color", "label": "test_build_assignments_html_heavy_hitter_color()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_heavy_hitter_color()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_assignments_html_no_role_map_fallback", "label": "test_build_assignments_html_no_role_map_fallback()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_no_role_map_fallback()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_assignments_html_role_color_on_span_not_background", "label": "test_build_assignments_html_role_color_on_span_not_background()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_role_color_on_span_not_background()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_reserves_html_novice_color", "label": "test_build_reserves_html_novice_color()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_reserves_html_novice_color()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 4}, {"id": "tests_test_image_gen_test_build_reserves_html_fallback_color", "label": "test_build_reserves_html_fallback_color()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_reserves_html_fallback_color()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 4}, {"id": "tests_test_image_gen_test_build_assignments_html_role_colors_match_ui", "label": "test_build_assignments_html_role_colors_match_ui()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_role_colors_match_ui()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_reserves_html_role_colors_match_ui", "label": "test_build_reserves_html_role_colors_match_ui()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_reserves_html_role_colors_match_ui()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 4}, {"id": "tests_test_image_gen_test_build_assignments_html_no_level_in_header", "label": "test_build_assignments_html_no_level_in_header()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_no_level_in_header()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_assignments_html_broken_building_no_level", "label": "test_build_assignments_html_broken_building_no_level()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_broken_building_no_level()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_assignments_html_building_number_in_thead", "label": "test_build_assignments_html_building_number_in_thead()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_building_number_in_thead()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_assignments_html_post_flat_table", "label": "test_build_assignments_html_post_flat_table()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_post_flat_table()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_test_build_assignments_html_post_reserve_and_disabled", "label": "test_build_assignments_html_post_reserve_and_disabled()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_assignments_html_post_reserve_and_disabled()", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "code", "degree": 6}, {"id": "tests_test_image_gen_rationale_1", "label": "Tests for the image generation service.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the image generation service.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_175", "label": "Role column must not appear in the rendered HTML.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Role column must not appear in the rendered HTML.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_232", "label": "Each group must have a 'Group N' label in the HTML.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Each group must have a &#x27;Group N&#x27; label in the HTML.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_243", "label": "Group 1 header must appear before Group 2 header in document order.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Group 1 header must appear before Group 2 header in document order.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_255", "label": "Group label and slot cells must appear in the same <tr>, not separate rows.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Group label and slot cells must appear in the same &lt;tr&gt;, not separate rows.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_282", "label": "Two buildings of the same type must both render and the section must use flex la", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Two buildings of the same type must both render and the section must use flex la", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_316", "label": "A member mapped to heavy_hitter role gets the red-400 color #f87171 (matches UI", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A member mapped to heavy_hitter role gets the red-400 color #f87171 (matches UI", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_329", "label": "When member_id_to_role is empty the fallback white color is used.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When member_id_to_role is empty the fallback white color is used.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_340", "label": "The role color appears on the name <span>, not the cell background.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The role color appears on the name &lt;span&gt;, not the cell background.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_356", "label": "A member with advanced role gets the amber-400 color #fbbf24 (matches UI hue).", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A member with advanced role gets the amber-400 color #fbbf24 (matches UI hue).", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_364", "label": "A member with novice role gets the blue-400 color #60a5fa (matches UI hue).", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A member with novice role gets the blue-400 color #60a5fa (matches UI hue).", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_372", "label": "A member whose role is not in _MEMBER_ROLE_COLORS falls back to #f9fafb.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A member whose role is not in _MEMBER_ROLE_COLORS falls back to #f9fafb.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_406", "label": "Every role maps to the same hue family used in the UI (BoardPage ROLE_CHIP_COLOR", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Every role maps to the same hue family used in the UI (BoardPage ROLE_CHIP_COLOR", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_431", "label": "Every role in the reserves image maps to the same hue family used in the UI.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Every role in the reserves image maps to the same hue family used in the UI.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_444", "label": "Building header must not contain the level.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Building header must not contain the level.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_457", "label": "Broken building header shows [broken] but no level.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Broken building header shows [broken] but no level.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_469", "label": "Building number must appear in a <thead> spanning row, not a standalone <div>.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Building number must appear in a &lt;thead&gt; spanning row, not a standalone &lt;div&gt;.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_483", "label": "Post buildings render as a single flat table, not per-building group tables.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Post buildings render as a single flat table, not per-building group tables.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_image_gen_rationale_517", "label": "Post flat table correctly renders reserve and disabled slots.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Post flat table correctly renders reserve and disabled slots.", "community": 2, "community_name": "Community 2", "source_file": "backend/tests/test_image_gen.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_lifecycle_py", "label": "test_lifecycle.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "test_lifecycle.py", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 14}, {"id": "tests_test_lifecycle_test_activate_planning_siege", "label": "test_activate_planning_siege()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_activate_planning_siege()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 2}, {"id": "tests_test_lifecycle_test_activate_already_active_returns_400", "label": "test_activate_already_active_returns_400()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_activate_already_active_returns_400()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 1}, {"id": "tests_test_lifecycle_test_complete_active_siege", "label": "test_complete_active_siege()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_complete_active_siege()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 2}, {"id": "tests_test_lifecycle_test_complete_planning_siege_returns_400", "label": "test_complete_planning_siege_returns_400()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_complete_planning_siege_returns_400()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 1}, {"id": "tests_test_lifecycle_test_clone_siege_returns_201", "label": "test_clone_siege_returns_201()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_clone_siege_returns_201()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 2}, {"id": "tests_test_lifecycle_make_post_ns", "label": "_make_post_ns()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_post_ns()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 2}, {"id": "tests_test_lifecycle_make_src_position_ns", "label": "_make_src_position_ns()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_src_position_ns()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 2}, {"id": "tests_test_lifecycle_make_src_group_ns", "label": "_make_src_group_ns()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_src_group_ns()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 2}, {"id": "tests_test_lifecycle_make_src_building_ns", "label": "_make_src_building_ns()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_src_building_ns()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 2}, {"id": "tests_test_lifecycle_test_clone_uses_post_priority_config_not_source_priority", "label": "test_clone_uses_post_priority_config_not_source_priority()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_clone_uses_post_priority_config_not_source_priority()", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "code", "degree": 7}, {"id": "tests_test_lifecycle_rationale_1", "label": "Endpoint tests for siege lifecycle transitions: activate, complete, clone.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Endpoint tests for siege lifecycle transitions: activate, complete, clone.", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_lifecycle_rationale_197", "label": "Cloning a siege with stale priority=0 posts must use PostPriorityConfig.priority", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Cloning a siege with stale priority=0 posts must use PostPriorityConfig.priority", "community": 46, "community_name": "Community 46", "source_file": "backend/tests/test_lifecycle.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_lifecycle_integration_py", "label": "test_lifecycle_integration.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_lifecycle_integration.py", "community": 54, "community_name": "Community 54", "source_file": "backend/tests/test_lifecycle_integration.py", "file_type": "code", "degree": 12}, {"id": "tests_test_lifecycle_integration_build_valid_siege_graph", "label": "_build_valid_siege_graph()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_build_valid_siege_graph()", "community": 54, "community_name": "Community 54", "source_file": "backend/tests/test_lifecycle_integration.py", "file_type": "code", "degree": 7}, {"id": "tests_test_lifecycle_integration_test_full_siege_lifecycle", "label": "test_full_siege_lifecycle()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_full_siege_lifecycle()", "community": 54, "community_name": "Community 54", "source_file": "backend/tests/test_lifecycle_integration.py", "file_type": "code", "degree": 6}, {"id": "tests_test_lifecycle_integration_rationale_1", "label": "Integration test: full siege lifecycle \u2014 create \u2192 validate \u2192 assign \u2192 activate \u2192", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration test: full siege lifecycle \u2014 create \u2192 validate \u2192 assign \u2192 activate \u2192", "community": 54, "community_name": "Community 54", "source_file": "backend/tests/test_lifecycle_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_lifecycle_integration_rationale_113", "label": "Build a siege with exactly the right building counts and assigned active members", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build a siege with exactly the right building counts and assigned active members", "community": 54, "community_name": "Community 54", "source_file": "backend/tests/test_lifecycle_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_lifecycle_integration_rationale_183", "label": "Return a mock async session that serves the siege + configs across multiple exec", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a mock async session that serves the siege + configs across multiple exec", "community": 54, "community_name": "Community 54", "source_file": "backend/tests/test_lifecycle_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_lifecycle_integration_rationale_216", "label": "Happy-path: validate (errors) \u2192 assign \u2192 validate (0 errors) \u2192 activate \u2192 comple", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Happy-path: validate (errors) \u2192 assign \u2192 validate (0 errors) \u2192 activate \u2192 comple", "community": 54, "community_name": "Community 54", "source_file": "backend/tests/test_lifecycle_integration.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_members_py", "label": "test_members.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_members.py", "community": 60, "community_name": "Community 60", "source_file": "backend/tests/test_members.py", "file_type": "code", "degree": 8}, {"id": "tests_test_members_test_list_members_returns_empty_list", "label": "test_list_members_returns_empty_list()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_list_members_returns_empty_list()", "community": 60, "community_name": "Community 60", "source_file": "backend/tests/test_members.py", "file_type": "code", "degree": 1}, {"id": "tests_test_members_test_create_member_returns_201", "label": "test_create_member_returns_201()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_create_member_returns_201()", "community": 60, "community_name": "Community 60", "source_file": "backend/tests/test_members.py", "file_type": "code", "degree": 2}, {"id": "tests_test_members_test_create_member_duplicate_name_returns_409", "label": "test_create_member_duplicate_name_returns_409()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_create_member_duplicate_name_returns_409()", "community": 60, "community_name": "Community 60", "source_file": "backend/tests/test_members.py", "file_type": "code", "degree": 1}, {"id": "tests_test_members_test_get_member_not_found_returns_404", "label": "test_get_member_not_found_returns_404()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_member_not_found_returns_404()", "community": 60, "community_name": "Community 60", "source_file": "backend/tests/test_members.py", "file_type": "code", "degree": 1}, {"id": "tests_test_members_test_delete_member_returns_204", "label": "test_delete_member_returns_204()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_delete_member_returns_204()", "community": 60, "community_name": "Community 60", "source_file": "backend/tests/test_members.py", "file_type": "code", "degree": 2}, {"id": "backend_tests_test_member_changelog_column_py", "label": "test_member_changelog_column.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_member_changelog_column.py", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "code", "degree": 7}, {"id": "tests_test_member_changelog_column_test_last_seen_changelog_at_column_exists", "label": "test_last_seen_changelog_at_column_exists()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_last_seen_changelog_at_column_exists()", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "code", "degree": 2}, {"id": "tests_test_member_changelog_column_test_last_seen_changelog_at_column_is_nullable", "label": "test_last_seen_changelog_at_column_is_nullable()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_last_seen_changelog_at_column_is_nullable()", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "code", "degree": 2}, {"id": "tests_test_member_changelog_column_test_last_seen_changelog_at_has_no_server_default", "label": "test_last_seen_changelog_at_has_no_server_default()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_last_seen_changelog_at_has_no_server_default()", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "code", "degree": 2}, {"id": "tests_test_member_changelog_column_test_last_seen_changelog_at_column_type_is_datetime", "label": "test_last_seen_changelog_at_column_type_is_datetime()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_last_seen_changelog_at_column_type_is_datetime()", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "code", "degree": 2}, {"id": "tests_test_member_changelog_column_test_last_seen_changelog_at_accepts_none_at_python_level", "label": "test_last_seen_changelog_at_accepts_none_at_python_level()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_last_seen_changelog_at_accepts_none_at_python_level()", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "code", "degree": 2}, {"id": "tests_test_member_changelog_column_test_last_seen_changelog_at_accepts_datetime_at_python_level", "label": "test_last_seen_changelog_at_accepts_datetime_at_python_level()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_last_seen_changelog_at_accepts_datetime_at_python_level()", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "code", "degree": 2}, {"id": "tests_test_member_changelog_column_rationale_1", "label": "Schema-aware tests for Member.last_seen_changelog_at (issue #295, AC 1). These", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Schema-aware tests for Member.last_seen_changelog_at (issue #295, AC 1). These", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_member_changelog_column_rationale_21", "label": "Member mapper exposes last_seen_changelog_at as a mapped attribute.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Member mapper exposes last_seen_changelog_at as a mapped attribute.", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_member_changelog_column_rationale_33", "label": "last_seen_changelog_at column is defined nullable=True. Null is the sentine", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "last_seen_changelog_at column is defined nullable=True. Null is the sentine", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_member_changelog_column_rationale_51", "label": "last_seen_changelog_at has no server-side default. Null is the intentional", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "last_seen_changelog_at has no server-side default. Null is the intentional", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_member_changelog_column_rationale_69", "label": "last_seen_changelog_at uses SQLAlchemy DateTime (no timezone). Matches the", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "last_seen_changelog_at uses SQLAlchemy DateTime (no timezone). Matches the", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_member_changelog_column_rationale_90", "label": "Mapped type annotation allows None (datetime | None). Constructing a Member", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Mapped type annotation allows None (datetime | None). Constructing a Member", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_member_changelog_column_rationale_104", "label": "Mapped type annotation allows a datetime value. Assigning a real datetime m", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Mapped type annotation allows a datetime value. Assigning a real datetime m", "community": 44, "community_name": "Community 44", "source_file": "backend/tests/test_member_changelog_column.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_notifications_py", "label": "test_notifications.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 16.3, "font": {"size": 12, "color": "#ffffff"}, "title": "test_notifications.py", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 26}, {"id": "tests_test_notifications_make_batch", "label": "_make_batch()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_batch()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notifications_make_batch_result", "label": "_make_batch_result()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_batch_result()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 3}, {"id": "tests_test_notifications_make_db_session", "label": "_make_db_session()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_db_session()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 2}, {"id": "tests_test_notifications_test_notify_returns_batch_id", "label": "test_notify_returns_batch_id()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_returns_batch_id()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notifications_test_notify_siege_not_found", "label": "test_notify_siege_not_found()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_siege_not_found()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 1}, {"id": "tests_test_notifications_test_notify_siege_complete_returns_400", "label": "test_notify_siege_complete_returns_400()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_siege_complete_returns_400()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 2}, {"id": "tests_test_notifications_test_get_notification_batch_returns_results", "label": "test_get_notification_batch_returns_results()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_notification_batch_returns_results()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notifications_test_get_notification_batch_not_found", "label": "test_get_notification_batch_not_found()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_notification_batch_not_found()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 1}, {"id": "tests_test_notifications_test_post_to_channel_success", "label": "test_post_to_channel_success()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_to_channel_success()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 3}, {"id": "tests_test_notifications_test_post_to_channel_posts_images_to_images_channel_and_summary_to_text_channel", "label": "test_post_to_channel_posts_images_to_images_channel_and_summary_to_text_channel()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_to_channel_posts_images_to_images_channel_and_summary_to_text_channel()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notifications_test_post_to_channel_image_failure_returns_failed", "label": "test_post_to_channel_image_failure_returns_failed()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_to_channel_image_failure_returns_failed()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notifications_test_notify_skips_member_with_no_discord_username", "label": "test_notify_skips_member_with_no_discord_username()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_skips_member_with_no_discord_username()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notifications_test_notify_skips_member_not_in_guild", "label": "test_notify_skips_member_not_in_guild()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_skips_member_not_in_guild()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notifications_test_notify_eligible_member_gets_result_row_and_dm", "label": "test_notify_eligible_member_gets_result_row_and_dm()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_eligible_member_gets_result_row_and_dm()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notifications_test_notify_skipped_count_reflects_all_skipped_members", "label": "test_notify_skipped_count_reflects_all_skipped_members()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_skipped_count_reflects_all_skipped_members()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notifications_test_notify_blocked_when_siege_has_validation_errors", "label": "test_notify_blocked_when_siege_has_validation_errors()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_blocked_when_siege_has_validation_errors()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 3}, {"id": "tests_test_notifications_test_notify_passes_validation_guard_when_no_errors", "label": "test_notify_passes_validation_guard_when_no_errors()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_passes_validation_guard_when_no_errors()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notifications_test_notify_bot_unreachable_falls_back_to_username_filter", "label": "test_notify_bot_unreachable_falls_back_to_username_filter()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_bot_unreachable_falls_back_to_username_filter()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notifications_test_send_dms_sets_completed_status_even_when_bot_raises", "label": "test_send_dms_sets_completed_status_even_when_bot_raises()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_send_dms_sets_completed_status_even_when_bot_raises()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notifications_test_notify_no_date_returns_400", "label": "test_notify_no_date_returns_400()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_no_date_returns_400()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 3}, {"id": "tests_test_notifications_test_post_to_channel_no_date_returns_400", "label": "test_post_to_channel_no_date_returns_400()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_to_channel_no_date_returns_400()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "code", "degree": 3}, {"id": "tests_test_notifications_rationale_1", "label": "Endpoint tests for notification and post-to-channel routes.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Endpoint tests for notification and post-to-channel routes.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_113", "label": "Build a mock DB session that returns the given objects.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build a mock DB session that returns the given objects.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_416", "label": "Images post to discord_siege_images_channel. Summary with CDN links posts t", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Images post to discord_siege_images_channel. Summary with CDN links posts t", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_498", "label": "When post_image returns None (failure), the endpoint returns status='failed'.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When post_image returns None (failure), the endpoint returns status=&#x27;failed&#x27;.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_557", "label": "Members without a discord_username must not get a batch result row.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Members without a discord_username must not get a batch result row.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_621", "label": "Members whose discord_username is absent from the guild list must be skipped.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Members whose discord_username is absent from the guild list must be skipped.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_680", "label": "A member who has a discord_username AND is in the guild must get a result row.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A member who has a discord_username AND is in the guild must get a result row.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_746", "label": "skipped_count must equal the number of members excluded for any reason.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "skipped_count must equal the number of members excluded for any reason.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_810", "label": "POST /notify must return 400 when validate_siege returns errors.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "POST /notify must return 400 when validate_siege returns errors.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_856", "label": "POST /notify must not be blocked when validate_siege returns no errors.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "POST /notify must not be blocked when validate_siege returns no errors.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_913", "label": "When get_members() returns [] the endpoint must not block all DMs. Members", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When get_members() returns [] the endpoint must not block all DMs. Members", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_980", "label": "_send_dms must guarantee batch.status = completed in its finally block. Sce", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_send_dms must guarantee batch.status = completed in its finally block. Sce", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_1042", "label": "POST /notify must return 400 with a clear message when siege.date is None.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "POST /notify must return 400 with a clear message when siege.date is None.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notifications_rationale_1069", "label": "POST /post-to-channel must return 400 with a clear message when siege.date is No", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "POST /post-to-channel must return 400 with a clear message when siege.date is No", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_notifications.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_notification_message_py", "label": "test_notification_message.py", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 16.0, "font": {"size": 12, "color": "#ffffff"}, "title": "test_notification_message.py", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 25}, {"id": "tests_test_notification_message_stronghold_pos", "label": "_stronghold_pos()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_stronghold_pos()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 12}, {"id": "tests_test_notification_message_defense_tower_pos", "label": "_defense_tower_pos()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_defense_tower_pos()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notification_message_post_pos", "label": "_post_pos()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_post_pos()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 18}, {"id": "tests_test_notification_message_test_no_previous_siege_all_current_in_set_at", "label": "test_no_previous_siege_all_current_in_set_at()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_no_previous_siege_all_current_in_set_at()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notification_message_test_empty_sections_omitted_all_no_change", "label": "test_empty_sections_omitted_all_no_change()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_empty_sections_omitted_all_no_change()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notification_message_test_full_diff_three_sections", "label": "test_full_diff_three_sections()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_full_diff_three_sections()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notification_message_test_header_contains_siege_date_and_member_settings", "label": "test_header_contains_siege_date_and_member_settings()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_header_contains_siege_date_and_member_settings()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 3}, {"id": "tests_test_notification_message_test_none_fields_display_as_unknown", "label": "test_none_fields_display_as_unknown()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_none_fields_display_as_unknown()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 3}, {"id": "tests_test_notification_message_test_false_reserve_set_displays_no", "label": "test_false_reserve_set_displays_no()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_false_reserve_set_displays_no()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 3}, {"id": "tests_test_notification_message_test_single_building_type_omits_building_number", "label": "test_single_building_type_omits_building_number()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_single_building_type_omits_building_number()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notification_message_test_multiple_building_type_includes_building_number", "label": "test_multiple_building_type_includes_building_number()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_multiple_building_type_includes_building_number()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notification_message_test_post_always_uses_short_format", "label": "test_post_always_uses_short_format()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_always_uses_short_format()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notification_message_test_post_with_single_count_still_uses_short_format", "label": "test_post_with_single_count_still_uses_short_format()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_with_single_count_still_uses_short_format()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notification_message_test_section_order_no_change_then_remove_then_set_at", "label": "test_section_order_no_change_then_remove_then_set_at()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_section_order_no_change_then_remove_then_set_at()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 6}, {"id": "tests_test_notification_message_test_positions_sorted_within_section", "label": "test_positions_sorted_within_section()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_positions_sorted_within_section()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notification_message_test_no_change_section_has_header_and_plain_position_lines", "label": "test_no_change_section_has_header_and_plain_position_lines()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_no_change_section_has_header_and_plain_position_lines()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notification_message_test_remove_from_section_has_header_and_plain_position_lines", "label": "test_remove_from_section_has_header_and_plain_position_lines()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_remove_from_section_has_header_and_plain_position_lines()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notification_message_test_set_at_section_has_header_and_plain_position_lines", "label": "test_set_at_section_has_header_and_plain_position_lines()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_set_at_section_has_header_and_plain_position_lines()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notification_message_test_blank_line_between_no_change_and_remove_from", "label": "test_blank_line_between_no_change_and_remove_from()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_blank_line_between_no_change_and_remove_from()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notification_message_test_blank_line_between_remove_from_and_set_at", "label": "test_blank_line_between_remove_from_and_set_at()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_blank_line_between_remove_from_and_set_at()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notification_message_test_no_blank_line_when_only_one_section", "label": "test_no_blank_line_when_only_one_section()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_no_blank_line_when_only_one_section()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notification_message_test_blank_line_count_with_all_three_sections", "label": "test_blank_line_count_with_all_three_sections()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_blank_line_count_with_all_three_sections()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notification_message_test_all_three_section_headers_exact_format", "label": "test_all_three_section_headers_exact_format()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_all_three_section_headers_exact_format()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 5}, {"id": "tests_test_notification_message_test_header_line_not_a_position_line", "label": "test_header_line_not_a_position_line()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_header_line_not_a_position_line()", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "code", "degree": 4}, {"id": "tests_test_notification_message_rationale_1", "label": "Unit tests for build_member_notification_message in notification_message.py.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for build_member_notification_message in notification_message.py.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_64", "label": "When previous_positions is empty every current position gets the \u2694\ufe0f icon.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When previous_positions is empty every current position gets the \u2694\ufe0f icon.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_85", "label": "When current and previous are identical only the \ud83d\udee1\ufe0f icon appears.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When current and previous are identical only the \ud83d\udee1\ufe0f icon appears.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_106", "label": "Positions only in current \u2192 \u2694\ufe0f, only in previous \u2192 \u274c, both \u2192 \ud83d\udee1\ufe0f.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Positions only in current \u2192 \u2694\ufe0f, only in previous \u2192 \u274c, both \u2192 \ud83d\udee1\ufe0f.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_150", "label": "The message header must include the date, reserve status and attack day.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The message header must include the date, reserve status and attack day.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_170", "label": "None for has_reserve_set or attack_day should render as 'Unknown'.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "None for has_reserve_set or attack_day should render as &#x27;Unknown&#x27;.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_184", "label": "has_reserve_set=False should render as 'No', not 'Unknown'.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "has_reserve_set=False should render as &#x27;No&#x27;, not &#x27;Unknown&#x27;.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_202", "label": "When count == 1 the building number is omitted from the label.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "When count == 1 the building number is omitted from the label.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 2}, {"id": "tests_test_notification_message_rationale_242", "label": "Posts always render as ':white_circle: Post {N}' regardless of count.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Posts always render as &#x27;:white_circle: Post {N}&#x27; regardless of count.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_258", "label": "Posts with count == 1 still use short format (not the number-omitting path).", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Posts with count == 1 still use short format (not the number-omitting path).", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_277", "label": "Icons must appear in the order: \ud83d\udee1\ufe0f (No Change), \u274c (Remove From), \u2694\ufe0f (Set At).", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Icons must appear in the order: \ud83d\udee1\ufe0f (No Change), \u274c (Remove From), \u2694\ufe0f (Set At).", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_304", "label": "Within Set At, positions should be sorted by type order then building/group/pos.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Within Set At, positions should be sorted by type order then building/group/pos.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_337", "label": "No Change section must have a ':shield: No Change :shield:' header. Posit", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "No Change section must have a &#x27;:shield: No Change :shield:&#x27; header. Posit", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_362", "label": "Remove From section must have a ':x: Remove From :x:' header. Position li", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Remove From section must have a &#x27;:x: Remove From :x:&#x27; header. Position li", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_386", "label": "Set At section must have a ':crossed_swords: Set At :crossed_swords:' header.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Set At section must have a &#x27;:crossed_swords: Set At :crossed_swords:&#x27; header.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_415", "label": "A blank line must appear between the No Change and Remove From sections.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A blank line must appear between the No Change and Remove From sections.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_432", "label": "A blank line must appear between the Remove From and Set At sections.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A blank line must appear between the Remove From and Set At sections.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_448", "label": "When only one section is present there should be no blank line within that secti", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When only one section is present there should be no blank line within that secti", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_465", "label": "With all three sections there should be exactly two blank lines between them", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "With all three sections there should be exactly two blank lines between them", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_489", "label": "All three section headers must appear as exact lines in the message.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "All three section headers must appear as exact lines in the message.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_notification_message_rationale_509", "label": "The section header line itself must not contain a building-type circle emoji.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The section header line itself must not contain a building-type circle emoji.", "community": 4, "community_name": "Community 4", "source_file": "backend/tests/test_notification_message.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_posts_py", "label": "test_posts.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_posts.py", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_posts.py", "file_type": "code", "degree": 8}, {"id": "tests_test_posts_make_building", "label": "_make_building()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 25.5, "font": {"size": 12, "color": "#ffffff"}, "title": "_make_building()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_posts.py", "file_type": "code", "degree": 64}, {"id": "tests_test_posts_make_post", "label": "_make_post()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 18.2, "font": {"size": 12, "color": "#ffffff"}, "title": "_make_post()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_posts.py", "file_type": "code", "degree": 34}, {"id": "tests_test_posts_test_list_posts_returns_list", "label": "test_list_posts_returns_list()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_list_posts_returns_list()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_posts.py", "file_type": "code", "degree": 2}, {"id": "tests_test_posts_test_update_post_priority", "label": "test_update_post_priority()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_update_post_priority()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_posts.py", "file_type": "code", "degree": 2}, {"id": "tests_test_posts_test_set_post_conditions_too_many_returns_400", "label": "test_set_post_conditions_too_many_returns_400()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_set_post_conditions_too_many_returns_400()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_posts.py", "file_type": "code", "degree": 1}, {"id": "tests_test_posts_test_list_posts_sorted_by_building_number", "label": "test_list_posts_sorted_by_building_number()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_list_posts_sorted_by_building_number()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_posts.py", "file_type": "code", "degree": 3}, {"id": "tests_test_posts_rationale_1", "label": "Endpoint tests for post management routes.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Endpoint tests for post management routes.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_posts.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_posts_rationale_115", "label": "Posts endpoint returns rows sorted by Post # (building_number) ascending. T", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Posts endpoint returns rows sorted by Post # (building_number) ascending. T", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_posts.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_post_suggestions_py", "label": "test_post_suggestions.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 22.3, "font": {"size": 12, "color": "#ffffff"}, "title": "test_post_suggestions.py", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 51}, {"id": "tests_test_post_suggestions_make_session", "label": "_make_session()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_session()", "community": 54, "community_name": "Community 54", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 6}, {"id": "tests_test_post_suggestions_preview", "label": "_preview()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.8, "font": {"size": 12, "color": "#ffffff"}, "title": "_preview()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 28}, {"id": "tests_test_post_suggestions_test_preview_raises_400_on_completed_siege", "label": "test_preview_raises_400_on_completed_siege()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_raises_400_on_completed_siege()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 4}, {"id": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "label": "test_preview_single_post_single_member_match()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_single_post_single_member_match()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "label": "test_preview_no_match_produces_skip_reason_no_match()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_no_match_produces_skip_reason_no_match()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "label": "test_preview_reserve_position_produces_skip_reason_reserve()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_reserve_position_produces_skip_reason_reserve()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "label": "test_preview_disabled_position_produces_skip_reason_disabled()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_disabled_position_produces_skip_reason_disabled()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "label": "test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "label": "test_preview_post_with_conditions_but_no_matching_member_still_no_match()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_post_with_conditions_but_no_matching_member_still_no_match()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "label": "test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "label": "test_preview_higher_priority_post_gets_member_first()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_higher_priority_post_gets_member_first()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "label": "test_preview_second_post_prefers_different_condition()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_second_post_prefers_different_condition()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "label": "test_preview_prefers_less_loaded_member()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_prefers_less_loaded_member()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "label": "test_preview_name_tiebreak_picks_alphabetically_lower()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_name_tiebreak_picks_alphabetically_lower()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "label": "test_preview_duplicate_penalty_beats_assignment_count()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_duplicate_penalty_beats_assignment_count()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "label": "test_preview_determinism_same_output_on_repeat()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_determinism_same_output_on_repeat()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "label": "test_preview_current_member_preferred_when_equally_qualified()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_current_member_preferred_when_equally_qualified()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "label": "test_preview_lowest_condition_id_picked_as_tiebreak()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_lowest_condition_id_picked_as_tiebreak()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "label": "test_preview_suboptimality_invariants_hold()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_suboptimality_invariants_hold()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "label": "test_preview_matches_current_true_when_same_assignment()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_matches_current_true_when_same_assignment()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "label": "test_preview_matches_current_false_for_null_suggestion()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_matches_current_false_for_null_suggestion()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_test_preview_empty_siege_returns_empty_assignments", "label": "test_preview_empty_siege_returns_empty_assignments()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_empty_siege_returns_empty_assignments()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 4}, {"id": "tests_test_post_suggestions_test_preview_no_members_all_skip_no_match", "label": "test_preview_no_members_all_skip_no_match()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_no_members_all_skip_no_match()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 9}, {"id": "tests_test_post_suggestions_apply", "label": "_apply()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_apply()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 14}, {"id": "tests_test_post_suggestions_preview_data", "label": "_preview_data()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_preview_data()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 13}, {"id": "tests_test_post_suggestions_entry_dict", "label": "_entry_dict()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_entry_dict()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 10}, {"id": "tests_test_post_suggestions_test_apply_expired_preview_raises_409", "label": "test_apply_expired_preview_raises_409()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_expired_preview_raises_409()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 5}, {"id": "tests_test_post_suggestions_test_apply_missing_preview_raises_409", "label": "test_apply_missing_preview_raises_409()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_missing_preview_raises_409()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 4}, {"id": "tests_test_post_suggestions_test_apply_empty_position_ids_is_noop", "label": "test_apply_empty_position_ids_is_noop()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_empty_position_ids_is_noop()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 8}, {"id": "tests_test_post_suggestions_test_apply_unknown_position_ids_silently_ignored", "label": "test_apply_unknown_position_ids_silently_ignored()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_unknown_position_ids_silently_ignored()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 8}, {"id": "tests_test_post_suggestions_test_apply_null_member_entries_are_skipped", "label": "test_apply_null_member_entries_are_skipped()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_null_member_entries_are_skipped()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 6}, {"id": "tests_test_post_suggestions_test_apply_subset_only_writes_checked_positions", "label": "test_apply_subset_only_writes_checked_positions()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_subset_only_writes_checked_positions()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 8}, {"id": "tests_test_post_suggestions_test_apply_stale_position_disabled_returns_409", "label": "test_apply_stale_position_disabled_returns_409()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_stale_position_disabled_returns_409()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 8}, {"id": "tests_test_post_suggestions_test_apply_stale_position_reserve_returns_409", "label": "test_apply_stale_position_reserve_returns_409()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_stale_position_reserve_returns_409()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 8}, {"id": "tests_test_post_suggestions_test_apply_stale_member_inactive_returns_409", "label": "test_apply_stale_member_inactive_returns_409()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_stale_member_inactive_returns_409()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 8}, {"id": "tests_test_post_suggestions_test_apply_member_changed_returns_409", "label": "test_apply_member_changed_returns_409()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_member_changed_returns_409()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 8}, {"id": "tests_test_post_suggestions_test_apply_multiple_stale_all_surfaced_in_single_409", "label": "test_apply_multiple_stale_all_surfaced_in_single_409()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_multiple_stale_all_surfaced_in_single_409()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 8}, {"id": "tests_test_post_suggestions_test_apply_completed_siege_raises_400", "label": "test_apply_completed_siege_raises_400()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_completed_siege_raises_400()", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 5}, {"id": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "label": "test_preview_skips_post_when_only_candidate_has_used_condition()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_skips_post_when_only_candidate_has_used_condition()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_rationale_1", "label": "Unit tests for the Suggest Post Assignments service. All tests use SimpleNamesp", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for the Suggest Post Assignments service. All tests use SimpleNamesp", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_141", "label": "Return a minimal AsyncSession mock that scalar_one_or_none returns siege.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a minimal AsyncSession mock that scalar_one_or_none returns siege.", "community": 54, "community_name": "Community 54", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_156", "label": "Invoke preview_post_suggestions with a mocked session.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Invoke preview_post_suggestions with a mocked session.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_196", "label": "A completed siege raises 400 so planners cannot preview.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A completed siege raises 400 so planners cannot preview.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_210", "label": "AC: single post with one matching member \u2192 suggestion targets that member.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AC: single post with one matching member \u2192 suggestion targets that member.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_238", "label": "AC #6: post with no matching member \u2192 skip_reason='no_match'.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AC #6: post with no matching member \u2192 skip_reason=&#x27;no_match&#x27;.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_264", "label": "Charge #1: is_reserve=True on the position \u2192 skip_reason='reserve'.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #1: is_reserve=True on the position \u2192 skip_reason=&#x27;reserve&#x27;.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_283", "label": "Charge #1: is_disabled=True on the position \u2192 skip_reason='disabled'.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #1: is_disabled=True on the position \u2192 skip_reason=&#x27;disabled&#x27;.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_307", "label": "Issue #366: post with empty active_conditions \u2192 skip_reason='no_conditions'.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Issue #366: post with empty active_conditions \u2192 skip_reason=&#x27;no_conditions&#x27;.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_333", "label": "Issue #366: no_match is unchanged when conditions exist but no member qualifies.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Issue #366: no_match is unchanged when conditions exist but no member qualifies.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_357", "label": "Issue #366: all three outcomes coexist without conflation. One post has no", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Issue #366: all three outcomes coexist without conflation. One post has no", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_401", "label": "AC #3: two posts compete for the same member. The higher-priority post is p", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AC #3: two posts compete for the same member. The higher-priority post is p", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_445", "label": "AC #4: member can be assigned to two posts; second prefers fresh cond.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AC #4: member can be assigned to two posts; second prefers fresh cond.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_479", "label": "AC #5: member with fewer assignments wins over heavily loaded member.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AC #5: member with fewer assignments wins over heavily loaded member.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_507", "label": "Charge #8: on equal penalty + count, member with lower name wins.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #8: on equal penalty + count, member with lower name wins.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_528", "label": "Charge #8: member with duplicate-condition penalty loses to member with 3 ex", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #8: member with duplicate-condition penalty loses to member with 3 ex", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_565", "label": "Charge #2: two runs with identical input produce byte-identical output.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #2: two runs with identical input produce byte-identical output.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_592", "label": "Regression test for #360: bistable flip-flop. Setup: - 1 post, conditio", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Regression test for #360: bistable flip-flop. Setup: - 1 post, conditio", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_661", "label": "Two matching conditions, neither used \u2192 lowest id is picked.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Two matching conditions, neither used \u2192 lowest id is picked.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_686", "label": "Charge #14: greedy invariants hold even when a condition is shared across posts.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #14: greedy invariants hold even when a condition is shared across posts.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_764", "label": "matches_current=True when the suggestion equals the existing assignment.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "matches_current=True when the suggestion equals the existing assignment.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_784", "label": "matches_current is always False when suggested_member_id is None.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "matches_current is always False when suggested_member_id is None.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_809", "label": "Charge #9: siege with no posts \u2192 preview returns empty assignments list.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #9: siege with no posts \u2192 preview returns empty assignments list.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_817", "label": "Charge #9: posts exist but no siege members \u2192 all skip with no_match.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #9: posts exist but no siege members \u2192 all skip with no_match.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_839", "label": "HTTP test client bound to the FastAPI app.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "HTTP test client bound to the FastAPI app.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_845", "label": "POST /api/sieges/1/post-suggestions returns 200 with preview payload.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "POST /api/sieges/1/post-suggestions returns 200 with preview payload.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_861", "label": "POST /api/sieges/1/post-suggestions/apply returns 200 with applied_count.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "POST /api/sieges/1/post-suggestions/apply returns 200 with applied_count.", "community": 11, "community_name": "Community 11", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_889", "label": "Invoke apply_post_suggestions with a fully mocked session.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Invoke apply_post_suggestions with a fully mocked session.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_927", "label": "Build the preview dict stored in siege.post_suggest_preview.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build the preview dict stored in siege.post_suggest_preview.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_956", "label": "Apply with expired TTL raises 409 with the standard message.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply with expired TTL raises 409 with the standard message.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_970", "label": "Apply with no preview at all raises 409.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply with no preview at all raises 409.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_979", "label": "Charge #9: apply_position_ids=[] \u2192 0 writes, success.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #9: apply_position_ids=[] \u2192 0 writes, success.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_995", "label": "Charge #9: position_ids not in the preview are silently ignored.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #9: position_ids not in the preview are silently ignored.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_1012", "label": "Null suggested_member_id entries are skipped; no error raised.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Null suggested_member_id entries are skipped; no error raised.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_1026", "label": "Apply with a subset of position_ids \u2192 only those positions written.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply with a subset of position_ids \u2192 only those positions written.", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 2}, {"id": "tests_test_post_suggestions_rationale_1055", "label": "Position disabled since preview \u2192 409 with reason position_disabled.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Position disabled since preview \u2192 409 with reason position_disabled.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_1073", "label": "Position set to reserve since preview \u2192 409 with reason position_reserve.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Position set to reserve since preview \u2192 409 with reason position_reserve.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_1091", "label": "Member became inactive since preview \u2192 409 with reason member_inactive.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Member became inactive since preview \u2192 409 with reason member_inactive.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_1109", "label": "Charge #15: another planner assigned a different member \u2192 reason member_changed.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #15: another planner assigned a different member \u2192 reason member_changed.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_1128", "label": "Multiple stale entries \u2192 all returned in a single 409 (one round-trip).", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Multiple stale entries \u2192 all returned in a single 409 (one round-trip).", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_1158", "label": "Apply on a completed siege raises 400 before checking preview.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Apply on a completed siege raises 400 before checking preview.", "community": 20, "community_name": "Community 20", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_rationale_1183", "label": "Regression for #381. Setup: one member matches a condition that is active o", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Regression for #381. Setup: one member matches a condition that is active o", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_post_suggestions.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_post_suggestions_integration_py", "label": "test_post_suggestions_integration.py", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_suggestions_integration.py", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "code", "degree": 11}, {"id": "tests_test_post_suggestions_integration_engine", "label": "engine()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "engine()", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "code", "degree": 2}, {"id": "tests_test_post_suggestions_integration_session_factory", "label": "session_factory()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "session_factory()", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "code", "degree": 6}, {"id": "tests_test_post_suggestions_integration_test_preview_loads_m2m_relations_without_greenlet_error", "label": "test_preview_loads_m2m_relations_without_greenlet_error()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_loads_m2m_relations_without_greenlet_error()", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "code", "degree": 3}, {"id": "tests_test_post_suggestions_integration_test_preview_overwrite_stores_second_preview_in_db", "label": "test_preview_overwrite_stores_second_preview_in_db()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_preview_overwrite_stores_second_preview_in_db()", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "code", "degree": 4}, {"id": "tests_test_post_suggestions_integration_test_apply_persists_matched_condition_id_to_db", "label": "test_apply_persists_matched_condition_id_to_db()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_persists_matched_condition_id_to_db()", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "code", "degree": 5}, {"id": "tests_test_post_suggestions_integration_test_apply_subset_leaves_unselected_positions_unchanged", "label": "test_apply_subset_leaves_unselected_positions_unchanged()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_apply_subset_leaves_unselected_positions_unchanged()", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "code", "degree": 5}, {"id": "tests_test_post_suggestions_integration_test_member_changed_stale_reason_on_concurrent_apply", "label": "test_member_changed_stale_reason_on_concurrent_apply()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_member_changed_stale_reason_on_concurrent_apply()", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "code", "degree": 5}, {"id": "tests_test_post_suggestions_integration_rationale_1", "label": "Integration tests for the Suggest Post Assignments feature. These tests use a r", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Integration tests for the Suggest Post Assignments feature. These tests use a r", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_integration_rationale_53", "label": "Enable SQLite foreign key enforcement (no-op on PostgreSQL).", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Enable SQLite foreign key enforcement (no-op on PostgreSQL).", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_integration_rationale_61", "label": "Create an async engine against an in-memory SQLite DB.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Create an async engine against an in-memory SQLite DB.", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_integration_rationale_72", "label": "Yield a single AsyncSession per test.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Yield a single AsyncSession per test.", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_integration_rationale_80", "label": "Yield a session factory for tests that need multiple sessions.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Yield a session factory for tests that need multiple sessions.", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_integration_rationale_90", "label": "Seed a siege with 2 posts, 3 members, M2M preferences and conditions. Retur", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Seed a siege with 2 posts, 3 members, M2M preferences and conditions. Retur", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_integration_rationale_191", "label": "Charge #12: selectinload chain works against real DB. Verifies that no Miss", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #12: selectinload chain works against real DB. Verifies that no Miss", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_integration_rationale_216", "label": "Second preview within TTL overwrites first in the DB JSON column. Asserts b", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Second preview within TTL overwrites first in the DB JSON column. Asserts b", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_integration_rationale_255", "label": "Charge #17: apply \u2192 re-read position from DB \u2192 matched_condition_id set. Wi", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #17: apply \u2192 re-read position from DB \u2192 matched_condition_id set. Wi", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_post_suggestions_integration_rationale_314", "label": "Charge #22: member_changed reason fires when position written between preview an", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Charge #22: member_changed reason fires when position written between preview an", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_post_suggestions_integration.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_reference_py", "label": "test_reference.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_reference.py", "community": 65, "community_name": "Community 65", "source_file": "backend/tests/test_reference.py", "file_type": "code", "degree": 6}, {"id": "tests_test_reference_make_post_condition", "label": "_make_post_condition()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_post_condition()", "community": 65, "community_name": "Community 65", "source_file": "backend/tests/test_reference.py", "file_type": "code", "degree": 2}, {"id": "tests_test_reference_test_get_post_conditions_returns_list", "label": "test_get_post_conditions_returns_list()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_post_conditions_returns_list()", "community": 65, "community_name": "Community 65", "source_file": "backend/tests/test_reference.py", "file_type": "code", "degree": 2}, {"id": "tests_test_reference_test_get_building_types_returns_list", "label": "test_get_building_types_returns_list()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_building_types_returns_list()", "community": 65, "community_name": "Community 65", "source_file": "backend/tests/test_reference.py", "file_type": "code", "degree": 1}, {"id": "tests_test_reference_test_get_member_roles_returns_four_roles", "label": "test_get_member_roles_returns_four_roles()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_member_roles_returns_four_roles()", "community": 65, "community_name": "Community 65", "source_file": "backend/tests/test_reference.py", "file_type": "code", "degree": 1}, {"id": "tests_test_reference_rationale_1", "label": "Endpoint tests for /api reference data endpoints.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Endpoint tests for /api reference data endpoints.", "community": 65, "community_name": "Community 65", "source_file": "backend/tests/test_reference.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_schema_py", "label": "test_schema.py", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_schema.py", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "code", "degree": 9}, {"id": "tests_test_schema_enable_sqlite_fk", "label": "_enable_sqlite_fk()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_enable_sqlite_fk()", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_schema.py", "file_type": "code", "degree": 5}, {"id": "tests_test_schema_db_session", "label": "db_session()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "db_session()", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "code", "degree": 3}, {"id": "tests_test_schema_test_member_name_unique", "label": "test_member_name_unique()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_member_name_unique()", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "code", "degree": 2}, {"id": "tests_test_schema_test_position_reserve_and_member_constraint_defined", "label": "test_position_reserve_and_member_constraint_defined()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_position_reserve_and_member_constraint_defined()", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "code", "degree": 2}, {"id": "tests_test_schema_test_building_group_slot_count_bounds", "label": "test_building_group_slot_count_bounds()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_group_slot_count_bounds()", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "code", "degree": 2}, {"id": "tests_test_schema_test_post_condition_count", "label": "test_post_condition_count()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_condition_count()", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "code", "degree": 3}, {"id": "tests_test_schema_test_building_type_config_count", "label": "test_building_type_config_count()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_type_config_count()", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "code", "degree": 3}, {"id": "tests_test_schema_test_siege_member_pk", "label": "test_siege_member_pk()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_siege_member_pk()", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "code", "degree": 2}, {"id": "tests_test_schema_rationale_1", "label": "Schema constraint and seed data tests using in-memory SQLite.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Schema constraint and seed data tests using in-memory SQLite.", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_schema_rationale_22", "label": "Enable SQLite foreign key enforcement.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Enable SQLite foreign key enforcement.", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_schema.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_schema_rationale_51", "label": "Inserting two members with the same name must raise IntegrityError.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Inserting two members with the same name must raise IntegrityError.", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_schema_rationale_66", "label": "The check constraint preventing is_reserve=True with a member_id is defined.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The check constraint preventing is_reserve=True with a member_id is defined.", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_schema_rationale_79", "label": "slot_count check constraints (1\u20133) are declared on the table.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "slot_count check constraints (1\u20133) are declared on the table.", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_schema_rationale_90", "label": "seed_post_conditions populates exactly 36 rows.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "seed_post_conditions populates exactly 36 rows.", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_schema_rationale_105", "label": "seed_building_type_config populates exactly 5 rows.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "seed_building_type_config populates exactly 5 rows.", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_schema_rationale_120", "label": "Inserting a duplicate (siege_id, member_id) pair raises IntegrityError.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Inserting a duplicate (siege_id, member_id) pair raises IntegrityError.", "community": 43, "community_name": "Community 43", "source_file": "backend/tests/test_schema.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_seed_canonical_py", "label": "test_seed_canonical.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "test_seed_canonical.py", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 14}, {"id": "tests_test_seed_canonical_run_canonical_seed", "label": "_run_canonical_seed()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "_run_canonical_seed()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 13}, {"id": "tests_test_seed_canonical_testcanonicalseedpostconditions", "label": "TestCanonicalSeedPostConditions", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestCanonicalSeedPostConditions", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 6}, {"id": "tests_test_seed_canonical_test_seeds_36_post_conditions", "label": "test_seeds_36_post_conditions()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_seeds_36_post_conditions()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_canonical_test_idempotent_post_conditions", "label": "test_idempotent_post_conditions()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_idempotent_post_conditions()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_canonical_testcanonicalseedbuildingtypeconfig", "label": "TestCanonicalSeedBuildingTypeConfig", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestCanonicalSeedBuildingTypeConfig", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 6}, {"id": "tests_test_seed_canonical_test_seeds_building_type_configs", "label": "test_seeds_building_type_configs()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_seeds_building_type_configs()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_canonical_test_idempotent_building_type_config", "label": "test_idempotent_building_type_config()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_idempotent_building_type_config()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_canonical_testcanonicalseedpostpriorityconfig", "label": "TestCanonicalSeedPostPriorityConfig", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestCanonicalSeedPostPriorityConfig", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 6}, {"id": "tests_test_seed_canonical_test_seeds_18_post_priority_configs", "label": "test_seeds_18_post_priority_configs()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_seeds_18_post_priority_configs()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_canonical_test_priority_configs_cover_posts_1_through_18", "label": "test_priority_configs_cover_posts_1_through_18()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_priority_configs_cover_posts_1_through_18()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 3}, {"id": "tests_test_seed_canonical_test_priority_configs_default_priority_is_2", "label": "test_priority_configs_default_priority_is_2()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_priority_configs_default_priority_is_2()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_canonical_test_idempotent_post_priority_config", "label": "test_idempotent_post_priority_config()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_idempotent_post_priority_config()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_canonical_rationale_1", "label": "Regression tests for scripts/seed.py (the canonical seed entry point). These te", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Regression tests for scripts/seed.py (the canonical seed entry point). These te", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_canonical_rationale_58", "label": "Run the three seed functions called by scripts/seed.py.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Run the three seed functions called by scripts/seed.py.", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_canonical_rationale_72", "label": "PostCondition seeding via the canonical script.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PostCondition seeding via the canonical script.", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_canonical_rationale_76", "label": "Canonical seed must insert all 36 PostCondition rows.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Canonical seed must insert all 36 PostCondition rows.", "community": 113, "community_name": "Community 113", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_canonical_rationale_85", "label": "Running twice must not create duplicate PostCondition rows.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Running twice must not create duplicate PostCondition rows.", "community": 114, "community_name": "Community 114", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_canonical_rationale_95", "label": "BuildingTypeConfig seeding via the canonical script.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BuildingTypeConfig seeding via the canonical script.", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_canonical_rationale_99", "label": "Canonical seed must insert BuildingTypeConfig rows.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Canonical seed must insert BuildingTypeConfig rows.", "community": 115, "community_name": "Community 115", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_canonical_rationale_108", "label": "Running twice must not create duplicate BuildingTypeConfig rows.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Running twice must not create duplicate BuildingTypeConfig rows.", "community": 116, "community_name": "Community 116", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_canonical_rationale_121", "label": "PostPriorityConfig seeding via the canonical script. This is the seed that", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PostPriorityConfig seeding via the canonical script. This is the seed that", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_canonical_rationale_129", "label": "Canonical seed must insert all 18 PostPriorityConfig rows.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Canonical seed must insert all 18 PostPriorityConfig rows.", "community": 117, "community_name": "Community 117", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_canonical_rationale_138", "label": "PostPriorityConfig rows must cover post numbers 1 through 18.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "PostPriorityConfig rows must cover post numbers 1 through 18.", "community": 118, "community_name": "Community 118", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_canonical_rationale_146", "label": "All PostPriorityConfig rows must have default priority of 2.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "All PostPriorityConfig rows must have default priority of 2.", "community": 119, "community_name": "Community 119", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_canonical_rationale_154", "label": "Running twice must not create duplicate PostPriorityConfig rows.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Running twice must not create duplicate PostPriorityConfig rows.", "community": 120, "community_name": "Community 120", "source_file": "backend/tests/test_seed_canonical.py", "file_type": "rationale", "degree": 0}, {"id": "backend_tests_test_seed_demo_py", "label": "test_seed_demo.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.8, "font": {"size": 12, "color": "#ffffff"}, "title": "test_seed_demo.py", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 20}, {"id": "tests_test_seed_demo_session", "label": "session()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "session()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 5}, {"id": "tests_test_seed_demo_run_seed", "label": "_run_seed()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "_run_seed()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 22}, {"id": "tests_test_seed_demo_testseeddemomembers", "label": "TestSeedDemoMembers", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TestSeedDemoMembers", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 9}, {"id": "tests_test_seed_demo_test_creates_25_members", "label": "test_creates_25_members()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_creates_25_members()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_test_members_have_demo_names", "label": "test_members_have_demo_names()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_members_have_demo_names()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_test_idempotent_member_creation", "label": "test_idempotent_member_creation()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_idempotent_member_creation()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_testseeddemosiege", "label": "TestSeedDemoSiege", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "TestSeedDemoSiege", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 8}, {"id": "tests_test_seed_demo_test_creates_one_siege", "label": "test_creates_one_siege()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_creates_one_siege()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_test_siege_has_active_status", "label": "test_siege_has_active_status()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_siege_has_active_status()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_test_idempotent_siege_creation", "label": "test_idempotent_siege_creation()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_idempotent_siege_creation()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_testseeddemobuildingsandpositions", "label": "TestSeedDemoBuildingsAndPositions", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TestSeedDemoBuildingsAndPositions", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 9}, {"id": "tests_test_seed_demo_test_creates_buildings", "label": "test_creates_buildings()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_creates_buildings()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_test_creates_positions", "label": "test_creates_positions()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_creates_positions()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_test_some_positions_have_members", "label": "test_some_positions_have_members()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_some_positions_have_members()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_test_idempotent_position_creation", "label": "test_idempotent_position_creation()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_idempotent_position_creation()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_testseeddemosiegemembers", "label": "TestSeedDemosiegeMembers", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TestSeedDemosiegeMembers", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 9}, {"id": "tests_test_seed_demo_test_enrolls_all_members", "label": "test_enrolls_all_members()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_enrolls_all_members()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_test_members_have_attack_days", "label": "test_members_have_attack_days()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_members_have_attack_days()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_test_idempotent_siege_member_enrollment", "label": "test_idempotent_siege_member_enrollment()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_idempotent_siege_member_enrollment()", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "code", "degree": 2}, {"id": "tests_test_seed_demo_rationale_1", "label": "Smoke tests for scripts/seed_demo.py. These tests run against an in-memory SQLi", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Smoke tests for scripts/seed_demo.py. These tests run against an in-memory SQLi", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_demo_rationale_42", "label": "Provide a fresh in-memory SQLite session for each test.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Provide a fresh in-memory SQLite session for each test.", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_demo_rationale_60", "label": "Run the demo seed functions against the provided session.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Run the demo seed functions against the provided session.", "community": 5, "community_name": "Community 5", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_demo_rationale_92", "label": "Demo member creation.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Demo member creation.", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_demo_rationale_110", "label": "Running twice must not create duplicate members.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Running twice must not create duplicate members.", "community": 121, "community_name": "Community 121", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_demo_rationale_134", "label": "Running twice must not create a second siege.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Running twice must not create a second siege.", "community": 122, "community_name": "Community 122", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_demo_rationale_142", "label": "Buildings and positions.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Buildings and positions.", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_demo_rationale_158", "label": "Most positions should be filled with demo members.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Most positions should be filled with demo members.", "community": 123, "community_name": "Community 123", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_demo_rationale_169", "label": "Running twice must not double the building/position count.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Running twice must not double the building/position count.", "community": 124, "community_name": "Community 124", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 0}, {"id": "tests_test_seed_demo_rationale_182", "label": "Siege member enrollments.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Siege member enrollments.", "community": 16, "community_name": "Community 16", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_seed_demo_rationale_200", "label": "Running twice must not double the siege_member count.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "Running twice must not double the siege_member count.", "community": 125, "community_name": "Community 125", "source_file": "backend/tests/test_seed_demo.py", "file_type": "rationale", "degree": 0}, {"id": "backend_tests_test_sieges_py", "label": "test_sieges.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "test_sieges.py", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 15}, {"id": "tests_test_sieges_make_siege", "label": "_make_siege()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 40.0, "font": {"size": 12, "color": "#ffffff"}, "title": "_make_siege()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 124}, {"id": "tests_test_sieges_test_list_sieges_returns_empty_list", "label": "test_list_sieges_returns_empty_list()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_list_sieges_returns_empty_list()", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 1}, {"id": "tests_test_sieges_test_create_siege_returns_201", "label": "test_create_siege_returns_201()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_create_siege_returns_201()", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 2}, {"id": "tests_test_sieges_test_get_siege_not_found_returns_404", "label": "test_get_siege_not_found_returns_404()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_siege_not_found_returns_404()", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 1}, {"id": "tests_test_sieges_test_delete_planning_siege_returns_204", "label": "test_delete_planning_siege_returns_204()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_delete_planning_siege_returns_204()", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 1}, {"id": "tests_test_sieges_test_delete_active_siege_returns_400", "label": "test_delete_active_siege_returns_400()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_delete_active_siege_returns_400()", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 1}, {"id": "tests_test_sieges_seed_siege", "label": "_seed_siege()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_seed_siege()", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 14}, {"id": "tests_test_sieges_test_compute_scroll_count_sums_theoretical_capacity", "label": "test_compute_scroll_count_sums_theoretical_capacity()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compute_scroll_count_sums_theoretical_capacity()", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 4}, {"id": "tests_test_sieges_test_compute_scroll_count_broken_building_unchanged", "label": "test_compute_scroll_count_broken_building_unchanged()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compute_scroll_count_broken_building_unchanged()", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 4}, {"id": "tests_test_sieges_test_compute_scroll_count_level_change_updates_count", "label": "test_compute_scroll_count_level_change_updates_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compute_scroll_count_level_change_updates_count()", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 4}, {"id": "tests_test_sieges_test_compute_scroll_count_post_buildings_contribute_one", "label": "test_compute_scroll_count_post_buildings_contribute_one()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compute_scroll_count_post_buildings_contribute_one()", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "code", "degree": 4}, {"id": "tests_test_sieges_rationale_1", "label": "Endpoint tests for /api/sieges \u2014 mocks the service layer directly.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Endpoint tests for /api/sieges \u2014 mocks the service layer directly.", "community": 60, "community_name": "Community 60", "source_file": "backend/tests/test_sieges.py", "file_type": "rationale", "degree": 2}, {"id": "tests_test_sieges_rationale_169", "label": "Insert a siege with the given buildings and return the siege id. Each dict", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Insert a siege with the given buildings and return the siege id. Each dict", "community": 32, "community_name": "Community 32", "source_file": "backend/tests/test_sieges.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_sieges_rationale_206", "label": "compute_scroll_count returns the sum of _LEVEL_TEAMS capacities for all building", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "compute_scroll_count returns the sum of _LEVEL_TEAMS capacities for all building", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_sieges_rationale_230", "label": "Breaking a building must NOT change the scroll count (regression guard for issue", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Breaking a building must NOT change the scroll count (regression guard for issue", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_sieges_rationale_263", "label": "A level change must update the scroll count. One defense_tower at level 1 (", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A level change must update the scroll count. One defense_tower at level 1 (", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_sieges_rationale_293", "label": "Post buildings (not in _LEVEL_TEAMS) must contribute 1 position each. One s", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Post buildings (not in _LEVEL_TEAMS) must contribute 1 position each. One s", "community": 30, "community_name": "Community 30", "source_file": "backend/tests/test_sieges.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_testconfiguretelemetrynoop", "label": "TestConfigureTelemetryNoop", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TestConfigureTelemetryNoop", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 9}, {"id": "tests_test_telemetry_testconfiguretelemetrynoop_test_noop_when_env_var_missing", "label": ".test_noop_when_env_var_missing()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_noop_when_env_var_missing()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetrynoop_test_noop_when_env_var_empty_string", "label": ".test_noop_when_env_var_empty_string()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_noop_when_env_var_empty_string()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetrynoop_test_noop_when_env_var_whitespace_only", "label": ".test_noop_when_env_var_whitespace_only()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_noop_when_env_var_whitespace_only()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetryactive_test_calls_configure_azure_monitor_when_env_var_set", "label": ".test_calls_configure_azure_monitor_when_env_var_set()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_calls_configure_azure_monitor_when_env_var_set()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetryactive_test_sdk_exception_does_not_propagate", "label": ".test_sdk_exception_does_not_propagate()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_sdk_exception_does_not_propagate()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation", "label": "TestConfigureTelemetryFastAPIInstrumentation", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestConfigureTelemetryFastAPIInstrumentation", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 6}, {"id": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation_test_instrument_app_called_when_connection_string_and_service_name_set", "label": ".test_instrument_app_called_when_connection_string_and_service_name_set()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_instrument_app_called_when_connection_string_and_service_name_set()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation_test_configure_azure_monitor_called_when_both_env_vars_set", "label": ".test_configure_azure_monitor_called_when_both_env_vars_set()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_configure_azure_monitor_called_when_both_env_vars_set()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation_test_instrument_app_not_called_when_app_is_none", "label": ".test_instrument_app_not_called_when_app_is_none()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_instrument_app_not_called_when_app_is_none()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation", "label": "TestConfigureTelemetrySQLAlchemyInstrumentation", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TestConfigureTelemetrySQLAlchemyInstrumentation", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 5}, {"id": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation_test_sqlalchemy_instrument_called_with_sync_engine", "label": ".test_sqlalchemy_instrument_called_with_sync_engine()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_sqlalchemy_instrument_called_with_sync_engine()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation_test_sqlalchemy_instrument_not_called_when_engine_is_none", "label": ".test_sqlalchemy_instrument_not_called_when_engine_is_none()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_sqlalchemy_instrument_not_called_when_engine_is_none()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation_test_sqlalchemy_instrument_not_called_when_telemetry_unconfigured", "label": ".test_sqlalchemy_instrument_not_called_when_telemetry_unconfigured()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_sqlalchemy_instrument_not_called_when_telemetry_unconfigured()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation", "label": "TestConfigureTelemetryAsyncPGInstrumentation", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "TestConfigureTelemetryAsyncPGInstrumentation", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 4}, {"id": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation_test_asyncpg_instrument_called_when_telemetry_configured", "label": ".test_asyncpg_instrument_called_when_telemetry_configured()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_asyncpg_instrument_called_when_telemetry_configured()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation_test_asyncpg_instrument_not_called_when_telemetry_unconfigured", "label": ".test_asyncpg_instrument_not_called_when_telemetry_unconfigured()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".test_asyncpg_instrument_not_called_when_telemetry_unconfigured()", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "code", "degree": 2}, {"id": "tests_test_telemetry_rationale_1", "label": "Tests for backend/app/telemetry.py. Verifies: - configure_telemetry() is a no-o", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for backend/app/telemetry.py. Verifies: - configure_telemetry() is a no-o", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_18", "label": "When APPLICATIONINSIGHTS_CONNECTION_STRING is absent, nothing should happen.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When APPLICATIONINSIGHTS_CONNECTION_STRING is absent, nothing should happen.", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_21", "label": "No exception and configure_azure_monitor is never imported or called.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "No exception and configure_azure_monitor is never imported or called.", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_43", "label": "An explicitly empty string also results in a no-op.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "An explicitly empty string also results in a no-op.", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_62", "label": "A whitespace-only string is treated the same as empty.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A whitespace-only string is treated the same as empty.", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_82", "label": "When env var is set, configure_azure_monitor() must be called.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When env var is set, configure_azure_monitor() must be called.", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_93", "label": "configure_azure_monitor() is called exactly once with logger_name='app'.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "configure_azure_monitor() is called exactly once with logger_name=&#x27;app&#x27;.", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_112", "label": "If configure_azure_monitor raises, the exception is swallowed.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "If configure_azure_monitor raises, the exception is swallowed.", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_131", "label": "Regression tests: FastAPIInstrumentor.instrument_app() must be called. Issu", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Regression tests: FastAPIInstrumentor.instrument_app() must be called. Issu", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_144", "label": "FastAPIInstrumentor.instrument_app() is called with the FastAPI app. Wh", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "FastAPIInstrumentor.instrument_app() is called with the FastAPI app. Wh", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 2}, {"id": "tests_test_telemetry_rationale_183", "label": "configure_azure_monitor() is called when both env vars are present. Reg", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "configure_azure_monitor() is called when both env vars are present. Reg", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_219", "label": "FastAPIInstrumentor.instrument_app() is NOT called when app argument is None.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "FastAPIInstrumentor.instrument_app() is NOT called when app argument is None.", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_259", "label": "SQLAlchemyInstrumentor must be called when engine is provided. Issue #257:", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SQLAlchemyInstrumentor must be called when engine is provided. Issue #257:", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_274", "label": "SQLAlchemyInstrumentor().instrument(engine=...) is called with the engin", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SQLAlchemyInstrumentor().instrument(engine=...) is called with the engin", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_316", "label": "SQLAlchemyInstrumentor().instrument() is NOT called when no engine argum", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SQLAlchemyInstrumentor().instrument() is NOT called when no engine argum", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_354", "label": "SQLAlchemyInstrumentor().instrument() is NOT called when APPLICATIONINSI", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SQLAlchemyInstrumentor().instrument() is NOT called when APPLICATIONINSI", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_392", "label": "AsyncPGInstrumentor must be called whenever telemetry is active. Issue #257", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncPGInstrumentor must be called whenever telemetry is active. Issue #257", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_406", "label": "AsyncPGInstrumentor().instrument() is called when telemetry is active, r", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncPGInstrumentor().instrument() is called when telemetry is active, r", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_telemetry_rationale_444", "label": "AsyncPGInstrumentor().instrument() is NOT called when APPLICATIONINSIGHT", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncPGInstrumentor().instrument() is NOT called when APPLICATIONINSIGHT", "community": 18, "community_name": "Community 18", "source_file": "backend/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_validation_py", "label": "test_validation.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 21.9, "font": {"size": 12, "color": "#ffffff"}, "title": "test_validation.py", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 49}, {"id": "tests_test_validation_make_condition", "label": "_make_condition()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.3, "font": {"size": 12, "color": "#ffffff"}, "title": "_make_condition()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 26}, {"id": "tests_test_validation_test_validate_endpoint_404", "label": "test_validate_endpoint_404()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_validate_endpoint_404()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 1}, {"id": "tests_test_validation_test_validate_endpoint_returns_result", "label": "test_validate_endpoint_returns_result()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_validate_endpoint_returns_result()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 2}, {"id": "tests_test_validation_test_rule1_inactive_member_error", "label": "test_rule1_inactive_member_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule1_inactive_member_error()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule1_active_member_no_error", "label": "test_rule1_active_member_no_error()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule1_active_member_no_error()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule2_broken_building_assignment_counts_toward_scroll_limit", "label": "test_rule2_broken_building_assignment_counts_toward_scroll_limit()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule2_broken_building_assignment_counts_toward_scroll_limit()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule2_broken_and_healthy_both_count_toward_scroll_limit", "label": "test_rule2_broken_and_healthy_both_count_toward_scroll_limit()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule2_broken_and_healthy_both_count_toward_scroll_limit()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule2_exceeds_scroll_count", "label": "test_rule2_exceeds_scroll_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule2_exceeds_scroll_count()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule2_within_scroll_count", "label": "test_rule2_within_scroll_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule2_within_scroll_count()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule3_valid_building_number", "label": "test_rule3_valid_building_number()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule3_valid_building_number()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 6}, {"id": "tests_test_validation_test_rule4_invalid_group_number", "label": "test_rule4_invalid_group_number()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule4_invalid_group_number()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 7}, {"id": "tests_test_validation_test_rule4_valid_group_number", "label": "test_rule4_valid_group_number()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule4_valid_group_number()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 7}, {"id": "tests_test_validation_test_rule5_position_number_exceeds_slot_count", "label": "test_rule5_position_number_exceeds_slot_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule5_position_number_exceeds_slot_count()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 7}, {"id": "tests_test_validation_test_rule5_valid_position_number", "label": "test_rule5_valid_position_number()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule5_valid_position_number()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 7}, {"id": "tests_test_validation_test_rule6_valid_attack_day", "label": "test_rule6_valid_attack_day()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule6_valid_attack_day()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 6}, {"id": "tests_test_validation_test_rule7_post_has_multiple_groups", "label": "test_rule7_post_has_multiple_groups()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule7_post_has_multiple_groups()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 6}, {"id": "tests_test_validation_test_rule7_post_has_exactly_one_group", "label": "test_rule7_post_has_exactly_one_group()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule7_post_has_exactly_one_group()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 6}, {"id": "tests_test_validation_test_rule8_disabled_with_member", "label": "test_rule8_disabled_with_member()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule8_disabled_with_member()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 8}, {"id": "tests_test_validation_test_rule8_reserve_with_member", "label": "test_rule8_reserve_with_member()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule8_reserve_with_member()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 8}, {"id": "tests_test_validation_test_rule8_valid_state", "label": "test_rule8_valid_state()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule8_valid_state()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 8}, {"id": "tests_test_validation_test_rule9_wrong_building_count", "label": "test_rule9_wrong_building_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule9_wrong_building_count()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 4}, {"id": "tests_test_validation_test_rule9_correct_building_count", "label": "test_rule9_correct_building_count()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule9_correct_building_count()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 5}, {"id": "tests_test_validation_test_rule10_empty_unresolved_slot", "label": "test_rule10_empty_unresolved_slot()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule10_empty_unresolved_slot()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 7}, {"id": "tests_test_validation_test_rule10_message_uses_position_name", "label": "test_rule10_message_uses_position_name()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule10_message_uses_position_name()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 7}, {"id": "tests_test_validation_test_rule10_no_warning_when_disabled", "label": "test_rule10_no_warning_when_disabled()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule10_no_warning_when_disabled()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 7}, {"id": "tests_test_validation_test_rule11_member_pref_no_match", "label": "test_rule11_member_pref_no_match()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule11_member_pref_no_match()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 11}, {"id": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "label": "test_rule11_no_warning_when_no_preferences()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule11_no_warning_when_no_preferences()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 11}, {"id": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "label": "test_rule13_missing_attack_day_assigned_member()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule13_missing_attack_day_assigned_member()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 10}, {"id": "tests_test_validation_test_rule13_attack_day_set", "label": "test_rule13_attack_day_set()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule13_attack_day_set()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule14_fewer_than_10_day2", "label": "test_rule14_fewer_than_10_day2()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule14_fewer_than_10_day2()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 5}, {"id": "tests_test_validation_test_rule14_ten_or_more_day2", "label": "test_rule14_ten_or_more_day2()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule14_ten_or_more_day2()", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 5}, {"id": "tests_test_validation_test_rule15_hh_no_reserve", "label": "test_rule15_hh_no_reserve()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule15_hh_no_reserve()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule15_advanced_no_reserve", "label": "test_rule15_advanced_no_reserve()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule15_advanced_no_reserve()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule15_hh_reserve_configured", "label": "test_rule15_hh_reserve_configured()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule15_hh_reserve_configured()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule15_non_hh_no_reserve_no_warning", "label": "test_rule15_non_hh_no_reserve_no_warning()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule15_non_hh_no_reserve_no_warning()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 9}, {"id": "tests_test_validation_test_rule16_post_fewer_than_3_conditions", "label": "test_rule16_post_fewer_than_3_conditions()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule16_post_fewer_than_3_conditions()", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 8}, {"id": "tests_test_validation_test_rule16_post_has_3_conditions", "label": "test_rule16_post_has_3_conditions()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_rule16_post_has_3_conditions()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 8}, {"id": "tests_test_validation_default_configs", "label": "_default_configs()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_default_configs()", "community": 54, "community_name": "Community 54", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 4}, {"id": "tests_test_validation_session_with_siege_and_configs", "label": "_session_with_siege_and_configs()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 18.5, "font": {"size": 12, "color": "#ffffff"}, "title": "_session_with_siege_and_configs()", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "code", "degree": 35}, {"id": "tests_test_validation_rationale_1", "label": "Tests for the validation engine (all 16 rules) and the validate endpoint.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the validation engine (all 16 rules) and the validate endpoint.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_216", "label": "Rule 1: assigned member who is inactive triggers an error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 1: assigned member who is inactive triggers an error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_236", "label": "Rule 1 pass: active member assigned \u2014 no rule 1 error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 1 pass: active member assigned \u2014 no rule 1 error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_256", "label": "Rule 2 regression (#253): assignments on broken buildings count toward scroll bu", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 2 regression (#253): assignments on broken buildings count toward scroll bu", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_294", "label": "Rule 2: assignments on broken buildings add to healthy-building count. Memb", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 2: assignments on broken buildings add to healthy-building count. Memb", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_341", "label": "Rule 2: member assigned 4 times when scrolls_per_player limit is 3 \u2192 error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 2: member assigned 4 times when scrolls_per_player limit is 3 \u2192 error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_365", "label": "Rule 2 pass: member assigned once, scroll count 5 \u2192 no error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 2 pass: member assigned once, scroll count 5 \u2192 no error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_385", "label": "Rule 3: building_number=0 for stronghold \u2192 friendly label, no id= leak.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 3: building_number=0 for stronghold \u2192 friendly label, no id= leak.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_407", "label": "Rule 3 pass: building_number=1 for stronghold.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 3 pass: building_number=1 for stronghold.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_421", "label": "Rule 4: group_number=10 \u2192 error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 4: group_number=10 \u2192 error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_438", "label": "Rule 4 pass: group_number=1.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 4 pass: group_number=1.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_455", "label": "Rule 5: position_number=4 with slot_count=3 \u2192 error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 5: position_number=4 with slot_count=3 \u2192 error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_472", "label": "Rule 5 pass: position_number=2, slot_count=3.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 5 pass: position_number=2, slot_count=3.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_489", "label": "Rule 6: attack_day=3 \u2192 error.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 6: attack_day=3 \u2192 error.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_502", "label": "Rule 6 pass: attack_day=2.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 6 pass: attack_day=2.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_515", "label": "Rule 7: post building with 2 groups \u2192 error with correct message.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 7: post building with 2 groups \u2192 error with correct message.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_537", "label": "Rule 7 pass: post building with 1 group.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 7 pass: post building with 1 group.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_553", "label": "Rule 8: disabled position with member_id \u2192 error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 8: disabled position with member_id \u2192 error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_571", "label": "Rule 8: reserve position with member \u2192 error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 8: reserve position with member \u2192 error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_589", "label": "Rule 8 pass: position with member, not reserve, not disabled.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 8 pass: position with member, not reserve, not disabled.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_607", "label": "Rule 9: 0 strongholds when config expects 1 \u2192 error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 9: 0 strongholds when config expects 1 \u2192 error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_619", "label": "Rule 9 pass: exactly the right number of each building type.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 9 pass: exactly the right number of each building type.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_644", "label": "Rule 10: unassigned, non-disabled, non-reserve position \u2192 warning.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 10: unassigned, non-disabled, non-reserve position \u2192 warning.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_661", "label": "Rule 10 message uses friendly building label, not raw enum value.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 10 message uses friendly building label, not raw enum value.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_688", "label": "Rule 10 pass: disabled empty position \u2192 no rule 10 warning.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 10 pass: disabled empty position \u2192 no rule 10 warning.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_705", "label": "Rule 11: member has preferences but none match active conditions \u2192 warning.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 11: member has preferences but none match active conditions \u2192 warning.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_733", "label": "Rule 11 pass: member has no preferences \u2192 skip warning.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 11 pass: member has no preferences \u2192 skip warning.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_760", "label": "Rule 13: assigned member with no attack_day \u2192 error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 13: assigned member with no attack_day \u2192 error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_780", "label": "Rule 13: siege member not assigned to any position but has no attack_day \u2192 error", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 13: siege member not assigned to any position but has no attack_day \u2192 error", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_796", "label": "Rule 13 pass: all siege members have attack_day set \u2192 no rule 13 error.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 13 pass: all siege members have attack_day set \u2192 no rule 13 error.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_816", "label": "Rule 14: 5 Day 2 attackers \u2192 warning.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 14: 5 Day 2 attackers \u2192 warning.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_831", "label": "Rule 14 pass: 10 Day 2 attackers \u2192 no warning.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 14 pass: 10 Day 2 attackers \u2192 no warning.", "community": 12, "community_name": "Community 12", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_846", "label": "Rule 15: HH member with has_reserve_set=None \u2192 warning.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 15: HH member with has_reserve_set=None \u2192 warning.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_866", "label": "Rule 15: Advanced Role member with has_reserve_set=None \u2192 warning.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 15: Advanced Role member with has_reserve_set=None \u2192 warning.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_886", "label": "Rule 15 pass: HH member with has_reserve_set=True \u2192 no warning.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 15 pass: HH member with has_reserve_set=True \u2192 no warning.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_906", "label": "Rule 15 pass: medium/novice member with has_reserve_set=None \u2192 no warning.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 15 pass: medium/novice member with has_reserve_set=None \u2192 no warning.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_926", "label": "Rule 16: post with 1 active condition \u2192 warning with correct message.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 16: post with 1 active condition \u2192 warning with correct message.", "community": 6, "community_name": "Community 6", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_validation_rationale_953", "label": "Rule 16 pass: post with 3 active conditions \u2192 no rule 16 warning.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rule 16 pass: post with 3 active conditions \u2192 no rule 16 warning.", "community": 0, "community_name": "Community 0", "source_file": "backend/tests/test_validation.py", "file_type": "rationale", "degree": 1}, {"id": "backend_tests_test_version_py", "label": "test_version.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_version.py", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 11}, {"id": "tests_test_version_reload_version_module", "label": "_reload_version_module()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_reload_version_module()", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 2}, {"id": "tests_test_version_test_read_backend_version_semver_only", "label": "test_read_backend_version_semver_only()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_read_backend_version_semver_only()", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 3}, {"id": "tests_test_version_test_read_backend_version_with_build_info", "label": "test_read_backend_version_with_build_info()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_read_backend_version_with_build_info()", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 2}, {"id": "tests_test_version_test_read_backend_version_missing_version_file", "label": "test_read_backend_version_missing_version_file()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_read_backend_version_missing_version_file()", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 2}, {"id": "tests_test_version_test_read_backend_version_build_info_with_missing_file", "label": "test_read_backend_version_build_info_with_missing_file()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_read_backend_version_build_info_with_missing_file()", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 2}, {"id": "tests_test_version_test_get_version_returns_200_with_expected_keys", "label": "test_get_version_returns_200_with_expected_keys()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_version_returns_200_with_expected_keys()", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 2}, {"id": "tests_test_version_test_get_version_backend_version_has_build_suffix", "label": "test_get_version_backend_version_has_build_suffix()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_version_backend_version_has_build_suffix()", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 2}, {"id": "tests_test_version_test_get_version_backend_version_clean_in_local_dev", "label": "test_get_version_backend_version_clean_in_local_dev()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_version_backend_version_clean_in_local_dev()", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 2}, {"id": "tests_test_version_test_get_version_git_sha_field_preserved", "label": "test_get_version_git_sha_field_preserved()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_version_git_sha_field_preserved()", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 2}, {"id": "tests_test_version_test_get_version_bot_unreachable_returns_none", "label": "test_get_version_bot_unreachable_returns_none()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_version_bot_unreachable_returns_none()", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "code", "degree": 2}, {"id": "tests_test_version_rationale_1", "label": "Tests for GET /api/version endpoint and _read_backend_version helper.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for GET /api/version endpoint and _read_backend_version helper.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_17", "label": "Force re-import of version module so env-var reads pick up monkeypatches.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Force re-import of version module so env-var reads pick up monkeypatches.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_30", "label": "When BUILD_NUMBER / GIT_SHA are absent, return bare semver.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When BUILD_NUMBER / GIT_SHA are absent, return bare semver.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_43", "label": "When env vars are explicitly 'unknown', return bare semver.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When env vars are explicitly &#x27;unknown&#x27;, return bare semver.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_54", "label": "When both BUILD_NUMBER and GIT_SHA are set, return combined string.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When both BUILD_NUMBER and GIT_SHA are set, return combined string.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_71", "label": "When the VERSION file is missing, semver falls back to 'unknown'.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When the VERSION file is missing, semver falls back to &#x27;unknown&#x27;.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_88", "label": "Even with a missing VERSION file, build suffix is appended if env vars are set.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Even with a missing VERSION file, build suffix is appended if env vars are set.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_110", "label": "GET /api/version responds 200 with all required fields.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GET /api/version responds 200 with all required fields.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_129", "label": "backend_version includes build metadata when env vars are present.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "backend_version includes build metadata when env vars are present.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_145", "label": "backend_version is bare semver when BUILD_NUMBER/GIT_SHA are absent.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "backend_version is bare semver when BUILD_NUMBER/GIT_SHA are absent.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_160", "label": "git_sha top-level field is still returned for backward compatibility.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "git_sha top-level field is still returned for backward compatibility.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_version_rationale_176", "label": "bot_version is null when the bot sidecar is unreachable.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "bot_version is null when the bot sidecar is unreachable.", "community": 29, "community_name": "Community 29", "source_file": "backend/tests/test_version.py", "file_type": "rationale", "degree": 1}, {"id": "bot_app_config_py", "label": "config.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "config.py", "community": 10, "community_name": "Community 10", "source_file": "bot/app/config.py", "file_type": "code", "degree": 3}, {"id": "bot_app_discord_client_py", "label": "discord_client.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "discord_client.py", "community": 37, "community_name": "Community 37", "source_file": "bot/app/discord_client.py", "file_type": "code", "degree": 1}, {"id": "app_discord_client_siegebot", "label": "SiegeBot", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeBot", "community": 37, "community_name": "Community 37", "source_file": "bot/app/discord_client.py", "file_type": "code", "degree": 12}, {"id": "app_discord_client_siegebot_on_ready", "label": ".on_ready()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": ".on_ready()", "community": 37, "community_name": "Community 37", "source_file": "bot/app/discord_client.py", "file_type": "code", "degree": 1}, {"id": "app_discord_client_siegebot_require_guild", "label": "._require_guild()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "._require_guild()", "community": 37, "community_name": "Community 37", "source_file": "bot/app/discord_client.py", "file_type": "code", "degree": 5}, {"id": "app_discord_client_rationale_7", "label": "Discord client for the Siege Assignment System.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Discord client for the Siege Assignment System.", "community": 37, "community_name": "Community 37", "source_file": "bot/app/discord_client.py", "file_type": "rationale", "degree": 1}, {"id": "app_discord_client_rationale_23", "label": "Find member by username in the guild, open DM, send message.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Find member by username in the guild, open DM, send message.", "community": 37, "community_name": "Community 37", "source_file": "bot/app/discord_client.py", "file_type": "rationale", "degree": 1}, {"id": "app_discord_client_rationale_34", "label": "Find text channel by name, post message.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Find text channel by name, post message.", "community": 37, "community_name": "Community 37", "source_file": "bot/app/discord_client.py", "file_type": "rationale", "degree": 1}, {"id": "app_discord_client_rationale_47", "label": "Find text channel by name, post image as Discord file attachment. Retur", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Find text channel by name, post image as Discord file attachment. Retur", "community": 37, "community_name": "Community 37", "source_file": "bot/app/discord_client.py", "file_type": "rationale", "degree": 1}, {"id": "app_discord_client_rationale_62", "label": "Return list of guild members as dicts with id, username, and display_name.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return list of guild members as dicts with id, username, and display_name.", "community": 57, "community_name": "Community 57", "source_file": "bot/app/discord_client.py", "file_type": "rationale", "degree": 1}, {"id": "bot_app_http_api_py", "label": "http_api.py", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "http_api.py", "community": 50, "community_name": "Community 50", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 12}, {"id": "app_http_api_set_bot", "label": "set_bot()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "set_bot()", "community": 50, "community_name": "Community 50", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 2}, {"id": "app_http_api_get_bot", "label": "_get_bot()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_get_bot()", "community": 37, "community_name": "Community 37", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 5}, {"id": "app_http_api_verify_api_key", "label": "verify_api_key()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "verify_api_key()", "community": 50, "community_name": "Community 50", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 2}, {"id": "app_http_api_notifyrequest", "label": "NotifyRequest", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "NotifyRequest", "community": 50, "community_name": "Community 50", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 3}, {"id": "app_http_api_postmessagerequest", "label": "PostMessageRequest", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "PostMessageRequest", "community": 50, "community_name": "Community 50", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 3}, {"id": "app_http_api_version", "label": "version()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "version()", "community": 40, "community_name": "Community 40", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 11}, {"id": "app_http_api_notify", "label": "notify()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "notify()", "community": 61, "community_name": "Community 61", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 6}, {"id": "app_http_api_post_message", "label": "post_message()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "post_message()", "community": 37, "community_name": "Community 37", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 9}, {"id": "app_http_api_post_image", "label": "post_image()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "post_image()", "community": 37, "community_name": "Community 37", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 8}, {"id": "app_http_api_get_guild_member", "label": "get_guild_member()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "get_guild_member()", "community": 50, "community_name": "Community 50", "source_file": "bot/app/http_api.py", "file_type": "code", "degree": 3}, {"id": "app_http_api_rationale_37", "label": "Validate the Bearer token against the configured bot API key.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Validate the Bearer token against the configured bot API key.", "community": 50, "community_name": "Community 50", "source_file": "bot/app/http_api.py", "file_type": "rationale", "degree": 1}, {"id": "app_http_api_rationale_58", "label": "Return the bot version \u2014 no authentication required. Returns ``1.0.1+42.abc", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return the bot version \u2014 no authentication required. Returns ``1.0.1+42.abc", "community": 40, "community_name": "Community 40", "source_file": "bot/app/http_api.py", "file_type": "rationale", "degree": 1}, {"id": "app_http_api_rationale_78", "label": "Health check \u2014 no authentication required.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Health check \u2014 no authentication required.", "community": 50, "community_name": "Community 50", "source_file": "bot/app/http_api.py", "file_type": "rationale", "degree": 1}, {"id": "app_http_api_rationale_87", "label": "Send a DM notification to a guild member.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Send a DM notification to a guild member.", "community": 61, "community_name": "Community 61", "source_file": "bot/app/http_api.py", "file_type": "rationale", "degree": 1}, {"id": "app_http_api_rationale_101", "label": "Post a text message to a guild channel.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Post a text message to a guild channel.", "community": 37, "community_name": "Community 37", "source_file": "bot/app/http_api.py", "file_type": "rationale", "degree": 1}, {"id": "app_http_api_rationale_116", "label": "Post an image to a guild channel.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Post an image to a guild channel.", "community": 37, "community_name": "Community 37", "source_file": "bot/app/http_api.py", "file_type": "rationale", "degree": 1}, {"id": "app_http_api_rationale_130", "label": "Retrieve guild member list.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Retrieve guild member list.", "community": 57, "community_name": "Community 57", "source_file": "bot/app/http_api.py", "file_type": "rationale", "degree": 1}, {"id": "app_http_api_rationale_140", "label": "Look up a single guild member by Discord user ID. Returns ``{\"is_member\": f", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Look up a single guild member by Discord user ID. Returns ``{&quot;is_member&quot;: f", "community": 50, "community_name": "Community 50", "source_file": "bot/app/http_api.py", "file_type": "rationale", "degree": 1}, {"id": "bot_app_main_py", "label": "main.py", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "main.py", "community": 5, "community_name": "Community 5", "source_file": "bot/app/main.py", "file_type": "code", "degree": 5}, {"id": "app_main_run_http_server", "label": "run_http_server()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "run_http_server()", "community": 5, "community_name": "Community 5", "source_file": "bot/app/main.py", "file_type": "code", "degree": 3}, {"id": "app_main_run_discord_client", "label": "run_discord_client()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "run_discord_client()", "community": 5, "community_name": "Community 5", "source_file": "bot/app/main.py", "file_type": "code", "degree": 3}, {"id": "app_main_main", "label": "main()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 14.8, "font": {"size": 12, "color": "#ffffff"}, "title": "main()", "community": 5, "community_name": "Community 5", "source_file": "bot/app/main.py", "file_type": "code", "degree": 20}, {"id": "app_main_rationale_19", "label": "Run the FastAPI/uvicorn HTTP sidecar on port 8001.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Run the FastAPI/uvicorn HTTP sidecar on port 8001.", "community": 5, "community_name": "Community 5", "source_file": "bot/app/main.py", "file_type": "rationale", "degree": 1}, {"id": "app_main_rationale_31", "label": "Connect and run the Discord client.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Connect and run the Discord client.", "community": 5, "community_name": "Community 5", "source_file": "bot/app/main.py", "file_type": "rationale", "degree": 1}, {"id": "app_main_rationale_37", "label": "Start both the Discord client and HTTP server concurrently.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Start both the Discord client and HTTP server concurrently.", "community": 5, "community_name": "Community 5", "source_file": "bot/app/main.py", "file_type": "rationale", "degree": 1}, {"id": "bot_app_telemetry_py", "label": "telemetry.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "telemetry.py", "community": 69, "community_name": "Community 69", "source_file": "bot/app/telemetry.py", "file_type": "code", "degree": 2}, {"id": "bot_app_init_py", "label": "__init__.py", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "__init__.py", "community": 126, "community_name": "Community 126", "source_file": "bot/app/__init__.py", "file_type": "code", "degree": 0}, {"id": "bot_tests_conftest_py", "label": "conftest.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "conftest.py", "community": 51, "community_name": "Community 51", "source_file": "bot/tests/conftest.py", "file_type": "code", "degree": 7}, {"id": "tests_conftest_fakeclient", "label": "_FakeClient", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_FakeClient", "community": 51, "community_name": "Community 51", "source_file": "bot/tests/conftest.py", "file_type": "code", "degree": 2}, {"id": "tests_conftest_fakeclient_init", "label": ".__init__()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": ".__init__()", "community": 51, "community_name": "Community 51", "source_file": "bot/tests/conftest.py", "file_type": "code", "degree": 2}, {"id": "tests_conftest_faketextchannel", "label": "_FakeTextChannel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_FakeTextChannel", "community": 51, "community_name": "Community 51", "source_file": "bot/tests/conftest.py", "file_type": "code", "degree": 1}, {"id": "tests_conftest_fakehttpexception", "label": "_FakeHTTPException", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_FakeHTTPException", "community": 51, "community_name": "Community 51", "source_file": "bot/tests/conftest.py", "file_type": "code", "degree": 3}, {"id": "exception", "label": "Exception", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Exception", "community": 51, "community_name": "Community 51", "source_file": "", "file_type": "code", "degree": 1}, {"id": "tests_conftest_fakenotfound", "label": "_FakeNotFound", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_FakeNotFound", "community": 51, "community_name": "Community 51", "source_file": "bot/tests/conftest.py", "file_type": "code", "degree": 2}, {"id": "tests_conftest_find", "label": "_find()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_find()", "community": 51, "community_name": "Community 51", "source_file": "bot/tests/conftest.py", "file_type": "code", "degree": 1}, {"id": "bot_tests_test_discord_client_py", "label": "test_discord_client.py", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "test_discord_client.py", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 12}, {"id": "tests_test_discord_client_make_bot", "label": "_make_bot()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_bot()", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 9}, {"id": "tests_test_discord_client_make_text_channel", "label": "_make_text_channel()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_text_channel()", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_client_make_guild", "label": "_make_guild()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_guild()", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 8}, {"id": "tests_test_discord_client_test_send_dm_finds_member_and_sends", "label": "test_send_dm_finds_member_and_sends()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_send_dm_finds_member_and_sends()", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_discord_client_test_send_dm_case_insensitive", "label": "test_send_dm_case_insensitive()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_send_dm_case_insensitive()", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_discord_client_test_send_dm_raises_value_error_if_member_not_found", "label": "test_send_dm_raises_value_error_if_member_not_found()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_send_dm_raises_value_error_if_member_not_found()", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_client_test_post_message_finds_channel_and_sends", "label": "test_post_message_finds_channel_and_sends()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_message_finds_channel_and_sends()", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_discord_client_test_post_message_raises_value_error_if_channel_not_found", "label": "test_post_message_raises_value_error_if_channel_not_found()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_message_raises_value_error_if_channel_not_found()", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 3}, {"id": "tests_test_discord_client_test_post_image_returns_cdn_url", "label": "test_post_image_returns_cdn_url()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_image_returns_cdn_url()", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_discord_client_test_get_members_returns_correct_dict_format", "label": "test_get_members_returns_correct_dict_format()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_members_returns_correct_dict_format()", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "code", "degree": 4}, {"id": "tests_test_discord_client_rationale_1", "label": "Unit tests for SiegeBot Discord client methods using mock guild/member objects.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Unit tests for SiegeBot Discord client methods using mock guild/member objects.", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_discord_client_rationale_12", "label": "Create a SiegeBot instance with a pre-loaded guild (bypasses Discord connect).", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a SiegeBot instance with a pre-loaded guild (bypasses Discord connect).", "community": 47, "community_name": "Community 47", "source_file": "bot/tests/test_discord_client.py", "file_type": "rationale", "degree": 1}, {"id": "bot_tests_test_get_guild_member_py", "label": "test_get_guild_member.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_guild_member.py", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 14}, {"id": "tests_test_get_guild_member_patch_guild_id", "label": "patch_guild_id()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "patch_guild_id()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 2}, {"id": "tests_test_get_guild_member_make_mock_member", "label": "_make_mock_member()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_mock_member()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 5}, {"id": "tests_test_get_guild_member_make_mock_bot_with_guild", "label": "_make_mock_bot_with_guild()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_mock_bot_with_guild()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 8}, {"id": "tests_test_get_guild_member_test_get_guild_member_found_returns_200_with_member_data", "label": "test_get_guild_member_found_returns_200_with_member_data()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_guild_member_found_returns_200_with_member_data()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 4}, {"id": "tests_test_get_guild_member_test_get_guild_member_roles_exclude_everyone", "label": "test_get_guild_member_roles_exclude_everyone()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_guild_member_roles_exclude_everyone()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 4}, {"id": "tests_test_get_guild_member_test_get_guild_member_not_found_returns_200_is_member_false", "label": "test_get_guild_member_not_found_returns_200_is_member_false()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_guild_member_not_found_returns_200_is_member_false()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 3}, {"id": "tests_test_get_guild_member_test_get_guild_member_discord_http_exception_returns_503", "label": "test_get_guild_member_discord_http_exception_returns_503()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_guild_member_discord_http_exception_returns_503()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 3}, {"id": "tests_test_get_guild_member_test_get_guild_member_guild_none_returns_503", "label": "test_get_guild_member_guild_none_returns_503()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_guild_member_guild_none_returns_503()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 3}, {"id": "tests_test_get_guild_member_test_get_guild_member_bot_none_returns_503", "label": "test_get_guild_member_bot_none_returns_503()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_guild_member_bot_none_returns_503()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 2}, {"id": "tests_test_get_guild_member_test_get_guild_member_no_auth_returns_403", "label": "test_get_guild_member_no_auth_returns_403()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_guild_member_no_auth_returns_403()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 2}, {"id": "tests_test_get_guild_member_test_get_guild_member_wrong_api_key_returns_401", "label": "test_get_guild_member_wrong_api_key_returns_401()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_guild_member_wrong_api_key_returns_401()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "code", "degree": 4}, {"id": "tests_test_get_guild_member_rationale_1", "label": "Tests for GET /api/members/{discord_user_id} \u2014 guild member lookup endpoint.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for GET /api/members/{discord_user_id} \u2014 guild member lookup endpoint.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_31", "label": "Override the discord_guild_id setting for all tests.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Override the discord_guild_id setting for all tests.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_46", "label": "Build a mock discord.Member with realistic attributes. ``role_ids`` default", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build a mock discord.Member with realistic attributes. ``role_ids`` default", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_76", "label": "Build a mock bot whose get_guild() returns the given guild object.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build a mock bot whose get_guild() returns the given guild object.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_90", "label": "When the member exists, respond 200 with is_member=true and full payload.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When the member exists, respond 200 with is_member=true and full payload.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_120", "label": "The @everyone role must never appear in the roles list.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "The @everyone role must never appear in the roles list.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_145", "label": "When Discord returns NotFound, respond 200 with is_member=false.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When Discord returns NotFound, respond 200 with is_member=false.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_167", "label": "When Discord raises an unexpected HTTPException, respond 503.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When Discord raises an unexpected HTTPException, respond 503.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_189", "label": "When get_guild() returns None (bot not in guild), respond 503.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When get_guild() returns None (bot not in guild), respond 503.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_203", "label": "When _bot is None entirely, guild lookup yields None and we get 503.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When _bot is None entirely, guild lookup yields None and we get 503.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_219", "label": "Requests without a Bearer token must be rejected (403 or 401).", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Requests without a Bearer token must be rejected (403 or 401).", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_get_guild_member_rationale_229", "label": "Requests with a wrong Bearer token must be rejected with 401.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Requests with a wrong Bearer token must be rejected with 401.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_get_guild_member.py", "file_type": "rationale", "degree": 1}, {"id": "bot_tests_test_http_api_py", "label": "test_http_api.py", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 14.8, "font": {"size": 12, "color": "#ffffff"}, "title": "test_http_api.py", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 20}, {"id": "tests_test_http_api_patch_api_key", "label": "patch_api_key()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "patch_api_key()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 3}, {"id": "tests_test_http_api_make_mock_bot", "label": "_make_mock_bot()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_mock_bot()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 7}, {"id": "tests_test_http_api_test_version_returns_200", "label": "test_version_returns_200()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_version_returns_200()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_version_bare_semver_in_local_dev", "label": "test_version_bare_semver_in_local_dev()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_version_bare_semver_in_local_dev()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_version_includes_build_suffix_when_env_vars_set", "label": "test_version_includes_build_suffix_when_env_vars_set()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_version_includes_build_suffix_when_env_vars_set()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_version_unknown_when_version_file_missing", "label": "test_version_unknown_when_version_file_missing()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_version_unknown_when_version_file_missing()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_version_bare_semver_when_env_vars_are_unknown_literal", "label": "test_version_bare_semver_when_env_vars_are_unknown_literal()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_version_bare_semver_when_env_vars_are_unknown_literal()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_health_no_bot", "label": "test_health_no_bot()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_health_no_bot()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 1}, {"id": "tests_test_http_api_test_health_with_bot_connected", "label": "test_health_with_bot_connected()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_health_with_bot_connected()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_notify_success", "label": "test_notify_success()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_success()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_notify_bot_not_ready_returns_503", "label": "test_notify_bot_not_ready_returns_503()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_bot_not_ready_returns_503()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 1}, {"id": "tests_test_http_api_test_notify_member_not_found_returns_404", "label": "test_notify_member_not_found_returns_404()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_notify_member_not_found_returns_404()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_post_message_success", "label": "test_post_message_success()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_message_success()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_post_message_bot_not_ready_returns_503", "label": "test_post_message_bot_not_ready_returns_503()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_message_bot_not_ready_returns_503()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 1}, {"id": "tests_test_http_api_test_post_image_success", "label": "test_post_image_success()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_image_success()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_post_image_bot_not_ready_returns_503", "label": "test_post_image_bot_not_ready_returns_503()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_post_image_bot_not_ready_returns_503()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 1}, {"id": "tests_test_http_api_test_get_members_returns_list", "label": "test_get_members_returns_list()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_members_returns_list()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 2}, {"id": "tests_test_http_api_test_get_members_bot_not_ready_returns_503", "label": "test_get_members_bot_not_ready_returns_503()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_get_members_bot_not_ready_returns_503()", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "code", "degree": 1}, {"id": "tests_test_http_api_rationale_1", "label": "Tests for the bot HTTP API endpoints.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for the bot HTTP API endpoints.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_http_api_rationale_19", "label": "Override the bot_api_key setting for all tests.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Override the bot_api_key setting for all tests.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_http_api_rationale_45", "label": "GET /version responds 200 with a 'version' key.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GET /version responds 200 with a &#x27;version&#x27; key.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_http_api_rationale_55", "label": "When BUILD_NUMBER / GIT_SHA are absent the version is the bare semver.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When BUILD_NUMBER / GIT_SHA are absent the version is the bare semver.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_http_api_rationale_75", "label": "When BUILD_NUMBER and GIT_SHA are set, version is 'semver+build.sha7'.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When BUILD_NUMBER and GIT_SHA are set, version is &#x27;semver+build.sha7&#x27;.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_http_api_rationale_95", "label": "When the VERSION file is absent, semver falls back to 'unknown'.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When the VERSION file is absent, semver falls back to &#x27;unknown&#x27;.", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_http_api_rationale_113", "label": "Env vars explicitly set to 'unknown' should yield bare semver (no suffix).", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Env vars explicitly set to &#x27;unknown&#x27; should yield bare semver (no suffix).", "community": 9, "community_name": "Community 9", "source_file": "bot/tests/test_http_api.py", "file_type": "rationale", "degree": 1}, {"id": "bot_tests_test_telemetry_py", "label": "test_telemetry.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_telemetry.py", "community": 18, "community_name": "Community 18", "source_file": "bot/tests/test_telemetry.py", "file_type": "code", "degree": 5}, {"id": "tests_test_telemetry_rationale_91", "label": "When APPLICATIONINSIGHTS_CONNECTION_STRING is set, configure_azure_monitor() is", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When APPLICATIONINSIGHTS_CONNECTION_STRING is set, configure_azure_monitor() is", "community": 18, "community_name": "Community 18", "source_file": "bot/tests/test_telemetry.py", "file_type": "rationale", "degree": 1}, {"id": "frontend_eslint_config_js", "label": "eslint.config.js", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "eslint.config.js", "community": 127, "community_name": "Community 127", "source_file": "frontend/eslint.config.js", "file_type": "code", "degree": 0}, {"id": "frontend_playwright_config_ts", "label": "playwright.config.ts", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "playwright.config.ts", "community": 128, "community_name": "Community 128", "source_file": "frontend/playwright.config.ts", "file_type": "code", "degree": 0}, {"id": "frontend_postcss_config_js", "label": "postcss.config.js", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "postcss.config.js", "community": 129, "community_name": "Community 129", "source_file": "frontend/postcss.config.js", "file_type": "code", "degree": 0}, {"id": "frontend_tailwind_config_ts", "label": "tailwind.config.ts", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "tailwind.config.ts", "community": 22, "community_name": "Community 22", "source_file": "frontend/tailwind.config.ts", "file_type": "code", "degree": 1}, {"id": "frontend_vite_config_ts", "label": "vite.config.ts", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "vite.config.ts", "community": 75, "community_name": "Community 75", "source_file": "frontend/vite.config.ts", "file_type": "code", "degree": 1}, {"id": "frontend_vitest_config_ts", "label": "vitest.config.ts", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "vitest.config.ts", "community": 75, "community_name": "Community 75", "source_file": "frontend/vitest.config.ts", "file_type": "code", "degree": 1}, {"id": "frontend_e2e_board_spec_ts", "label": "board.spec.ts", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "board.spec.ts", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 13}, {"id": "e2e_board_spec_apicreatesiege", "label": "apiCreateSiege()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "apiCreateSiege()", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 2}, {"id": "e2e_board_spec_apiaddbuilding", "label": "apiAddBuilding()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "apiAddBuilding()", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 2}, {"id": "e2e_board_spec_apicreatemember", "label": "apiCreateMember()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "apiCreateMember()", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 2}, {"id": "e2e_board_spec_buildingstab", "label": "buildingsTab", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "buildingsTab", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 2}, {"id": "e2e_board_spec_poststab", "label": "postsTab", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 17.0, "font": {"size": 12, "color": "#ffffff"}, "title": "postsTab", "community": 38, "community_name": "Community 38", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 29}, {"id": "e2e_board_spec_search", "label": "search", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "search", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 1}, {"id": "e2e_board_spec_roleselect", "label": "roleSelect", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "roleSelect", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 1}, {"id": "e2e_board_spec_firstpositionspan", "label": "firstPositionSpan", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "firstPositionSpan", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 1}, {"id": "e2e_board_spec_positioncell", "label": "positionCell", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "positionCell", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 2}, {"id": "e2e_board_spec_chevron", "label": "chevron", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "chevron", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 2}, {"id": "e2e_board_spec_autofillbtn", "label": "autofillBtn", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "autofillBtn", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/board.spec.ts", "file_type": "code", "degree": 1}, {"id": "frontend_e2e_members_spec_ts", "label": "members.spec.ts", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "members.spec.ts", "community": 70, "community_name": "Community 70", "source_file": "frontend/e2e/members.spec.ts", "file_type": "code", "degree": 4}, {"id": "e2e_members_spec_ensurememberslotsavailable", "label": "ensureMemberSlotsAvailable()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ensureMemberSlotsAvailable()", "community": 70, "community_name": "Community 70", "source_file": "frontend/e2e/members.spec.ts", "file_type": "code", "degree": 1}, {"id": "e2e_members_spec_activecheckbox", "label": "activeCheckbox", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "activeCheckbox", "community": 70, "community_name": "Community 70", "source_file": "frontend/e2e/members.spec.ts", "file_type": "code", "degree": 1}, {"id": "e2e_members_spec_editlinks", "label": "editLinks", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "editLinks", "community": 70, "community_name": "Community 70", "source_file": "frontend/e2e/members.spec.ts", "file_type": "code", "degree": 1}, {"id": "frontend_e2e_siege_lifecycle_spec_ts", "label": "siege-lifecycle.spec.ts", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "siege-lifecycle.spec.ts", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/siege-lifecycle.spec.ts", "file_type": "code", "degree": 11}, {"id": "e2e_siege_lifecycle_spec_dateinput", "label": "dateInput", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "dateInput", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/siege-lifecycle.spec.ts", "file_type": "code", "degree": 1}, {"id": "e2e_siege_lifecycle_spec_url", "label": "url", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "url", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/siege-lifecycle.spec.ts", "file_type": "code", "degree": 1}, {"id": "e2e_siege_lifecycle_spec_tabstrip", "label": "tabStrip", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "tabStrip", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/siege-lifecycle.spec.ts", "file_type": "code", "degree": 1}, {"id": "e2e_siege_lifecycle_spec_boardlink", "label": "boardLink", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "boardLink", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/siege-lifecycle.spec.ts", "file_type": "code", "degree": 2}, {"id": "e2e_siege_lifecycle_spec_activebadge", "label": "activeBadge", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "activeBadge", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/siege-lifecycle.spec.ts", "file_type": "code", "degree": 1}, {"id": "e2e_siege_lifecycle_spec_errorbadge", "label": "errorBadge", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "errorBadge", "community": 35, "community_name": "Community 35", "source_file": "frontend/e2e/siege-lifecycle.spec.ts", "file_type": "code", "degree": 1}, {"id": "frontend_e2e_smoke_spec_ts", "label": "smoke.spec.ts", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "smoke.spec.ts", "community": 130, "community_name": "Community 130", "source_file": "frontend/e2e/smoke.spec.ts", "file_type": "code", "degree": 0}, {"id": "frontend_src_app_tsx", "label": "App.tsx", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 14.6, "font": {"size": 12, "color": "#ffffff"}, "title": "App.tsx", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/App.tsx", "file_type": "code", "degree": 19}, {"id": "src_app_app", "label": "App()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "App()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/App.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_main_tsx", "label": "main.tsx", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "main.tsx", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/main.tsx", "file_type": "code", "degree": 4}, {"id": "src_main_queryclient", "label": "queryClient", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "queryClient", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/main.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_vite_env_d_ts", "label": "vite-env.d.ts", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "vite-env.d.ts", "community": 131, "community_name": "Community 131", "source_file": "frontend/src/vite-env.d.ts", "file_type": "code", "degree": 0}, {"id": "frontend_src_api_board_ts", "label": "board.ts", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "board.ts", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/board.ts", "file_type": "code", "degree": 9}, {"id": "api_board_getboard", "label": "getBoard()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "getBoard()", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/board.ts", "file_type": "code", "degree": 5}, {"id": "frontend_src_api_changelog_ts", "label": "changelog.ts", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "changelog.ts", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/api/changelog.ts", "file_type": "code", "degree": 5}, {"id": "api_changelog_changelogstatus", "label": "ChangelogStatus", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ChangelogStatus", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/api/changelog.ts", "file_type": "code", "degree": 1}, {"id": "api_changelog_fetchchangelogstatus", "label": "fetchChangelogStatus()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "fetchChangelogStatus()", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/api/changelog.ts", "file_type": "code", "degree": 2}, {"id": "api_changelog_markchangelogseen", "label": "markChangelogSeen()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "markChangelogSeen()", "community": 49, "community_name": "Community 49", "source_file": "frontend/src/api/changelog.ts", "file_type": "code", "degree": 6}, {"id": "frontend_src_api_client_ts", "label": "client.ts", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 12.7, "font": {"size": 0, "color": "#ffffff"}, "title": "client.ts", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/api/client.ts", "file_type": "code", "degree": 11}, {"id": "api_client_apiclient", "label": "apiClient", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "apiClient", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/api/client.ts", "file_type": "code", "degree": 1}, {"id": "frontend_src_api_config_ts", "label": "config.ts", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "config.ts", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/api/config.ts", "file_type": "code", "degree": 5}, {"id": "api_config_appconfig", "label": "AppConfig", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AppConfig", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/api/config.ts", "file_type": "code", "degree": 1}, {"id": "api_config_fetchconfig", "label": "fetchConfig()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "fetchConfig()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/api/config.ts", "file_type": "code", "degree": 2}, {"id": "frontend_src_api_members_ts", "label": "members.ts", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.8, "font": {"size": 12, "color": "#ffffff"}, "title": "members.ts", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 24}, {"id": "api_members_getmember", "label": "getMember()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "getMember()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 2}, {"id": "api_members_createmember", "label": "createMember()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "createMember()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 3}, {"id": "api_members_updatemember", "label": "updateMember()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "updateMember()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 6}, {"id": "api_members_deletemember", "label": "deleteMember()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "deleteMember()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 1}, {"id": "api_members_getmemberpreferences", "label": "getMemberPreferences()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "getMemberPreferences()", "community": 57, "community_name": "Community 57", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 5}, {"id": "api_members_updatememberpreferences", "label": "updateMemberPreferences()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "updateMemberPreferences()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 2}, {"id": "api_members_getpostconditions", "label": "getPostConditions()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "getPostConditions()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 6}, {"id": "api_members_getmemberroles", "label": "getMemberRoles()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "getMemberRoles()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 2}, {"id": "api_members_previewdiscordsync", "label": "previewDiscordSync()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "previewDiscordSync()", "community": 13, "community_name": "Community 13", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 6}, {"id": "api_members_applydiscordsync", "label": "applyDiscordSync()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "applyDiscordSync()", "community": 13, "community_name": "Community 13", "source_file": "frontend/src/api/members.ts", "file_type": "code", "degree": 6}, {"id": "api_notifications_notifysiegemembers", "label": "notifySiegeMembers()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "notifySiegeMembers()", "community": 34, "community_name": "Community 34", "source_file": "frontend/src/api/notifications.ts", "file_type": "code", "degree": 8}, {"id": "api_notifications_getnotificationbatch", "label": "getNotificationBatch()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "getNotificationBatch()", "community": 34, "community_name": "Community 34", "source_file": "frontend/src/api/notifications.ts", "file_type": "code", "degree": 5}, {"id": "api_notifications_posttochannel", "label": "postToChannel()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "postToChannel()", "community": 34, "community_name": "Community 34", "source_file": "frontend/src/api/notifications.ts", "file_type": "code", "degree": 4}, {"id": "frontend_src_api_posts_ts", "label": "posts.ts", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "posts.ts", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/api/posts.ts", "file_type": "code", "degree": 13}, {"id": "api_posts_postpriorityconfig", "label": "PostPriorityConfig", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "PostPriorityConfig", "community": 16, "community_name": "Community 16", "source_file": "frontend/src/api/posts.ts", "file_type": "code", "degree": 15}, {"id": "api_posts_getpostpriorities", "label": "getPostPriorities()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "getPostPriorities()", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/api/posts.ts", "file_type": "code", "degree": 3}, {"id": "api_posts_updatepostpriority", "label": "updatePostPriority()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "updatePostPriority()", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/api/posts.ts", "file_type": "code", "degree": 3}, {"id": "api_posts_getposts", "label": "getPosts()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "getPosts()", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/api/posts.ts", "file_type": "code", "degree": 3}, {"id": "api_posts_updatepost", "label": "updatePost()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "updatePost()", "community": 39, "community_name": "Community 39", "source_file": "frontend/src/api/posts.ts", "file_type": "code", "degree": 13}, {"id": "api_posts_setpostconditions", "label": "setPostConditions()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "setPostConditions()", "community": 39, "community_name": "Community 39", "source_file": "frontend/src/api/posts.ts", "file_type": "code", "degree": 7}, {"id": "frontend_src_api_sieges_ts", "label": "sieges.ts", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 22.3, "font": {"size": 12, "color": "#ffffff"}, "title": "sieges.ts", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 51}, {"id": "api_sieges_getsieges", "label": "getSieges()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "getSieges()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_getsiege", "label": "getSiege()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "getSiege()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 6}, {"id": "api_sieges_createsiege", "label": "createSiege()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "createSiege()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_updatesiege", "label": "updateSiege()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "updateSiege()", "community": 42, "community_name": "Community 42", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_deletesiege", "label": "deleteSiege()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "deleteSiege()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 2}, {"id": "api_sieges_activatesiege", "label": "activateSiege()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "activateSiege()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_completesiege", "label": "completeSiege()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "completeSiege()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_clonesiege", "label": "cloneSiege()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "cloneSiege()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 6}, {"id": "api_sieges_reopensiege", "label": "reopenSiege()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "reopenSiege()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_validatesiege", "label": "validateSiege()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "validateSiege()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 6}, {"id": "api_sieges_getbuildings", "label": "getBuildings()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "getBuildings()", "community": 45, "community_name": "Community 45", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 8}, {"id": "api_sieges_createbuilding", "label": "createBuilding()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "createBuilding()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 1}, {"id": "api_sieges_updatebuilding", "label": "updateBuilding()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "updateBuilding()", "community": 45, "community_name": "Community 45", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 7}, {"id": "api_sieges_deletebuilding", "label": "deleteBuilding()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "deleteBuilding()", "community": 45, "community_name": "Community 45", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 3}, {"id": "api_sieges_getsiegemembers", "label": "getSiegeMembers()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "getSiegeMembers()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_getsiegememberpreferences", "label": "getSiegeMemberPreferences()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "getSiegeMemberPreferences()", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_previewautofill", "label": "previewAutofill()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "previewAutofill()", "community": 42, "community_name": "Community 42", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 7}, {"id": "api_sieges_applyautofill", "label": "applyAutofill()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "applyAutofill()", "community": 24, "community_name": "Community 24", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_previewattackday", "label": "previewAttackDay()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "previewAttackDay()", "community": 24, "community_name": "Community 24", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_applyattackday", "label": "applyAttackDay()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "applyAttackDay()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 4}, {"id": "api_sieges_comparesieges", "label": "compareSieges()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "compareSieges()", "community": 25, "community_name": "Community 25", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 10}, {"id": "api_sieges_comparesiegesspecific", "label": "compareSiegesSpecific()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "compareSiegesSpecific()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 2}, {"id": "api_sieges_previewpostsuggestions", "label": "previewPostSuggestions()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "previewPostSuggestions()", "community": 24, "community_name": "Community 24", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 9}, {"id": "api_sieges_applypostsuggestions", "label": "applyPostSuggestions()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "applyPostSuggestions()", "community": 24, "community_name": "Community 24", "source_file": "frontend/src/api/sieges.ts", "file_type": "code", "degree": 8}, {"id": "frontend_src_api_types_ts", "label": "types.ts", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 26.0, "font": {"size": 12, "color": "#ffffff"}, "title": "types.ts", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 66}, {"id": "api_types_memberrole", "label": "MemberRole", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 16.3, "font": {"size": 12, "color": "#ffffff"}, "title": "MemberRole", "community": 52, "community_name": "Community 52", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 26}, {"id": "api_types_siegestatus", "label": "SiegeStatus", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 15.1, "font": {"size": 12, "color": "#ffffff"}, "title": "SiegeStatus", "community": 16, "community_name": "Community 16", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 21}, {"id": "api_types_buildingtype", "label": "BuildingType", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 16.8, "font": {"size": 12, "color": "#ffffff"}, "title": "BuildingType", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 28}, {"id": "api_types_member", "label": "Member", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.0, "font": {"size": 12, "color": "#ffffff"}, "title": "Member", "community": 16, "community_name": "Community 16", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 25}, {"id": "api_types_syncmatch", "label": "SyncMatch", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SyncMatch", "community": 52, "community_name": "Community 52", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 5}, {"id": "api_types_syncpreviewresponse", "label": "SyncPreviewResponse", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SyncPreviewResponse", "community": 52, "community_name": "Community 52", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 5}, {"id": "api_types_syncapplyitem", "label": "SyncApplyItem", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "SyncApplyItem", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 3}, {"id": "api_types_postcondition", "label": "PostCondition", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "PostCondition", "community": 16, "community_name": "Community 16", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 23}, {"id": "api_types_siege", "label": "Siege", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.3, "font": {"size": 12, "color": "#ffffff"}, "title": "Siege", "community": 16, "community_name": "Community 16", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 26}, {"id": "api_types_building", "label": "Building", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 16.3, "font": {"size": 12, "color": "#ffffff"}, "title": "Building", "community": 16, "community_name": "Community 16", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 26}, {"id": "api_types_memberpreferencesummary", "label": "MemberPreferenceSummary", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberPreferenceSummary", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 6}, {"id": "api_types_positionresponse", "label": "PositionResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "PositionResponse", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 8}, {"id": "api_types_buildinggroupresponse", "label": "BuildingGroupResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BuildingGroupResponse", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 5}, {"id": "api_types_buildingresponse", "label": "BuildingResponse", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "BuildingResponse", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 7}, {"id": "api_types_boardresponse", "label": "BoardResponse", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "BoardResponse", "community": 34, "community_name": "Community 34", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 12}, {"id": "api_types_siegemember", "label": "SiegeMember", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 28.9, "font": {"size": 12, "color": "#ffffff"}, "title": "SiegeMember", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 78}, {"id": "api_types_post", "label": "Post", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Post", "community": 16, "community_name": "Community 16", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 16}, {"id": "api_types_validationissue", "label": "ValidationIssue", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "ValidationIssue", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 4}, {"id": "api_types_validationresult", "label": "ValidationResult", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "ValidationResult", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 6}, {"id": "api_types_autofillassignment", "label": "AutofillAssignment", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "AutofillAssignment", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 3}, {"id": "api_types_autofillpreviewresult", "label": "AutofillPreviewResult", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AutofillPreviewResult", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 5}, {"id": "api_types_autofillapplyresult", "label": "AutofillApplyResult", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "AutofillApplyResult", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 4}, {"id": "api_types_attackdayassignment", "label": "AttackDayAssignment", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "AttackDayAssignment", "community": 24, "community_name": "Community 24", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 3}, {"id": "api_types_attackdaypreviewresult", "label": "AttackDayPreviewResult", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AttackDayPreviewResult", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 5}, {"id": "api_types_attackdayapplyresult", "label": "AttackDayApplyResult", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "AttackDayApplyResult", "community": 24, "community_name": "Community 24", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 4}, {"id": "api_types_positionkey", "label": "PositionKey", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "PositionKey", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 4}, {"id": "api_types_memberdiff", "label": "MemberDiff", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberDiff", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 4}, {"id": "api_types_comparisonresult", "label": "ComparisonResult", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "ComparisonResult", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 4}, {"id": "api_types_notificationresultitem", "label": "NotificationResultItem", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.6, "font": {"size": 12, "color": "#ffffff"}, "title": "NotificationResultItem", "community": 34, "community_name": "Community 34", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 19}, {"id": "api_types_notificationbatchresponse", "label": "NotificationBatchResponse", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "NotificationBatchResponse", "community": 34, "community_name": "Community 34", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 22}, {"id": "api_types_notifyresponse", "label": "NotifyResponse", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 14.6, "font": {"size": 12, "color": "#ffffff"}, "title": "NotifyResponse", "community": 34, "community_name": "Community 34", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 19}, {"id": "api_types_generateimagesresponse", "label": "GenerateImagesResponse", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GenerateImagesResponse", "community": 34, "community_name": "Community 34", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 9}, {"id": "api_types_versioninfo", "label": "VersionInfo", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "VersionInfo", "community": 40, "community_name": "Community 40", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 2}, {"id": "api_types_buildingtypeinfo", "label": "BuildingTypeInfo", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "BuildingTypeInfo", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 3}, {"id": "api_types_memberroleinfo", "label": "MemberRoleInfo", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberRoleInfo", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 2}, {"id": "api_types_postsuggestionskipreason", "label": "PostSuggestionSkipReason", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PostSuggestionSkipReason", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 1}, {"id": "api_types_postsuggestionentry", "label": "PostSuggestionEntry", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PostSuggestionEntry", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 5}, {"id": "api_types_postsuggestionpreviewresult", "label": "PostSuggestionPreviewResult", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "PostSuggestionPreviewResult", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 7}, {"id": "api_types_postsuggestionstalereason", "label": "PostSuggestionStaleReason", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PostSuggestionStaleReason", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 1}, {"id": "api_types_postsuggestionstaleentry", "label": "PostSuggestionStaleEntry", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "PostSuggestionStaleEntry", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 2}, {"id": "api_types_postsuggestionapplyresult", "label": "PostSuggestionApplyResult", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PostSuggestionApplyResult", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/api/types.ts", "file_type": "code", "degree": 5}, {"id": "api_version_getversion", "label": "getVersion()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "getVersion()", "community": 40, "community_name": "Community 40", "source_file": "frontend/src/api/version.ts", "file_type": "code", "degree": 5}, {"id": "api_version_useversion", "label": "useVersion()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "useVersion()", "community": 40, "community_name": "Community 40", "source_file": "frontend/src/api/version.ts", "file_type": "code", "degree": 2}, {"id": "components_carousel_carouselslide", "label": "CarouselSlide", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "CarouselSlide", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/components/Carousel.tsx", "file_type": "code", "degree": 2}, {"id": "components_carousel_carouselprops", "label": "CarouselProps", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "CarouselProps", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/components/Carousel.tsx", "file_type": "code", "degree": 1}, {"id": "components_carousel_carousel", "label": "Carousel()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Carousel()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/components/Carousel.tsx", "file_type": "code", "degree": 12}, {"id": "frontend_src_components_changelogdropdown_tsx", "label": "ChangelogDropdown.tsx", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "ChangelogDropdown.tsx", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ChangelogDropdown.tsx", "file_type": "code", "degree": 10}, {"id": "components_changelogdropdown_hasunread", "label": "hasUnread()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "hasUnread()", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ChangelogDropdown.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_components_discordsyncmodal_tsx", "label": "DiscordSyncModal.tsx", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 16.3, "font": {"size": 12, "color": "#ffffff"}, "title": "DiscordSyncModal.tsx", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/DiscordSyncModal.tsx", "file_type": "code", "degree": 26}, {"id": "components_discordsyncmodal_confidencevariant", "label": "ConfidenceVariant", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ConfidenceVariant", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/DiscordSyncModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_discordsyncmodal_confidence_label", "label": "CONFIDENCE_LABEL", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "CONFIDENCE_LABEL", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/DiscordSyncModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_groupbytoggle_props", "label": "Props", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "Props", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/components/GroupByToggle.tsx", "file_type": "code", "degree": 3}, {"id": "components_groupbytoggle_groupbytoggle", "label": "GroupByToggle()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GroupByToggle()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/components/GroupByToggle.tsx", "file_type": "code", "degree": 9}, {"id": "frontend_src_components_layout_tsx", "label": "Layout.tsx", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Layout.tsx", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/components/Layout.tsx", "file_type": "code", "degree": 14}, {"id": "components_layout_navlinkclass", "label": "navLinkClass()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "navLinkClass()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/components/Layout.tsx", "file_type": "code", "degree": 2}, {"id": "components_layout_layout", "label": "Layout()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Layout()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/components/Layout.tsx", "file_type": "code", "degree": 2}, {"id": "components_poststab_memberwithmatches", "label": "MemberWithMatches", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberWithMatches", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/components/PostsTab.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_duplicateconditionmap", "label": "DuplicateConditionMap", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DuplicateConditionMap", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/components/PostsTab.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_buildduplicateconditionmap", "label": "buildDuplicateConditionMap()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "buildDuplicateConditionMap()", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/components/PostsTab.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_findpostposition", "label": "findPostPosition()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "findPostPosition()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/components/PostsTab.tsx", "file_type": "code", "degree": 2}, {"id": "components_poststab_memberassignrow", "label": "MemberAssignRow()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberAssignRow()", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/components/PostsTab.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_components_postsuggestionsmodal_tsx", "label": "PostSuggestionsModal.tsx", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 24.0, "font": {"size": 12, "color": "#ffffff"}, "title": "PostSuggestionsModal.tsx", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 58}, {"id": "components_postsuggestionsmodal_outcomefilter", "label": "OutcomeFilter", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "OutcomeFilter", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_classification", "label": "Classification", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Classification", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_priority_meta", "label": "PRIORITY_META", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PRIORITY_META", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_getprioritymeta", "label": "getPriorityMeta()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "getPriorityMeta()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_skip_reason_label", "label": "SKIP_REASON_LABEL", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SKIP_REASON_LABEL", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_stale_reason_label", "label": "STALE_REASON_LABEL", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "STALE_REASON_LABEL", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_tileconfig", "label": "TileConfig", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TileConfig", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_classify", "label": "classify()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "classify()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 2}, {"id": "components_postsuggestionsmodal_pill", "label": "Pill()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Pill()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 2}, {"id": "components_postsuggestionsmodal_changecell", "label": "ChangeCell()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "ChangeCell()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 2}, {"id": "components_postsuggestionsmodal_skipicon", "label": "SkipIcon()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SkipIcon()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_conditioncell", "label": "ConditionCell()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ConditionCell()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_summarytile", "label": "SummaryTile()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "SummaryTile()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 2}, {"id": "components_postsuggestionsmodal_stateloading", "label": "StateLoading()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "StateLoading()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_stateempty", "label": "StateEmpty()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "StateEmpty()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_statestaleconflict", "label": "StateStaleConflict()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "StateStaleConflict()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_expirycountdown", "label": "ExpiryCountdown", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ExpiryCountdown", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_useexpirycountdown", "label": "useExpiryCountdown()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "useExpiryCountdown()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/PostSuggestionsModal.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_components_requireauth_tsx", "label": "RequireAuth.tsx", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "RequireAuth.tsx", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/components/RequireAuth.tsx", "file_type": "code", "degree": 4}, {"id": "components_requireauth_requireauth", "label": "RequireAuth()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "RequireAuth()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/components/RequireAuth.tsx", "file_type": "code", "degree": 2}, {"id": "frontend_src_components_siegelayout_tsx", "label": "SiegeLayout.tsx", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.1, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeLayout.tsx", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/components/SiegeLayout.tsx", "file_type": "code", "degree": 13}, {"id": "components_siegelayout_siegelayout", "label": "SiegeLayout()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeLayout()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/components/SiegeLayout.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_components_ui_badge_tsx", "label": "badge.tsx", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "badge.tsx", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/badge.tsx", "file_type": "code", "degree": 12}, {"id": "ui_badge_badgevariants", "label": "badgeVariants", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "badgeVariants", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/badge.tsx", "file_type": "code", "degree": 2}, {"id": "ui_badge_badgeprops", "label": "BadgeProps", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BadgeProps", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/badge.tsx", "file_type": "code", "degree": 1}, {"id": "ui_badge_badge", "label": "Badge()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Badge()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/badge.tsx", "file_type": "code", "degree": 10}, {"id": "frontend_src_components_ui_button_tsx", "label": "button.tsx", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.9, "font": {"size": 0, "color": "#ffffff"}, "title": "button.tsx", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/button.tsx", "file_type": "code", "degree": 16}, {"id": "ui_button_buttonvariants", "label": "buttonVariants", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "buttonVariants", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/button.tsx", "file_type": "code", "degree": 1}, {"id": "ui_button_buttonprops", "label": "ButtonProps", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ButtonProps", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/button.tsx", "file_type": "code", "degree": 1}, {"id": "ui_button_button", "label": "Button", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "Button", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/button.tsx", "file_type": "code", "degree": 12}, {"id": "ui_checkbox_checkbox", "label": "Checkbox", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "Checkbox", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/components/ui/checkbox.tsx", "file_type": "code", "degree": 10}, {"id": "frontend_src_components_ui_dialog_tsx", "label": "dialog.tsx", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "dialog.tsx", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/components/ui/dialog.tsx", "file_type": "code", "degree": 14}, {"id": "ui_dialog_dialogoverlay", "label": "DialogOverlay", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DialogOverlay", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/components/ui/dialog.tsx", "file_type": "code", "degree": 1}, {"id": "ui_dialog_dialogcontent", "label": "DialogContent", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "DialogContent", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/components/ui/dialog.tsx", "file_type": "code", "degree": 7}, {"id": "ui_dialog_dialogheader", "label": "DialogHeader()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "DialogHeader()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/components/ui/dialog.tsx", "file_type": "code", "degree": 8}, {"id": "ui_dialog_dialogfooter", "label": "DialogFooter()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "DialogFooter()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/ui/dialog.tsx", "file_type": "code", "degree": 7}, {"id": "ui_dialog_dialogtitle", "label": "DialogTitle", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "DialogTitle", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/components/ui/dialog.tsx", "file_type": "code", "degree": 7}, {"id": "ui_dialog_dialogdescription", "label": "DialogDescription", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DialogDescription", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/components/ui/dialog.tsx", "file_type": "code", "degree": 5}, {"id": "frontend_src_components_ui_dropdown_menu_tsx", "label": "dropdown-menu.tsx", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.9, "font": {"size": 0, "color": "#ffffff"}, "title": "dropdown-menu.tsx", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ui/dropdown-menu.tsx", "file_type": "code", "degree": 12}, {"id": "ui_dropdown_menu_dropdownmenusubtrigger", "label": "DropdownMenuSubTrigger", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DropdownMenuSubTrigger", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ui/dropdown-menu.tsx", "file_type": "code", "degree": 1}, {"id": "ui_dropdown_menu_dropdownmenusubcontent", "label": "DropdownMenuSubContent", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DropdownMenuSubContent", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ui/dropdown-menu.tsx", "file_type": "code", "degree": 1}, {"id": "ui_dropdown_menu_dropdownmenucontent", "label": "DropdownMenuContent", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "DropdownMenuContent", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ui/dropdown-menu.tsx", "file_type": "code", "degree": 2}, {"id": "ui_dropdown_menu_dropdownmenuitem", "label": "DropdownMenuItem", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DropdownMenuItem", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ui/dropdown-menu.tsx", "file_type": "code", "degree": 1}, {"id": "ui_dropdown_menu_dropdownmenucheckboxitem", "label": "DropdownMenuCheckboxItem", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DropdownMenuCheckboxItem", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ui/dropdown-menu.tsx", "file_type": "code", "degree": 1}, {"id": "ui_dropdown_menu_dropdownmenuradioitem", "label": "DropdownMenuRadioItem", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DropdownMenuRadioItem", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ui/dropdown-menu.tsx", "file_type": "code", "degree": 1}, {"id": "ui_dropdown_menu_dropdownmenulabel", "label": "DropdownMenuLabel", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DropdownMenuLabel", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ui/dropdown-menu.tsx", "file_type": "code", "degree": 1}, {"id": "ui_dropdown_menu_dropdownmenuseparator", "label": "DropdownMenuSeparator", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DropdownMenuSeparator", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ui/dropdown-menu.tsx", "file_type": "code", "degree": 1}, {"id": "ui_dropdown_menu_dropdownmenushortcut", "label": "DropdownMenuShortcut()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "DropdownMenuShortcut()", "community": 41, "community_name": "Community 41", "source_file": "frontend/src/components/ui/dropdown-menu.tsx", "file_type": "code", "degree": 2}, {"id": "frontend_src_components_ui_input_tsx", "label": "input.tsx", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "input.tsx", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/components/ui/input.tsx", "file_type": "code", "degree": 10}, {"id": "ui_input_inputprops", "label": "InputProps", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "InputProps", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/components/ui/input.tsx", "file_type": "code", "degree": 1}, {"id": "ui_input_input", "label": "Input", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "Input", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/components/ui/input.tsx", "file_type": "code", "degree": 7}, {"id": "frontend_src_components_ui_label_tsx", "label": "label.tsx", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "label.tsx", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/label.tsx", "file_type": "code", "degree": 9}, {"id": "ui_label_label", "label": "Label", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "Label", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/label.tsx", "file_type": "code", "degree": 7}, {"id": "frontend_src_components_ui_select_tsx", "label": "select.tsx", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "select.tsx", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/select.tsx", "file_type": "code", "degree": 15}, {"id": "ui_select_selecttrigger", "label": "SelectTrigger", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "SelectTrigger", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/select.tsx", "file_type": "code", "degree": 7}, {"id": "ui_select_selectscrollupbutton", "label": "SelectScrollUpButton", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SelectScrollUpButton", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/select.tsx", "file_type": "code", "degree": 1}, {"id": "ui_select_selectscrolldownbutton", "label": "SelectScrollDownButton", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SelectScrollDownButton", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/select.tsx", "file_type": "code", "degree": 1}, {"id": "ui_select_selectcontent", "label": "SelectContent", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "SelectContent", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/select.tsx", "file_type": "code", "degree": 7}, {"id": "ui_select_selectlabel", "label": "SelectLabel", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SelectLabel", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/select.tsx", "file_type": "code", "degree": 1}, {"id": "ui_select_selectitem", "label": "SelectItem", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "SelectItem", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/select.tsx", "file_type": "code", "degree": 7}, {"id": "ui_select_selectseparator", "label": "SelectSeparator", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SelectSeparator", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/select.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_components_ui_table_tsx", "label": "table.tsx", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 13.4, "font": {"size": 0, "color": "#ffffff"}, "title": "table.tsx", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/table.tsx", "file_type": "code", "degree": 14}, {"id": "ui_table_table", "label": "Table", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "Table", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/table.tsx", "file_type": "code", "degree": 6}, {"id": "ui_table_tablebody", "label": "TableBody", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TableBody", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/table.tsx", "file_type": "code", "degree": 6}, {"id": "ui_table_tablefooter", "label": "TableFooter", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TableFooter", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/table.tsx", "file_type": "code", "degree": 1}, {"id": "ui_table_tablerow", "label": "TableRow", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TableRow", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/table.tsx", "file_type": "code", "degree": 6}, {"id": "ui_table_tablehead", "label": "TableHead", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TableHead", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/table.tsx", "file_type": "code", "degree": 6}, {"id": "ui_table_tablecell", "label": "TableCell", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TableCell", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/table.tsx", "file_type": "code", "degree": 6}, {"id": "ui_table_tablecaption", "label": "TableCaption", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TableCaption", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/components/ui/table.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_components_ui_textarea_tsx", "label": "textarea.tsx", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "textarea.tsx", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/ui/textarea.tsx", "file_type": "code", "degree": 4}, {"id": "ui_textarea_textareaprops", "label": "TextareaProps", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TextareaProps", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/ui/textarea.tsx", "file_type": "code", "degree": 1}, {"id": "ui_textarea_textarea", "label": "Textarea", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Textarea", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/components/ui/textarea.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_context_authcontext_tsx", "label": "AuthContext.tsx", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "AuthContext.tsx", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/context/AuthContext.tsx", "file_type": "code", "degree": 15}, {"id": "context_authcontext_authuser", "label": "AuthUser", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AuthUser", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/context/AuthContext.tsx", "file_type": "code", "degree": 1}, {"id": "context_authcontext_authcontextvalue", "label": "AuthContextValue", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AuthContextValue", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/context/AuthContext.tsx", "file_type": "code", "degree": 1}, {"id": "context_authcontext_authcontext", "label": "AuthContext", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AuthContext", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/context/AuthContext.tsx", "file_type": "code", "degree": 1}, {"id": "context_authcontext_authprovider", "label": "AuthProvider()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "AuthProvider()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/context/AuthContext.tsx", "file_type": "code", "degree": 3}, {"id": "context_authcontext_useauth", "label": "useAuth()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "useAuth()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/context/AuthContext.tsx", "file_type": "code", "degree": 8}, {"id": "frontend_src_lib_buildingcolors_ts", "label": "buildingColors.ts", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "buildingColors.ts", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/lib/buildingColors.ts", "file_type": "code", "degree": 6}, {"id": "lib_buildingcolors_buildingcolorclass", "label": "BuildingColorClass", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BuildingColorClass", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/lib/buildingColors.ts", "file_type": "code", "degree": 1}, {"id": "lib_buildingcolors_building_labels", "label": "BUILDING_LABELS", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "BUILDING_LABELS", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/lib/buildingColors.ts", "file_type": "code", "degree": 3}, {"id": "frontend_src_lib_grouppostconditions_ts", "label": "groupPostConditions.ts", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 15.3, "font": {"size": 12, "color": "#ffffff"}, "title": "groupPostConditions.ts", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/lib/groupPostConditions.ts", "file_type": "code", "degree": 22}, {"id": "lib_grouppostconditions_groupbymode", "label": "GroupByMode", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "GroupByMode", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/lib/groupPostConditions.ts", "file_type": "code", "degree": 4}, {"id": "lib_grouppostconditions_conditiongroup", "label": "ConditionGroup", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ConditionGroup", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/lib/groupPostConditions.ts", "file_type": "code", "degree": 1}, {"id": "lib_grouppostconditions_groupbylevel", "label": "groupByLevel()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "groupByLevel()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/lib/groupPostConditions.ts", "file_type": "code", "degree": 1}, {"id": "lib_grouppostconditions_groupbytype", "label": "groupByType()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "groupByType()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/lib/groupPostConditions.ts", "file_type": "code", "degree": 1}, {"id": "frontend_src_lib_post_priority_ts", "label": "post-priority.ts", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "post-priority.ts", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/lib/post-priority.ts", "file_type": "code", "degree": 3}, {"id": "lib_post_priority_prioritylabel", "label": "priorityLabel()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "priorityLabel()", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/lib/post-priority.ts", "file_type": "code", "degree": 3}, {"id": "lib_post_priority_prioritybadgecolor", "label": "priorityBadgeColor()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "priorityBadgeColor()", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/lib/post-priority.ts", "file_type": "code", "degree": 2}, {"id": "frontend_src_lib_usegroupbypreference_ts", "label": "useGroupByPreference.ts", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "useGroupByPreference.ts", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/lib/useGroupByPreference.ts", "file_type": "code", "degree": 7}, {"id": "lib_usegroupbypreference_valid_modes", "label": "VALID_MODES", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "VALID_MODES", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/lib/useGroupByPreference.ts", "file_type": "code", "degree": 1}, {"id": "frontend_src_lib_utils_ts", "label": "utils.ts", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 18.5, "font": {"size": 12, "color": "#ffffff"}, "title": "utils.ts", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/lib/utils.ts", "file_type": "code", "degree": 35}, {"id": "lib_utils_cn", "label": "cn()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 17.0, "font": {"size": 12, "color": "#ffffff"}, "title": "cn()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/lib/utils.ts", "file_type": "code", "degree": 29}, {"id": "pages_boardpage_role_labels", "label": "ROLE_LABELS", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "ROLE_LABELS", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 3}, {"id": "pages_boardpage_role_priority", "label": "ROLE_PRIORITY", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "ROLE_PRIORITY", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 2}, {"id": "pages_boardpage_role_colors", "label": "ROLE_COLORS", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ROLE_COLORS", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_role_badge_colors", "label": "ROLE_BADGE_COLORS", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "ROLE_BADGE_COLORS", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 2}, {"id": "pages_boardpage_role_chip_colors", "label": "ROLE_CHIP_COLORS", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ROLE_CHIP_COLORS", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_power_labels", "label": "POWER_LABELS", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "POWER_LABELS", "community": 38, "community_name": "Community 38", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 3}, {"id": "pages_boardpage_building_type_order", "label": "BUILDING_TYPE_ORDER", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BUILDING_TYPE_ORDER", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_draggablememberrow", "label": "DraggableMemberRow()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DraggableMemberRow()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_memberdragoverlay", "label": "MemberDragOverlay()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberDragOverlay()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_rolefilter", "label": "RoleFilter", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "RoleFilter", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_role_filter_options", "label": "ROLE_FILTER_OPTIONS", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ROLE_FILTER_OPTIONS", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_memberbucket", "label": "MemberBucket()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberBucket()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_buildingtablerow", "label": "BuildingTableRow()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BuildingTableRow()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_buildingtypesection", "label": "BuildingTypeSection()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "BuildingTypeSection()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_conditionaldndcontext", "label": "ConditionalDndContext()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ConditionalDndContext()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_activetab", "label": "ActiveTab", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ActiveTab", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_boardpage", "label": "BoardPage()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 23.3, "font": {"size": 12, "color": "#ffffff"}, "title": "BoardPage()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/BoardPage.tsx", "file_type": "code", "degree": 55}, {"id": "pages_comparisonpage_formatposition", "label": "formatPosition()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "formatPosition()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/ComparisonPage.tsx", "file_type": "code", "degree": 2}, {"id": "pages_comparisonpage_positiontag", "label": "PositionTag()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "PositionTag()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/ComparisonPage.tsx", "file_type": "code", "degree": 3}, {"id": "pages_comparisonpage_memberpositionscell", "label": "MemberPositionsCell()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "MemberPositionsCell()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/ComparisonPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_comparisonpage_comparisonpage", "label": "ComparisonPage()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.6, "font": {"size": 12, "color": "#ffffff"}, "title": "ComparisonPage()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/ComparisonPage.tsx", "file_type": "code", "degree": 19}, {"id": "frontend_src_pages_landingpage_tsx", "label": "LandingPage.tsx", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 15.8, "font": {"size": 12, "color": "#ffffff"}, "title": "LandingPage.tsx", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LandingPage.tsx", "file_type": "code", "degree": 24}, {"id": "pages_landingpage_landingorsieges", "label": "LandingOrSieges()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "LandingOrSieges()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/pages/LandingPage.tsx", "file_type": "code", "degree": 3}, {"id": "pages_landingpage_slides", "label": "SLIDES", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "SLIDES", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LandingPage.tsx", "file_type": "code", "degree": 2}, {"id": "pages_landingpage_shieldicon", "label": "ShieldIcon()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ShieldIcon()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LandingPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_landingpage_githubicon", "label": "GitHubIcon()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "GitHubIcon()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LandingPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_landingpage_checkicon", "label": "CheckIcon()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "CheckIcon()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LandingPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_landingpage_externallinkicon", "label": "ExternalLinkIcon()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ExternalLinkIcon()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LandingPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_landingpage_colors", "label": "COLORS", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "COLORS", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LandingPage.tsx", "file_type": "code", "degree": 2}, {"id": "pages_landingpage_landingpage", "label": "LandingPage()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "LandingPage()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LandingPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_loginpage_error_messages", "label": "ERROR_MESSAGES", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ERROR_MESSAGES", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LoginPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_loginpage_membership_errors", "label": "MEMBERSHIP_ERRORS", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "MEMBERSHIP_ERRORS", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LoginPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_loginpage_mobilebanner", "label": "MobileBanner()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "MobileBanner()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LoginPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_loginpage_loginpage", "label": "LoginPage()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "LoginPage()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/pages/LoginPage.tsx", "file_type": "code", "degree": 10}, {"id": "frontend_src_pages_memberdetailpage_tsx", "label": "MemberDetailPage.tsx", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 17.7, "font": {"size": 12, "color": "#ffffff"}, "title": "MemberDetailPage.tsx", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/pages/MemberDetailPage.tsx", "file_type": "code", "degree": 32}, {"id": "pages_memberdetailpage_role_options", "label": "ROLE_OPTIONS", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ROLE_OPTIONS", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/pages/MemberDetailPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_memberspage_rolebadgevariant", "label": "RoleBadgeVariant", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "RoleBadgeVariant", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/MembersPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_memberspage_role_variants", "label": "ROLE_VARIANTS", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ROLE_VARIANTS", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/MembersPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_memberspage_memberspage", "label": "MembersPage()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 18.0, "font": {"size": 12, "color": "#ffffff"}, "title": "MembersPage()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/MembersPage.tsx", "file_type": "code", "degree": 33}, {"id": "frontend_src_pages_postprioritiespage_tsx", "label": "PostPrioritiesPage.tsx", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 16.8, "font": {"size": 12, "color": "#ffffff"}, "title": "PostPrioritiesPage.tsx", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/PostPrioritiesPage.tsx", "file_type": "code", "degree": 28}, {"id": "pages_postprioritiespage_descriptioncell", "label": "DescriptionCell()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "DescriptionCell()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/PostPrioritiesPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_postprioritiespage_tab", "label": "Tab", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tab", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/PostPrioritiesPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_postspage_postrow", "label": "PostRow()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "PostRow()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/pages/PostsPage.tsx", "file_type": "code", "degree": 5}, {"id": "pages_postspage_postspage", "label": "PostsPage()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 19.0, "font": {"size": 12, "color": "#ffffff"}, "title": "PostsPage()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/pages/PostsPage.tsx", "file_type": "code", "degree": 37}, {"id": "pages_siegecreatepage_nexttuesdayfrom", "label": "nextTuesdayFrom()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "nextTuesdayFrom()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/SiegeCreatePage.tsx", "file_type": "code", "degree": 2}, {"id": "pages_siegecreatepage_formatdatelocal", "label": "formatDateLocal()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "formatDateLocal()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/SiegeCreatePage.tsx", "file_type": "code", "degree": 2}, {"id": "pages_siegecreatepage_suggestnextsiegedate", "label": "suggestNextSiegeDate()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "suggestNextSiegeDate()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/SiegeCreatePage.tsx", "file_type": "code", "degree": 3}, {"id": "pages_siegecreatepage_siegecreatepage", "label": "SiegeCreatePage()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegeCreatePage()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/SiegeCreatePage.tsx", "file_type": "code", "degree": 18}, {"id": "pages_siegememberspage_attackdayselect", "label": "AttackDaySelect()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AttackDaySelect()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/SiegeMembersPage.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_pages_siegesettingspage_tsx", "label": "SiegeSettingsPage.tsx", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 23.8, "font": {"size": 12, "color": "#ffffff"}, "title": "SiegeSettingsPage.tsx", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/pages/SiegeSettingsPage.tsx", "file_type": "code", "degree": 57}, {"id": "frontend_src_pages_siegespage_tsx", "label": "SiegesPage.tsx", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 14.8, "font": {"size": 12, "color": "#ffffff"}, "title": "SiegesPage.tsx", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/SiegesPage.tsx", "file_type": "code", "degree": 20}, {"id": "pages_siegespage_statusbadgevariant", "label": "StatusBadgeVariant", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "StatusBadgeVariant", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/SiegesPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegespage_status_variants", "label": "STATUS_VARIANTS", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "STATUS_VARIANTS", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/SiegesPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegespage_status_labels", "label": "STATUS_LABELS", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "STATUS_LABELS", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/SiegesPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegespage_siegespage", "label": "SiegesPage()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegesPage()", "community": 7, "community_name": "Community 7", "source_file": "frontend/src/pages/SiegesPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_systempage_ui_libraries", "label": "UI_LIBRARIES", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "UI_LIBRARIES", "community": 40, "community_name": "Community 40", "source_file": "frontend/src/pages/SystemPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_systempage_sectionpanel", "label": "SectionPanel()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "SectionPanel()", "community": 40, "community_name": "Community 40", "source_file": "frontend/src/pages/SystemPage.tsx", "file_type": "code", "degree": 2}, {"id": "pages_systempage_datarow", "label": "DataRow()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "DataRow()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/pages/SystemPage.tsx", "file_type": "code", "degree": 4}, {"id": "pages_systempage_libraryrow", "label": "LibraryRow()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "LibraryRow()", "community": 40, "community_name": "Community 40", "source_file": "frontend/src/pages/SystemPage.tsx", "file_type": "code", "degree": 1}, {"id": "pages_systempage_systempage", "label": "SystemPage()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 12.2, "font": {"size": 0, "color": "#ffffff"}, "title": "SystemPage()", "community": 40, "community_name": "Community 40", "source_file": "frontend/src/pages/SystemPage.tsx", "file_type": "code", "degree": 9}, {"id": "frontend_src_test_handlers_ts", "label": "handlers.ts", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "handlers.ts", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/test/handlers.ts", "file_type": "code", "degree": 5}, {"id": "test_handlers_handlers", "label": "handlers", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "handlers", "community": 8, "community_name": "Community 8", "source_file": "frontend/src/test/handlers.ts", "file_type": "code", "degree": 2}, {"id": "frontend_src_test_server_ts", "label": "server.ts", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.6, "font": {"size": 12, "color": "#ffffff"}, "title": "server.ts", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/server.ts", "file_type": "code", "degree": 19}, {"id": "test_server_server", "label": "server", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "server", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/server.ts", "file_type": "code", "degree": 17}, {"id": "frontend_src_test_setup_ts", "label": "setup.ts", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "setup.ts", "community": 132, "community_name": "Community 132", "source_file": "frontend/src/test/setup.ts", "file_type": "code", "degree": 0}, {"id": "test_utils_testrenderoptions", "label": "TestRenderOptions", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TestRenderOptions", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/utils.tsx", "file_type": "code", "degree": 1}, {"id": "test_utils_renderwithproviders", "label": "renderWithProviders()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 16.3, "font": {"size": 12, "color": "#ffffff"}, "title": "renderWithProviders()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/utils.tsx", "file_type": "code", "degree": 26}, {"id": "components_carousel_test_rendercarousel", "label": "renderCarousel()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "renderCarousel()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/Carousel.test.tsx", "file_type": "code", "degree": 2}, {"id": "components_carousel_test_track", "label": "track", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "track", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/Carousel.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_carousel_test_dot0", "label": "dot0", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "dot0", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/Carousel.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_carousel_test_viewport", "label": "viewport", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "viewport", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/Carousel.test.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_test_components_changelogdropdown_test_tsx", "label": "ChangelogDropdown.test.tsx", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "ChangelogDropdown.test.tsx", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/ChangelogDropdown.test.tsx", "file_type": "code", "degree": 7}, {"id": "components_changelogdropdown_test_renderdropdown", "label": "renderDropdown()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "renderDropdown()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/ChangelogDropdown.test.tsx", "file_type": "code", "degree": 2}, {"id": "frontend_src_test_components_groupbyconditions_test_tsx", "label": "GroupByConditions.test.tsx", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.4, "font": {"size": 0, "color": "#ffffff"}, "title": "GroupByConditions.test.tsx", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/GroupByConditions.test.tsx", "file_type": "code", "degree": 18}, {"id": "components_groupbyconditions_test_setupconditions", "label": "setupConditions()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "setupConditions()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/GroupByConditions.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_groupbyconditions_test_setupmember", "label": "setupMember()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "setupMember()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/GroupByConditions.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_groupbyconditions_test_openconditionstab", "label": "openConditionsTab()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "openConditionsTab()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/GroupByConditions.test.tsx", "file_type": "code", "degree": 2}, {"id": "components_groupbyconditions_test_elements", "label": "elements", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "elements", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/GroupByConditions.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_groupbyconditions_test_rendermemberdetail", "label": "renderMemberDetail()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "renderMemberDetail()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/GroupByConditions.test.tsx", "file_type": "code", "degree": 2}, {"id": "components_groupbyconditions_test_waitforpreferences", "label": "waitForPreferences()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "waitForPreferences()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/GroupByConditions.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_groupbyconditions_test_headingtexts", "label": "headingTexts", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "headingTexts", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/GroupByConditions.test.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_test_components_groupbytoggle_test_tsx", "label": "GroupByToggle.test.tsx", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "GroupByToggle.test.tsx", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/GroupByToggle.test.tsx", "file_type": "code", "degree": 3}, {"id": "components_groupbytoggle_test_onchange", "label": "onChange", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "onChange", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/GroupByToggle.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_landingpage_test_renderlanding", "label": "renderLanding()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "renderLanding()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/LandingPage.test.tsx", "file_type": "code", "degree": 2}, {"id": "components_landingpage_test_signin", "label": "signIn", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "signIn", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/LandingPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_landingpage_test_list", "label": "list", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "list", "community": 42, "community_name": "Community 42", "source_file": "frontend/src/test/components/LandingPage.test.tsx", "file_type": "code", "degree": 23}, {"id": "components_landingpage_test_bullets", "label": "bullets", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "bullets", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/LandingPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_landingpage_test_ghlink", "label": "ghLink", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ghLink", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/LandingPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_landingpage_test_scrollintoviewmock", "label": "scrollIntoViewMock", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "scrollIntoViewMock", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/LandingPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_layout_test_renderlayout", "label": "renderLayout()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "renderLayout()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/test/components/Layout.test.tsx", "file_type": "code", "degree": 3}, {"id": "frontend_src_test_components_poststab_test_tsx", "label": "PostsTab.test.tsx", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 18.7, "font": {"size": 12, "color": "#ffffff"}, "title": "PostsTab.test.tsx", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 36}, {"id": "components_poststab_test_makepostboard", "label": "makePostBoard()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "makePostBoard()", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 2}, {"id": "components_poststab_test_setuphandlers", "label": "setupHandlers()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "setupHandlers()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 2}, {"id": "components_poststab_test_navigatetopoststab", "label": "navigateToPostsTab()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "navigateToPostsTab()", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_maketwopostboard", "label": "makeTwoPostBoard()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "makeTwoPostBoard()", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 2}, {"id": "components_poststab_test_board", "label": "board", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "board", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_post1", "label": "post1", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "post1", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_post2", "label": "post2", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "post2", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_postrefs", "label": "postRefs", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "postRefs", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_labels", "label": "labels", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "labels", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_btn", "label": "btn", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "btn", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_makepostpreviewresult", "label": "makePostPreviewResult()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "makePostPreviewResult()", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_makeoptimalassignment", "label": "makeOptimalAssignment()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "makeOptimalAssignment()", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_makesuggestionassignment", "label": "makeSuggestionAssignment()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "makeSuggestionAssignment()", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_chip", "label": "chip", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "chip", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_suggestbtn", "label": "suggestBtn", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "suggestBtn", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_poststab_test_applybtn", "label": "applyBtn", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "applyBtn", "community": 36, "community_name": "Community 36", "source_file": "frontend/src/test/components/PostsTab.test.tsx", "file_type": "code", "degree": 2}, {"id": "components_postsuggestionsmodal_test_rendermodal", "label": "renderModal()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "renderModal()", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 2}, {"id": "components_postsuggestionsmodal_test_rows", "label": "rows", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "rows", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_twosuggestions", "label": "twoSuggestions", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "twoSuggestions", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_onclose", "label": "onClose", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "onClose", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_regeneratebtns", "label": "regenerateBtns", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "regenerateBtns", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_skippedtile", "label": "skippedTile", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "skippedTile", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_alltile", "label": "allTile", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "allTile", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_optimalpreview", "label": "optimalPreview", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "optimalPreview", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_tworows", "label": "twoRows", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "twoRows", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_applyremainingbtn", "label": "applyRemainingBtn", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "applyRemainingBtn", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_expiresat", "label": "expiresAt", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "expiresAt", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_subtitle", "label": "subtitle", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "subtitle", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_slidersicons", "label": "slidersIcons", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "slidersIcons", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_postsuggestionsmodal_test_infoicons", "label": "infoIcons", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "infoIcons", "community": 14, "community_name": "Community 14", "source_file": "frontend/src/test/components/PostSuggestionsModal.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_siegelayout_test_postslink", "label": "postsLink", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "postsLink", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/test/components/SiegeLayout.test.tsx", "file_type": "code", "degree": 1}, {"id": "components_siegelayout_test_settingslink", "label": "settingsLink", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "settingsLink", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/test/components/SiegeLayout.test.tsx", "file_type": "code", "degree": 1}, {"id": "context_authcontext_test_testconsumer", "label": "TestConsumer()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "TestConsumer()", "community": 22, "community_name": "Community 22", "source_file": "frontend/src/test/context/AuthContext.test.tsx", "file_type": "code", "degree": 2}, {"id": "lib_grouppostconditions_test_makecond", "label": "makeCond()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "makeCond()", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/lib/groupPostConditions.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_grouppostconditions_test_mixed", "label": "MIXED", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "MIXED", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/lib/groupPostConditions.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_grouppostconditions_test_groups", "label": "groups", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "groups", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/lib/groupPostConditions.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_grouppostconditions_test_levels", "label": "levels", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "levels", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/lib/groupPostConditions.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_grouppostconditions_test_descriptions", "label": "descriptions", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "descriptions", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/lib/groupPostConditions.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_grouppostconditions_test_l1only", "label": "l1Only", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "l1Only", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/lib/groupPostConditions.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_grouppostconditions_test_types", "label": "types", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "types", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/lib/groupPostConditions.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_grouppostconditions_test_headings", "label": "headings", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "headings", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/lib/groupPostConditions.test.ts", "file_type": "code", "degree": 2}, {"id": "lib_grouppostconditions_test_factions", "label": "factions", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "factions", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/lib/groupPostConditions.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_grouppostconditions_test_unknown", "label": "unknown", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "unknown", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/lib/groupPostConditions.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_postconditiontypes_test_ids", "label": "ids", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ids", "community": 16, "community_name": "Community 16", "source_file": "frontend/src/test/lib/postConditionTypes.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_postconditiontypes_test_unique", "label": "unique", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "unique", "community": 16, "community_name": "Community 16", "source_file": "frontend/src/test/lib/postConditionTypes.test.ts", "file_type": "code", "degree": 1}, {"id": "lib_postconditiontypes_test_count", "label": "count()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "count()", "community": 16, "community_name": "Community 16", "source_file": "frontend/src/test/lib/postConditionTypes.test.ts", "file_type": "code", "degree": 1}, {"id": "frontend_src_test_pages_boardpage_test_tsx", "label": "BoardPage.test.tsx", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 16.5, "font": {"size": 12, "color": "#ffffff"}, "title": "BoardPage.test.tsx", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 27}, {"id": "pages_boardpage_test_makeboard", "label": "makeBoard()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "makeBoard()", "community": 2, "community_name": "Community 2", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 6}, {"id": "pages_boardpage_test_makesiegemember", "label": "makeSiegeMember()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 23.3, "font": {"size": 12, "color": "#ffffff"}, "title": "makeSiegeMember()", "community": 12, "community_name": "Community 12", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 55}, {"id": "pages_boardpage_test_setupdefaulthandlers", "label": "setupDefaultHandlers()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "setupDefaultHandlers()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_test_renderboard", "label": "renderBoard()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "renderBoard()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 3}, {"id": "pages_boardpage_test_ones", "label": "ones", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ones", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_test_disabledel", "label": "disabledEl", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "disabledEl", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_test_user", "label": "user", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "user", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 10}, {"id": "pages_boardpage_test_disabledspan", "label": "disabledSpan", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "disabledSpan", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_test_cell", "label": "cell", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "cell", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_test_members", "label": "members", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "members", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 3}, {"id": "pages_boardpage_test_searchinput", "label": "searchInput", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "searchInput", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_boardpage_test_memberrows", "label": "memberRows", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "memberRows", "community": 35, "community_name": "Community 35", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 2}, {"id": "pages_boardpage_test_bucketrow", "label": "bucketRow", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "bucketRow", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/BoardPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_loginpage_test_link", "label": "link", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "link", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/LoginPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_test_pages_postspage_groupby_test_tsx", "label": "PostsPage.groupBy.test.tsx", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.6, "font": {"size": 12, "color": "#ffffff"}, "title": "PostsPage.groupBy.test.tsx", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/PostsPage.groupBy.test.tsx", "file_type": "code", "degree": 19}, {"id": "pages_postspage_groupby_test_sample_conditions", "label": "SAMPLE_CONDITIONS", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "SAMPLE_CONDITIONS", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/PostsPage.groupBy.test.tsx", "file_type": "code", "degree": 2}, {"id": "pages_postspage_groupby_test_two_posts", "label": "TWO_POSTS", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "TWO_POSTS", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/PostsPage.groupBy.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_postspage_groupby_test_expandfirstpost", "label": "expandFirstPost()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "expandFirstPost()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/PostsPage.groupBy.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_postspage_groupby_test_expandallposts", "label": "expandAllPosts()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "expandAllPosts()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/PostsPage.groupBy.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_postspage_groupby_test_rowtoggle", "label": "rowToggle", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "rowToggle", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/PostsPage.groupBy.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_postspage_groupby_test_mastergroup", "label": "masterGroup", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "masterGroup", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/PostsPage.groupBy.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_postspage_groupby_test_rowgroups", "label": "rowGroups", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "rowGroups", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/PostsPage.groupBy.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_postspage_test_renderpostspage", "label": "renderPostsPage()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "renderPostsPage()", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/PostsPage.test.tsx", "file_type": "code", "degree": 3}, {"id": "pages_postspage_test_posts", "label": "posts", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "posts", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/pages/PostsPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_postspage_test_postheadings", "label": "postHeadings", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "postHeadings", "community": 15, "community_name": "Community 15", "source_file": "frontend/src/test/pages/PostsPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegememberspage_test_makepreview", "label": "makePreview()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "makePreview()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeMembersPage.test.tsx", "file_type": "code", "degree": 2}, {"id": "pages_siegememberspage_test_registerhandlers", "label": "registerHandlers()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "registerHandlers()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeMembersPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegememberspage_test_renderpage", "label": "renderPage()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "renderPage()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeMembersPage.test.tsx", "file_type": "code", "degree": 3}, {"id": "pages_siegememberspage_test_openpreviewdialog", "label": "openPreviewDialog()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "openPreviewDialog()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeMembersPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegememberspage_test_allcells", "label": "allCells", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "allCells", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeMembersPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegememberspage_test_namecells", "label": "nameCells", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "nameCells", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeMembersPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegememberspage_test_day2header", "label": "day2Header", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "day2Header", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeMembersPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegememberspage_test_day1names", "label": "day1Names", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "day1Names", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeMembersPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegesettingspage_test_makenotifyresponse", "label": "makeNotifyResponse()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "makeNotifyResponse()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeSettingsPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegesettingspage_test_makeresult", "label": "makeResult()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "makeResult()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeSettingsPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegesettingspage_test_makebatchresponse", "label": "makeBatchResponse()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "makeBatchResponse()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeSettingsPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegesettingspage_test_emptyvalidation", "label": "emptyValidation", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "emptyValidation", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeSettingsPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegesettingspage_test_waitforpageload", "label": "waitForPageLoad()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "waitForPageLoad()", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeSettingsPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegesettingspage_test_dialog", "label": "dialog", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "dialog", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeSettingsPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegesettingspage_test_notifybtn", "label": "notifyBtn", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "notifyBtn", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeSettingsPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "pages_siegesettingspage_test_statusel", "label": "statusEl", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "statusEl", "community": 3, "community_name": "Community 3", "source_file": "frontend/src/test/pages/SiegeSettingsPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_test_pages_siegespage_test_tsx", "label": "SiegesPage.test.tsx", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.9, "font": {"size": 0, "color": "#ffffff"}, "title": "SiegesPage.test.tsx", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/SiegesPage.test.tsx", "file_type": "code", "degree": 8}, {"id": "pages_siegespage_test_sieges", "label": "sieges", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "sieges", "community": 1, "community_name": "Community 1", "source_file": "frontend/src/test/pages/SiegesPage.test.tsx", "file_type": "code", "degree": 1}, {"id": "frontend_src_types_changelog_d_ts", "label": "changelog.d.ts", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "changelog.d.ts", "community": 98, "community_name": "Community 98", "source_file": "frontend/src/types/changelog.d.ts", "file_type": "code", "degree": 1}, {"id": "types_changelog_d_changelogentry", "label": "ChangelogEntry", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "ChangelogEntry", "community": 98, "community_name": "Community 98", "source_file": "frontend/src/types/changelog.d.ts", "file_type": "code", "degree": 1}, {"id": "scripts_bootstrap_db_ps1", "label": "bootstrap-db.ps1", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "bootstrap-db.ps1", "community": 133, "community_name": "Community 133", "source_file": "scripts/bootstrap-db.ps1", "file_type": "code", "degree": 0}, {"id": "scripts_bootstrap_excel_import_ps1", "label": "bootstrap-excel-import.ps1", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "bootstrap-excel-import.ps1", "community": 134, "community_name": "Community 134", "source_file": "scripts/bootstrap-excel-import.ps1", "file_type": "code", "degree": 0}, {"id": "scripts_bootstrap_images_ps1", "label": "bootstrap-images.ps1", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "bootstrap-images.ps1", "community": 135, "community_name": "Community 135", "source_file": "scripts/bootstrap-images.ps1", "file_type": "code", "degree": 0}, {"id": "scripts_bootstrap_keyvault_ps1", "label": "bootstrap-keyvault.ps1", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "bootstrap-keyvault.ps1", "community": 136, "community_name": "Community 136", "source_file": "scripts/bootstrap-keyvault.ps1", "file_type": "code", "degree": 0}, {"id": "scripts_bootstrap_reimport_ps1", "label": "bootstrap-reimport.ps1", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "bootstrap-reimport.ps1", "community": 137, "community_name": "Community 137", "source_file": "scripts/bootstrap-reimport.ps1", "file_type": "code", "degree": 0}, {"id": "scripts_generate_origin_pfx_ps1", "label": "generate-origin-pfx.ps1", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "generate-origin-pfx.ps1", "community": 138, "community_name": "Community 138", "source_file": "scripts/generate-origin-pfx.ps1", "file_type": "code", "degree": 0}, {"id": "scripts_rebuild_ps1", "label": "rebuild.ps1", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "rebuild.ps1", "community": 139, "community_name": "Community 139", "source_file": "scripts/rebuild.ps1", "file_type": "code", "degree": 0}, {"id": "scripts_excel_import_import_excel_py", "label": "import_excel.py", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 15.6, "font": {"size": 12, "color": "#ffffff"}, "title": "import_excel.py", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 23}, {"id": "excel_import_import_excel_parsedmember", "label": "ParsedMember", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "ParsedMember", "community": 16, "community_name": "Community 16", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 15}, {"id": "excel_import_import_excel_parsedassignment", "label": "ParsedAssignment", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "ParsedAssignment", "community": 16, "community_name": "Community 16", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 15}, {"id": "excel_import_import_excel_parsedreserve", "label": "ParsedReserve", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "ParsedReserve", "community": 16, "community_name": "Community 16", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 15}, {"id": "excel_import_import_excel_parsedpostconfig", "label": "ParsedPostConfig", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "ParsedPostConfig", "community": 16, "community_name": "Community 16", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 15}, {"id": "excel_import_import_excel_parsedpostconditions", "label": "ParsedPostConditions", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "ParsedPostConditions", "community": 16, "community_name": "Community 16", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 15}, {"id": "excel_import_import_excel_importstats", "label": "ImportStats", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 13.6, "font": {"size": 0, "color": "#ffffff"}, "title": "ImportStats", "community": 16, "community_name": "Community 16", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 15}, {"id": "excel_import_import_excel_parse_filename_date", "label": "parse_filename_date()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "parse_filename_date()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 3}, {"id": "excel_import_import_excel_map_role", "label": "map_role()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "map_role()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 4}, {"id": "excel_import_import_excel_map_building_alias", "label": "map_building_alias()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "map_building_alias()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 3}, {"id": "excel_import_import_excel_parse_members_sheet", "label": "parse_members_sheet()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "parse_members_sheet()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 4}, {"id": "excel_import_import_excel_parse_assignments_sheet", "label": "parse_assignments_sheet()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "parse_assignments_sheet()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 6}, {"id": "excel_import_import_excel_parse_reserves_sheet", "label": "parse_reserves_sheet()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "parse_reserves_sheet()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 4}, {"id": "excel_import_import_excel_parse_posts_sheet_config", "label": "parse_posts_sheet_config()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "parse_posts_sheet_config()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 4}, {"id": "excel_import_import_excel_parse_posts_sheet_conditions", "label": "parse_posts_sheet_conditions()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "parse_posts_sheet_conditions()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 4}, {"id": "excel_import_import_excel_build_group_structure", "label": "build_group_structure()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "build_group_structure()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 2}, {"id": "excel_import_import_excel_compute_building_group_structure", "label": "compute_building_group_structure()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "compute_building_group_structure()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 3}, {"id": "excel_import_import_excel_infer_building_level", "label": "infer_building_level()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "infer_building_level()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 3}, {"id": "excel_import_import_excel_create_building_with_groups_and_positions", "label": "create_building_with_groups_and_positions()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "create_building_with_groups_and_positions()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 4}, {"id": "excel_import_import_excel_import_file", "label": "import_file()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 14.1, "font": {"size": 0, "color": "#ffffff"}, "title": "import_file()", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 17}, {"id": "excel_import_import_excel_collect_xlsm_files", "label": "collect_xlsm_files()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "collect_xlsm_files()", "community": 42, "community_name": "Community 42", "source_file": "scripts/excel-import/import_excel.py", "file_type": "code", "degree": 4}, {"id": "excel_import_import_excel_rationale_1", "label": "Excel import script for Raid Shadow Legends Siege Assignment Web App. Imports h", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Excel import script for Raid Shadow Legends Siege Assignment Web App. Imports h", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_225", "label": "Extract the siege date from a filename like clan_siege_MM_DD_YYYY.xlsm.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Extract the siege date from a filename like clan_siege_MM_DD_YYYY.xlsm.", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_237", "label": "Map a display role string to its enum value.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Map a display role string to its enum value.", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_242", "label": "Map a raw building type string to its canonical enum value and optional building", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Map a raw building type string to its canonical enum value and optional building", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_266", "label": "Parse the 'Members' worksheet. Expected columns: A: name, B: level (i", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Parse the &#x27;Members&#x27; worksheet. Expected columns: A: name, B: level (i", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_338", "label": "Parse the 'Assignments' worksheet in its visual grid format. Layout:", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Parse the &#x27;Assignments&#x27; worksheet in its visual grid format. Layout:", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_446", "label": "Parse the 'Reserves' worksheet. Expected columns: A: member_name, B:", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Parse the &#x27;Reserves&#x27; worksheet. Expected columns: A: member_name, B:", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_490", "label": "Parse post priority and descriptions from the Posts sheet, rows 2\u201317, columns B\u2013", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Parse post priority and descriptions from the Posts sheet, rows 2\u201317, columns B\u2013", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_535", "label": "Parse post active conditions from the Posts sheet, rows 34\u201351, columns D\u2013F.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Parse post active conditions from the Posts sheet, rows 34\u201351, columns D\u2013F.", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_571", "label": "Return a list of slot_counts for each group of the given building type. e.g", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a list of slot_counts for each group of the given building type. e.g", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_597", "label": "Scan the given list of ParsedAssignments and return {group_number: slot_count}", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Scan the given list of ParsedAssignments and return {group_number: slot_count}", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_678", "label": "Sum all slot counts in group_structure and look up the level for that building t", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Sum all slot counts in group_structure and look up the level for that building t", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_691", "label": "Return (member, created). Looks up by name (case-insensitive). Creates if no", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return (member, created). Looks up by name (case-insensitive). Creates if no", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_727", "label": "Create a Building, its BuildingGroups, and their Positions. Uses the provid", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a Building, its BuildingGroups, and their Positions. Uses the provid", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_781", "label": "Import a single .xlsm file. Returns ImportStats.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Import a single .xlsm file. Returns ImportStats.", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_1073", "label": "Import a list of .xlsm files into the database.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Import a list of .xlsm files into the database.", "community": 21, "community_name": "Community 21", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "excel_import_import_excel_rationale_1147", "label": "Return a sorted list of .xlsm files from a file path or directory.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Return a sorted list of .xlsm files from a file path or directory.", "community": 42, "community_name": "Community 42", "source_file": "scripts/excel-import/import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_excel_import_tests_test_import_excel_py", "label": "test_import_excel.py", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 24.8, "font": {"size": 12, "color": "#ffffff"}, "title": "test_import_excel.py", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 61}, {"id": "tests_test_import_excel_test_parse_filename", "label": "test_parse_filename()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_filename()", "community": 85, "community_name": "Community 85", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_parse_filename_with_path_prefix", "label": "test_parse_filename_with_path_prefix()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_filename_with_path_prefix()", "community": 86, "community_name": "Community 86", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_parse_filename_invalid_random", "label": "test_parse_filename_invalid_random()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_filename_invalid_random()", "community": 73, "community_name": "Community 73", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_test_parse_filename_invalid_impossible_date", "label": "test_parse_filename_invalid_impossible_date()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_filename_invalid_impossible_date()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_role_mapping_heavy_hitter", "label": "test_role_mapping_heavy_hitter()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_role_mapping_heavy_hitter()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_role_mapping_advanced", "label": "test_role_mapping_advanced()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_role_mapping_advanced()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_role_mapping_medium", "label": "test_role_mapping_medium()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_role_mapping_medium()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_role_mapping_novice", "label": "test_role_mapping_novice()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_role_mapping_novice()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_role_mapping_unknown_returns_none", "label": "test_role_mapping_unknown_returns_none()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_role_mapping_unknown_returns_none()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_building_alias_stronghold", "label": "test_building_alias_stronghold()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_alias_stronghold()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_building_alias_mana_shrine_full", "label": "test_building_alias_mana_shrine_full()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_alias_mana_shrine_full()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_building_alias_mana_short", "label": "test_building_alias_mana_short()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_alias_mana_short()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_building_alias_magic_short", "label": "test_building_alias_magic_short()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_alias_magic_short()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_building_alias_defense_tower_full", "label": "test_building_alias_defense_tower_full()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_alias_defense_tower_full()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_building_alias_defense_short", "label": "test_building_alias_defense_short()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_alias_defense_short()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_building_alias_post", "label": "test_building_alias_post()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_alias_post()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_test_building_alias_unknown_returns_none", "label": "test_building_alias_unknown_returns_none()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_building_alias_unknown_returns_none()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 1}, {"id": "tests_test_import_excel_make_worksheet", "label": "_make_worksheet()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 12.4, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_worksheet()", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 10}, {"id": "tests_test_import_excel_test_parse_members_sheet_basic", "label": "test_parse_members_sheet_basic()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_members_sheet_basic()", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_test_parse_members_sheet_skips_empty_rows", "label": "test_parse_members_sheet_skips_empty_rows()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_members_sheet_skips_empty_rows()", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_parse_members_sheet_strips_whitespace", "label": "test_parse_members_sheet_strips_whitespace()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_members_sheet_strips_whitespace()", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_parse_members_sheet_post_preferences", "label": "test_parse_members_sheet_post_preferences()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_members_sheet_post_preferences()", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 4}, {"id": "tests_test_import_excel_make_assignments_worksheet", "label": "_make_assignments_worksheet()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 11.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_assignments_worksheet()", "community": 58, "community_name": "Community 58", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 7}, {"id": "tests_test_import_excel_test_parse_assignments_sheet_member_assignment", "label": "test_parse_assignments_sheet_member_assignment()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_assignments_sheet_member_assignment()", "community": 58, "community_name": "Community 58", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_parse_assignments_sheet_skips_unknown_building_type", "label": "test_parse_assignments_sheet_skips_unknown_building_type()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_assignments_sheet_skips_unknown_building_type()", "community": 58, "community_name": "Community 58", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_parse_assignments_sheet_skips_incomplete_rows", "label": "test_parse_assignments_sheet_skips_incomplete_rows()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_assignments_sheet_skips_incomplete_rows()", "community": 58, "community_name": "Community 58", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_test_parse_assignments_sheet_empty_value_is_none", "label": "test_parse_assignments_sheet_empty_value_is_none()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_assignments_sheet_empty_value_is_none()", "community": 58, "community_name": "Community 58", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_test_parse_reserves_sheet_basic", "label": "test_parse_reserves_sheet_basic()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_reserves_sheet_basic()", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_parse_reserves_sheet_skips_empty_rows", "label": "test_parse_reserves_sheet_skips_empty_rows()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_reserves_sheet_skips_empty_rows()", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_parse_reserves_sheet_invalid_attack_day_ignored", "label": "test_parse_reserves_sheet_invalid_attack_day_ignored()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_reserves_sheet_invalid_attack_day_ignored()", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_parse_reserves_sheet_case_insensitive_yes_no", "label": "test_parse_reserves_sheet_case_insensitive_yes_no()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_reserves_sheet_case_insensitive_yes_no()", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_build_group_structure_stronghold", "label": "test_build_group_structure_stronghold()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_group_structure_stronghold()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_build_group_structure_mana_shrine", "label": "test_build_group_structure_mana_shrine()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_group_structure_mana_shrine()", "community": 87, "community_name": "Community 87", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_build_group_structure_magic_tower", "label": "test_build_group_structure_magic_tower()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_group_structure_magic_tower()", "community": 94, "community_name": "Community 94", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_build_group_structure_defense_tower", "label": "test_build_group_structure_defense_tower()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_group_structure_defense_tower()", "community": 88, "community_name": "Community 88", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_build_group_structure_post", "label": "test_build_group_structure_post()", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_build_group_structure_post()", "community": 95, "community_name": "Community 95", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_compute_building_group_structure_basic", "label": "test_compute_building_group_structure_basic()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compute_building_group_structure_basic()", "community": 67, "community_name": "Community 67", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 5}, {"id": "tests_test_import_excel_test_compute_building_group_structure_post_no_inflation", "label": "test_compute_building_group_structure_post_no_inflation()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compute_building_group_structure_post_no_inflation()", "community": 89, "community_name": "Community 89", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_compute_building_group_structure_filters_by_building_number", "label": "test_compute_building_group_structure_filters_by_building_number()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compute_building_group_structure_filters_by_building_number()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_compute_building_group_structure_mana_shrine_level2", "label": "test_compute_building_group_structure_mana_shrine_level2()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compute_building_group_structure_mana_shrine_level2()", "community": 72, "community_name": "Community 72", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_test_compute_building_group_structure_magic_tower_level3", "label": "test_compute_building_group_structure_magic_tower_level3()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_compute_building_group_structure_magic_tower_level3()", "community": 71, "community_name": "Community 71", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 4}, {"id": "tests_test_import_excel_test_infer_building_level_stronghold_level1", "label": "test_infer_building_level_stronghold_level1()", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_infer_building_level_stronghold_level1()", "community": 97, "community_name": "Community 97", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_infer_building_level_mana_shrine_level2", "label": "test_infer_building_level_mana_shrine_level2()", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_infer_building_level_mana_shrine_level2()", "community": 90, "community_name": "Community 90", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_infer_building_level_magic_tower_level1", "label": "test_infer_building_level_magic_tower_level1()", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_infer_building_level_magic_tower_level1()", "community": 91, "community_name": "Community 91", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_infer_building_level_defense_tower_level4", "label": "test_infer_building_level_defense_tower_level4()", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_infer_building_level_defense_tower_level4()", "community": 92, "community_name": "Community 92", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_infer_building_level_post", "label": "test_infer_building_level_post()", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_infer_building_level_post()", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_infer_building_level_fallback", "label": "test_infer_building_level_fallback()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_infer_building_level_fallback()", "community": 96, "community_name": "Community 96", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_test_infer_building_level_unknown_building_type_fallback", "label": "test_infer_building_level_unknown_building_type_fallback()", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.5, "font": {"size": 0, "color": "#ffffff"}, "title": "test_infer_building_level_unknown_building_type_fallback()", "community": 93, "community_name": "Community 93", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 2}, {"id": "tests_test_import_excel_make_posts_config_worksheet", "label": "_make_posts_config_worksheet()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 11.2, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_posts_config_worksheet()", "community": 59, "community_name": "Community 59", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 5}, {"id": "tests_test_import_excel_test_parse_posts_sheet_config_basic", "label": "test_parse_posts_sheet_config_basic()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_posts_sheet_config_basic()", "community": 59, "community_name": "Community 59", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_test_parse_posts_sheet_config_default_priority", "label": "test_parse_posts_sheet_config_default_priority()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_posts_sheet_config_default_priority()", "community": 59, "community_name": "Community 59", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_test_parse_posts_sheet_config_multiple_sections", "label": "test_parse_posts_sheet_config_multiple_sections()", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_posts_sheet_config_multiple_sections()", "community": 59, "community_name": "Community 59", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_make_posts_conditions_worksheet", "label": "_make_posts_conditions_worksheet()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_posts_conditions_worksheet()", "community": 64, "community_name": "Community 64", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 4}, {"id": "tests_test_import_excel_test_parse_posts_sheet_conditions_basic", "label": "test_parse_posts_sheet_conditions_basic()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_posts_sheet_conditions_basic()", "community": 64, "community_name": "Community 64", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_test_parse_posts_sheet_conditions_skips_empty", "label": "test_parse_posts_sheet_conditions_skips_empty()", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "test_parse_posts_sheet_conditions_skips_empty()", "community": 64, "community_name": "Community 64", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_make_empty_worksheet", "label": "_make_empty_worksheet()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.7, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_empty_worksheet()", "community": 56, "community_name": "Community 56", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 3}, {"id": "tests_test_import_excel_make_workbook_mock", "label": "_make_workbook_mock()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.5, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_workbook_mock()", "community": 56, "community_name": "Community 56", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 6}, {"id": "tests_test_import_excel_make_session_mock", "label": "_make_session_mock()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "_make_session_mock()", "community": 56, "community_name": "Community 56", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 4}, {"id": "tests_test_import_excel_test_import_file_section3c_skipped_when_not_most_recent", "label": "test_import_file_section3c_skipped_when_not_most_recent()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_import_file_section3c_skipped_when_not_most_recent()", "community": 56, "community_name": "Community 56", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 4}, {"id": "tests_test_import_excel_test_import_file_section3c_runs_when_most_recent_but_finds_nothing", "label": "test_import_file_section3c_runs_when_most_recent_but_finds_nothing()", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 11.0, "font": {"size": 0, "color": "#ffffff"}, "title": "test_import_file_section3c_runs_when_most_recent_but_finds_nothing()", "community": 56, "community_name": "Community 56", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "code", "degree": 4}, {"id": "tests_test_import_excel_rationale_1", "label": "Tests for scripts/import_excel.py parsing logic. All tests are pure-function te", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Tests for scripts/import_excel.py parsing logic. All tests are pure-function te", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_29", "label": "Extracts a valid date from a canonical MM_DD_YYYY filename.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Extracts a valid date from a canonical MM_DD_YYYY filename.", "community": 85, "community_name": "Community 85", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_35", "label": "Extracts date even when the filename has a path prefix passed as string.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Extracts date even when the filename has a path prefix passed as string.", "community": 86, "community_name": "Community 86", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_46", "label": "Returns None for a filename that does not match the pattern.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns None for a filename that does not match the pattern.", "community": 73, "community_name": "Community 73", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_52", "label": "Returns None for a completely unrelated filename.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns None for a completely unrelated filename.", "community": 73, "community_name": "Community 73", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_58", "label": "Returns None when the extracted date components don't form a valid date.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Returns None when the extracted date components don&#x27;t form a valid date.", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_135", "label": "Create a mock openpyxl worksheet that yields the given rows.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a mock openpyxl worksheet that yields the given rows.", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_142", "label": "Parses name, power_level bucket, and role from correct column positions.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Parses name, power_level bucket, and role from correct column positions.", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_199", "label": "Column E is parsed as a slash-separated list of keyword strings.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Column E is parsed as a slash-separated list of keyword strings.", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_212", "label": "Empty or None column E results in an empty list.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Empty or None column E results in an empty list.", "community": 48, "community_name": "Community 48", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_238", "label": "Build a mock assignments worksheet with the proper two header rows prepended.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Build a mock assignments worksheet with the proper two header rows prepended.", "community": 58, "community_name": "Community 58", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_304", "label": "Rows with a None group cell are skipped.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rows with a None group cell are skipped.", "community": 58, "community_name": "Community 58", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_316", "label": "Whitespace-only cell values normalise to None.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Whitespace-only cell values normalise to None.", "community": 58, "community_name": "Community 58", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_390", "label": "Stronghold: 4 groups all with 3 slots.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Stronghold: 4 groups all with 3 slots.", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_396", "label": "Mana shrine: 2 groups both with 3 slots.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Mana shrine: 2 groups both with 3 slots.", "community": 87, "community_name": "Community 87", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_402", "label": "Magic tower: 1 group with 2 slots.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Magic tower: 1 group with 2 slots.", "community": 94, "community_name": "Community 94", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_408", "label": "Defense tower: 1 group with 2 slots.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Defense tower: 1 group with 2 slots.", "community": 88, "community_name": "Community 88", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_414", "label": "Post: 1 group with 1 slot.", "color": {"background": "#EDC948", "border": "#EDC948", "highlight": {"background": "#ffffff", "border": "#EDC948"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Post: 1 group with 1 slot.", "community": 95, "community_name": "Community 95", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_425", "label": "Mana shrine with 2 groups: position 3 is an empty trailing sheet column for grou", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Mana shrine with 2 groups: position 3 is an empty trailing sheet column for grou", "community": 67, "community_name": "Community 67", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_445", "label": "Magic tower (base_last_slots=2): position 3 is a trailing empty sheet column and", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Magic tower (base_last_slots=2): position 3 is a trailing empty sheet column and", "community": 71, "community_name": "Community 71", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_459", "label": "Magic tower at a higher level where position 3 is genuinely filled: slot_cou", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Magic tower at a higher level where position 3 is genuinely filled: slot_cou", "community": 71, "community_name": "Community 71", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_473", "label": "Post (base_last_slots=1): positions 2 and 3 are always empty trailing columns.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Post (base_last_slots=1): positions 2 and 3 are always empty trailing columns.", "community": 89, "community_name": "Community 89", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_486", "label": "Only assignments for the specified (type, number) pair are counted.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Only assignments for the specified (type, number) pair are counted.", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_503", "label": "Stronghold level 2 = 16 total slots = 5 full groups (3 slots each) + 1 last grou", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Stronghold level 2 = 16 total slots = 5 full groups (3 slots each) + 1 last grou", "community": 67, "community_name": "Community 67", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_524", "label": "Stronghold level 4 = 22 total slots = 7 full groups + 1 last group with 1 slot.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Stronghold level 4 = 22 total slots = 7 full groups + 1 last group with 1 slot.", "community": 67, "community_name": "Community 67", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_541", "label": "Mana Shrine level 2 = 7 total slots = 2 full groups + 1 last group with 1 slot.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Mana Shrine level 2 = 7 total slots = 2 full groups + 1 last group with 1 slot.", "community": 72, "community_name": "Community 72", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_558", "label": "Mana Shrine level 4 = 11 total slots = 3 full groups + 1 last group with 2 slots", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Mana Shrine level 4 = 11 total slots = 3 full groups + 1 last group with 2 slots", "community": 72, "community_name": "Community 72", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_576", "label": "Magic Tower level 3 = 4 total slots = 1 full group (3 slots) + 1 last group with", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Magic Tower level 3 = 4 total slots = 1 full group (3 slots) + 1 last group with", "community": 71, "community_name": "Community 71", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_593", "label": "Defense Tower level 4 = 6 total slots = 2 full groups \u00d7 3 slots each. At lev", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Defense Tower level 4 = 6 total slots = 2 full groups \u00d7 3 slots each. At lev", "community": 67, "community_name": "Community 67", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_616", "label": "12 total positions in a stronghold -> level 1.", "color": {"background": "#FF9DA7", "border": "#FF9DA7", "highlight": {"background": "#ffffff", "border": "#FF9DA7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "12 total positions in a stronghold -&gt; level 1.", "community": 97, "community_name": "Community 97", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_636", "label": "7 total positions in a mana shrine -> level 2.", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "7 total positions in a mana shrine -&gt; level 2.", "community": 90, "community_name": "Community 90", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_642", "label": "2 total positions in a magic tower -> level 1.", "color": {"background": "#F28E2B", "border": "#F28E2B", "highlight": {"background": "#ffffff", "border": "#F28E2B"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "2 total positions in a magic tower -&gt; level 1.", "community": 91, "community_name": "Community 91", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_648", "label": "6 total positions in a defense tower -> level 4.", "color": {"background": "#E15759", "border": "#E15759", "highlight": {"background": "#ffffff", "border": "#E15759"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "6 total positions in a defense tower -&gt; level 4.", "community": 92, "community_name": "Community 92", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_654", "label": "1 total position in a post -> level 1.", "color": {"background": "#9C755F", "border": "#9C755F", "highlight": {"background": "#ffffff", "border": "#9C755F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "1 total position in a post -&gt; level 1.", "community": 28, "community_name": "Community 28", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_660", "label": "An unknown total position count falls back to level 1.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "An unknown total position count falls back to level 1.", "community": 96, "community_name": "Community 96", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_666", "label": "An unknown building type falls back to level 1.", "color": {"background": "#76B7B2", "border": "#76B7B2", "highlight": {"background": "#ffffff", "border": "#76B7B2"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "An unknown building type falls back to level 1.", "community": 93, "community_name": "Community 93", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_677", "label": "Create a mock worksheet for parse_posts_sheet_config. The function calls ws", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a mock worksheet for parse_posts_sheet_config. The function calls ws", "community": 59, "community_name": "Community 59", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_690", "label": "One high-priority section with two posts: both get priority=3 and correct descri", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "One high-priority section with two posts: both get priority=3 and correct descri", "community": 59, "community_name": "Community 59", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_709", "label": "Rows before any priority header default to priority=1 (Low).", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Rows before any priority header default to priority=1 (Low).", "community": 59, "community_name": "Community 59", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_721", "label": "Posts fall into the correct priority section based on their position.", "color": {"background": "#BAB0AC", "border": "#BAB0AC", "highlight": {"background": "#ffffff", "border": "#BAB0AC"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Posts fall into the correct priority section based on their position.", "community": 59, "community_name": "Community 59", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_746", "label": "Create a mock worksheet for parse_posts_sheet_conditions. The function enum", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Create a mock worksheet for parse_posts_sheet_conditions. The function enum", "community": 64, "community_name": "Community 64", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_758", "label": "Three post rows with 1\u20133 keywords each are parsed correctly.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Three post rows with 1\u20133 keywords each are parsed correctly.", "community": 64, "community_name": "Community 64", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_778", "label": "A row with all-None cells is not included in the result.", "color": {"background": "#59A14F", "border": "#59A14F", "highlight": {"background": "#ffffff", "border": "#59A14F"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "A row with all-None cells is not included in the result.", "community": 64, "community_name": "Community 64", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_797", "label": "Worksheet that yields no rows.", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Worksheet that yields no rows.", "community": 56, "community_name": "Community 56", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_804", "label": "Minimal openpyxl workbook mock. Members / Assignments / Reserves are empty", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "Minimal openpyxl workbook mock. Members / Assignments / Reserves are empty", "community": 56, "community_name": "Community 56", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_840", "label": "AsyncMock session whose execute() returns a result whose scalars().all() is [].", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "AsyncMock session whose execute() returns a result whose scalars().all() is [].", "community": 56, "community_name": "Community 56", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_862", "label": "When is_most_recent=False, section 3c must not run even if the Posts sheet p", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When is_most_recent=False, section 3c must not run even if the Posts sheet p", "community": 56, "community_name": "Community 56", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "tests_test_import_excel_rationale_881", "label": "When is_most_recent=True and the DB has no PostPriorityConfig rows yet, sect", "color": {"background": "#B07AA1", "border": "#B07AA1", "highlight": {"background": "#ffffff", "border": "#B07AA1"}}, "size": 10.2, "font": {"size": 0, "color": "#ffffff"}, "title": "When is_most_recent=True and the DB has no PostPriorityConfig rows yet, sect", "community": 56, "community_name": "Community 56", "source_file": "scripts/excel-import/tests/test_import_excel.py", "file_type": "rationale", "degree": 1}, {"id": "scripts_experiments_run_graphify_dry_run_ps1", "label": "run-graphify-dry-run.ps1", "color": {"background": "#4E79A7", "border": "#4E79A7", "highlight": {"background": "#ffffff", "border": "#4E79A7"}}, "size": 10.0, "font": {"size": 0, "color": "#ffffff"}, "title": "run-graphify-dry-run.ps1", "community": 140, "community_name": "Community 140", "source_file": "scripts/experiments/run-graphify-dry-run.ps1", "file_type": "code", "degree": 0}];
const RAW_EDGES = [{"from": "backend_alembic_env_py", "to": "alembic_env_run_migrations_offline", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_env_py", "to": "alembic_env_do_run_migrations", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_env_py", "to": "alembic_env_run_async_migrations", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_env_py", "to": "alembic_env_run_migrations_online", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "alembic_env_run_migrations_online", "to": "alembic_env_run_async_migrations", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0001_initial_schema_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0001_initial_schema_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0001_initial_schema_rationale_1", "to": "backend_alembic_versions_0001_initial_schema_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0002_add_preview_columns_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0003_make_siege_date_nullable_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0004_add_post_priority_config_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0005_add_description_to_post_priority_config_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0006_power_level_and_drop_sort_value_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0007_fix_group_number_max_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0008_add_matched_condition_id_to_position_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0009_add_discord_id_to_member_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0010_add_last_seen_changelog_at_to_member_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0010_add_last_seen_changelog_at_to_member_rationale_25", "to": "versions_0001_initial_schema_upgrade", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0011_add_post_suggest_preview_py", "to": "versions_0001_initial_schema_upgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0011_add_post_suggest_preview_rationale_23", "to": "versions_0001_initial_schema_upgrade", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0002_add_preview_columns_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0003_make_siege_date_nullable_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0004_add_post_priority_config_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0005_add_description_to_post_priority_config_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0006_power_level_and_drop_sort_value_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0007_fix_group_number_max_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0008_add_matched_condition_id_to_position_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0009_add_discord_id_to_member_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0010_add_last_seen_changelog_at_to_member_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0010_add_last_seen_changelog_at_to_member_rationale_33", "to": "versions_0001_initial_schema_downgrade", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_alembic_versions_0011_add_post_suggest_preview_py", "to": "versions_0001_initial_schema_downgrade", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0011_add_post_suggest_preview_rationale_34", "to": "versions_0001_initial_schema_downgrade", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0002_add_preview_columns_rationale_1", "to": "backend_alembic_versions_0002_add_preview_columns_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0003_make_siege_date_nullable_rationale_1", "to": "backend_alembic_versions_0003_make_siege_date_nullable_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0004_add_post_priority_config_rationale_1", "to": "backend_alembic_versions_0004_add_post_priority_config_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0005_add_description_to_post_priority_config_rationale_1", "to": "backend_alembic_versions_0005_add_description_to_post_priority_config_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0006_power_level_and_drop_sort_value_rationale_1", "to": "backend_alembic_versions_0006_power_level_and_drop_sort_value_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0007_fix_group_number_max_rationale_1", "to": "backend_alembic_versions_0007_fix_group_number_max_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0008_add_matched_condition_id_to_position_rationale_1", "to": "backend_alembic_versions_0008_add_matched_condition_id_to_position_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0009_add_discord_id_to_member_rationale_1", "to": "backend_alembic_versions_0009_add_discord_id_to_member_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0010_add_last_seen_changelog_at_to_member_rationale_1", "to": "backend_alembic_versions_0010_add_last_seen_changelog_at_to_member_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "versions_0011_add_post_suggest_preview_rationale_1", "to": "backend_alembic_versions_0011_add_post_suggest_preview_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_config_py", "to": "app_config_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_config_settings", "to": "basesettings", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "app_config_settings", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_config_testenvironmentrequired", "to": "app_config_settings", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_config_testlifespanauthguard", "to": "app_config_settings", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_tests_test_config_endpoint_py", "to": "app_config_settings", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_config_endpoint_teststartupsessionsecretguard", "to": "app_config_settings", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "bot_app_main_py", "to": "app_main_lifespan", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_rationale_48", "to": "app_main_lifespan", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_rationale_1", "to": "bot_app_main_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_middleware_py", "to": "app_middleware_requestloggingmiddleware", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_middleware_requestloggingmiddleware", "to": "basehttpmiddleware", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_middleware_requestloggingmiddleware", "to": "app_middleware_requestloggingmiddleware_dispatch", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_rate_limit_py", "to": "app_rate_limit_get_client_ip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_rate_limit_py", "to": "app_rate_limit_rate_limit_key", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_rate_limit_py", "to": "app_rate_limit_parse_retry_after_seconds", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_rate_limit_py", "to": "app_rate_limit_rate_limit_exceeded_handler", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_rate_limit_rationale_1", "to": "backend_app_rate_limit_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_rate_limit_rate_limit_key", "to": "app_rate_limit_get_client_ip", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_rate_limit_rationale_53", "to": "app_rate_limit_get_client_ip", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_rate_limit_rationale_155", "to": "app_rate_limit_rate_limit_key", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_rate_limit_rate_limit_exceeded_handler", "to": "app_rate_limit_parse_retry_after_seconds", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_rate_limit_rationale_180", "to": "app_rate_limit_parse_retry_after_seconds", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_rate_limit_rationale_218", "to": "app_rate_limit_rate_limit_exceeded_handler", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_telemetry_py", "to": "app_telemetry_configure_telemetry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_telemetry_rationale_32", "to": "app_telemetry_configure_telemetry", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_telemetry_rationale_1", "to": "bot_app_telemetry_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_attack_day_py", "to": "api_sieges_previewattackday", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_attack_day_py", "to": "api_sieges_applyattackday", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_attack_day_py", "to": "api_types_attackdayassignment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_attack_day_py", "to": "api_types_attackdaypreviewresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_attack_day_py", "to": "api_types_attackdayapplyresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_attack_day_py", "to": "services_autofill_now_utc", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_attack_day_py", "to": "services_attack_day_build_preview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "api_auth_autherror", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "api_auth_exchange_code_for_token", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "api_auth_get_discord_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "api_auth_check_guild_membership", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "api_auth_login", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "api_auth_callback", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "api_auth_logout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "api_auth_me", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "api_auth_error_redirect", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_rationale_1", "to": "backend_app_api_auth_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "dependencies_auth_authenticateduser", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_auth_py", "to": "dependencies_auth_get_current_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "dependencies_auth_rationale_1", "to": "backend_app_api_auth_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_rationale_28", "to": "api_auth_autherror", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_autherror", "to": "dependencies_auth_authenticateduser", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_auth_autherror", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_auth_callback", "to": "api_auth_exchange_code_for_token", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_rationale_42", "to": "api_auth_exchange_code_for_token", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_callback", "to": "api_auth_get_discord_user", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_rationale_60", "to": "api_auth_get_discord_user", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_callback", "to": "api_auth_check_guild_membership", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_rationale_71", "to": "api_auth_check_guild_membership", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_rationale_78", "to": "api_auth_login", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_callback", "to": "api_auth_error_redirect", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_rationale_118", "to": "api_auth_callback", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_rationale_204", "to": "api_auth_logout", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_rationale_213", "to": "api_auth_me", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_auth_rationale_223", "to": "api_auth_error_redirect", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_autofill_py", "to": "api_sieges_previewautofill", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_autofill_py", "to": "api_sieges_applyautofill", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_autofill_py", "to": "api_types_autofillassignment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_autofill_py", "to": "api_types_autofillpreviewresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_autofill_py", "to": "api_types_autofillapplyresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_autofill_py", "to": "services_autofill_now_utc", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "api_board_getboard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "api_posts_updatepost", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "api_board_bulk_update_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "schemas_board_positionboardresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "schemas_board_groupboardresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "schemas_board_buildingboardresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "api_types_boardresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "schemas_board_positionupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "schemas_board_bulkpositionupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "services_board_get_siege_for_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "services_board_validate_position_state", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_board_py", "to": "services_board_validate_member_active", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_board_bulk_update_positions", "to": "services_board_validate_position_state", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_board_rationale_172", "to": "api_board_bulk_update_positions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "api_buildings_list_buildings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "api_buildings_add_building", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "api_sieges_updatebuilding", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "api_sieges_deletebuilding", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "api_buildings_add_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "api_buildings_delete_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "services_buildings_rebuild_groups_for_level", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "services_buildings_get_building_type_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "api_sieges_getbuildings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "services_buildings_require_planning_or_not_locked", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_buildings_py", "to": "services_buildings_create_groups_and_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_buildings_list_buildings", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_buildings_add_building", "to": "services_buildings_get_building_type_config", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_buildings_add_building", "to": "services_buildings_create_groups_and_positions", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_buildings_add_group", "to": "api_sieges_getbuildings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_buildings_add_group", "to": "models_building_group_buildinggroup", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_buildings_delete_group", "to": "api_sieges_getbuildings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_changelog_py", "to": "api_changelog_require_member_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_changelog_py", "to": "api_changelog_get_changelog_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_changelog_py", "to": "api_changelog_markchangelogseen", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_changelog_rationale_1", "to": "backend_app_api_changelog_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_changelog_py", "to": "schemas_changelog_changelogstatusresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_changelog_rationale_1", "to": "backend_app_api_changelog_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_changelog_get_changelog_status", "to": "api_changelog_require_member_session", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_changelog_markchangelogseen", "to": "api_changelog_require_member_session", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_changelog_rationale_25", "to": "api_changelog_require_member_session", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_changelog_rationale_47", "to": "api_changelog_get_changelog_status", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_changelog_get_changelog_status", "to": "schemas_changelog_changelogstatusresponse", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_changelog_rationale_73", "to": "api_changelog_markchangelogseen", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_comparison_py", "to": "api_comparison_compare_with_most_recent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_comparison_py", "to": "api_comparison_compare_with_specific", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_comparison_py", "to": "api_types_positionkey", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_comparison_py", "to": "api_types_memberdiff", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_comparison_py", "to": "api_types_comparisonresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_comparison_py", "to": "services_comparison_load_assignments", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_comparison_py", "to": "services_comparison_load_member_names", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_comparison_py", "to": "services_comparison_get_most_recent_completed", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_comparison_py", "to": "api_sieges_comparesieges", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_config_py", "to": "api_config_get_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_config_rationale_12", "to": "api_config_get_config", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_config_rationale_1", "to": "bot_app_config_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_discord_sync_py", "to": "api_members_previewdiscordsync", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_discord_sync_py", "to": "api_members_applydiscordsync", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_discord_sync_rationale_1", "to": "backend_app_api_discord_sync_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_discord_sync_rationale_1", "to": "backend_app_api_discord_sync_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_discord_sync_rationale_17", "to": "api_members_previewdiscordsync", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_discord_sync_rationale_26", "to": "api_members_applydiscordsync", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_health_py", "to": "api_health_health", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "api_health_health", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_rationale_78", "to": "api_health_health", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_images_py", "to": "api_types_generateimagesresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_images_py", "to": "api_images_generate_images", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_images_rationale_1", "to": "backend_app_api_images_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_generateimagesresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notifyresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notificationresultitem", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notificationbatchresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_post_priority_config_postpriorityresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_post_priority_config_postpriorityupdate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_siege_members_siegemembercreate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_attackdayassignment", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_attackdaypreviewresult", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_attackdayapplyresult", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_autofillassignment", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_autofillpreviewresult", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_autofillapplyresult", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_board_positionboardresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_board_groupboardresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_board_buildingboardresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_boardresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_board_positionupdate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_board_bulkpositionupdate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_building_buildingcreate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_building_buildingupdate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_positionresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_buildinggroupresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_buildingresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_building_groupcreate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_changelog_changelogstatusresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_common_errorresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_positionkey", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_memberdiff", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_comparisonresult", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_member_memberbase", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_member_memberupdate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_member_memberpreferencesupdate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_syncmatch", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_syncpreviewresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_member_syncapply", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_member_syncapplyresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_post_postresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_post_postupdate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_post_postconditionsupdate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_post_condition_postconditionresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_postsuggestionentry", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_postsuggestionpreviewresult", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_post_suggestions_postsuggestionapplyrequest", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_post_suggestions_staleentry", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_postsuggestionapplyresult", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_siege_siegecreate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_siege_siegeupdate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_siege_siegeresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_siege_member_siegememberresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_siege_member_siegememberupdate", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_memberpreferencesummary", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_validationissue", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_validationresult", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_version_versionresponse", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_notifyrequest", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_postmessagerequest", "to": "basemodel", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_images_generate_images", "to": "api_types_generateimagesresponse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_images_rationale_35", "to": "api_images_generate_images", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "api_images_generate_images", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_images_generate_images", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_images_generate_images", "to": "services_image_gen_siegememberwithname", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_api_lifecycle_py", "to": "api_sieges_activatesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_lifecycle_py", "to": "api_sieges_completesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_lifecycle_py", "to": "api_sieges_reopensiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_lifecycle_py", "to": "api_sieges_clonesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_members_py", "to": "api_members_list_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_members_py", "to": "api_members_createmember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_members_py", "to": "api_members_get_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_members_py", "to": "api_members_updatemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_members_py", "to": "api_members_delete_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_members_py", "to": "api_members_getmemberpreferences", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_members_py", "to": "services_members_deactivate_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_members_list_members", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_bot_client_botclient", "to": "api_members_get_member", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_members_get_member", "to": "services_bot_client_botclient_make_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_get_guild_member", "to": "api_members_get_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_bot_client_rationale_72", "to": "api_members_get_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_members_updatemember", "to": "api_members_get_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_members_deactivate_member", "to": "api_members_get_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_members_getmemberpreferences", "to": "api_members_get_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_siegebot", "to": "api_members_get_member", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_members_get_member", "to": "app_discord_client_siegebot_require_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_rationale_62", "to": "api_members_get_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "api_members_get_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_members_get_member", "to": "app_http_api_get_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_rationale_130", "to": "api_members_get_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_get_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "api_members_get_member", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "api_members_get_member", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "api_types_notifyresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "api_types_notificationresultitem", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "api_types_notificationbatchresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "api_notifications_send_dms", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "api_notifications_notifysiegemembers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "api_notifications_getnotificationbatch", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "api_notifications_posttochannel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_notifications_rationale_1", "to": "backend_app_api_notifications_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "frontend_src_api_client_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_notifications_py", "to": "api_types_generateimagesresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "backend_app_api_notifications_py", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_notifications_rationale_65", "to": "api_notifications_send_dms", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_siegebot", "to": "api_notifications_send_dms", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_notifications_send_dms", "to": "app_discord_client_siegebot_require_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_rationale_23", "to": "api_notifications_send_dms", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_send_dms_sets_completed_status_even_when_bot_raises", "to": "api_notifications_send_dms", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_notifications_rationale_142", "to": "api_notifications_notifysiegemembers", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_notifications_rationale_310", "to": "api_notifications_getnotificationbatch", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_notifications_rationale_371", "to": "api_notifications_posttochannel", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_posts_py", "to": "api_posts_serialize_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_posts_py", "to": "api_posts_list_posts", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_posts_py", "to": "api_posts_updatepost", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_posts_py", "to": "api_posts_setpostconditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_posts_py", "to": "services_posts_get_siege_or_404", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_posts_py", "to": "services_posts_get_post_for_siege_or_404", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_list_posts", "to": "api_posts_serialize_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_updatepost", "to": "api_posts_serialize_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_setpostconditions", "to": "api_posts_serialize_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_rationale_13", "to": "api_posts_serialize_post", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_list_posts", "to": "services_posts_get_siege_or_404", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_posts_rationale_37", "to": "api_posts_list_posts", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_list_posts", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_post_priority_config_postpriorityresponse", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_post_priority_config_postpriorityupdate", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_posts_postpriorityconfig", "to": "api_post_priority_config_list_post_priorities", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_post_priority_config_list_post_priorities", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_api_post_suggestions_py", "to": "api_sieges_previewpostsuggestions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_post_suggestions_py", "to": "api_sieges_applypostsuggestions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_post_suggestions_rationale_1", "to": "backend_app_api_post_suggestions_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_post_suggestions_py", "to": "api_types_postsuggestionentry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_post_suggestions_py", "to": "api_types_postsuggestionpreviewresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_post_suggestions_py", "to": "schemas_post_suggestions_postsuggestionapplyrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_post_suggestions_py", "to": "schemas_post_suggestions_staleentry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_post_suggestions_py", "to": "api_types_postsuggestionapplyresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_post_suggestions_rationale_1", "to": "backend_app_api_post_suggestions_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_post_suggestions_py", "to": "services_autofill_now_utc", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_post_suggestions_py", "to": "services_post_suggestions_get_target_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_post_suggestions_py", "to": "services_post_suggestions_null_entry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_post_suggestions_rationale_1", "to": "backend_app_api_post_suggestions_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_post_suggestions_rationale_418", "to": "backend_app_api_post_suggestions_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_post_suggestions_rationale_489", "to": "backend_app_api_post_suggestions_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_post_suggestions_rationale_37", "to": "api_sieges_previewpostsuggestions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_post_suggestions_rationale_62", "to": "api_sieges_applypostsuggestions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_reference_py", "to": "api_members_getpostconditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_reference_py", "to": "api_sieges_getbuildings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_reference_py", "to": "api_members_getmemberroles", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_sieges_py", "to": "api_sieges_list_sieges", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_sieges_py", "to": "api_sieges_createsiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_sieges_py", "to": "api_sieges_get_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_sieges_py", "to": "api_sieges_updatesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_sieges_py", "to": "api_sieges_delete_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_sieges_py", "to": "services_sieges_scrolls_per_player", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_sieges_py", "to": "services_sieges_compute_scroll_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_list_sieges", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_sieges_updatesiege", "to": "api_sieges_get_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_delete_siege", "to": "api_sieges_get_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "api_siege_members_siegemembercreate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_siege_members_siegemembercreate", "to": "api_types_memberpreferencesummary", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_siege_members_siegemembercreate", "to": "schemas_siege_member_siegememberresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_siege_members_siegemembercreate", "to": "schemas_siege_member_siegememberupdate", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_siegemember", "to": "api_siege_members_list_siege_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_siege_members_list_siege_members", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_api_validation_py", "to": "api_sieges_validatesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_validation_py", "to": "api_types_validationissue", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_api_validation_py", "to": "api_types_validationresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_version", "to": "api_version_read_backend_version", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_version_getversion", "to": "api_version_read_backend_version", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_version_rationale_20", "to": "api_version_read_backend_version", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_version", "to": "api_version_fetch_bot_version", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_version_getversion", "to": "api_version_fetch_bot_version", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_version_rationale_43", "to": "api_version_fetch_bot_version", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_version_rationale_57", "to": "api_version_getversion", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_db_base_py", "to": "base", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "base", "to": "declarativebase", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_db_seeds_py", "to": "db_seeds_seed_post_conditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_db_seeds_py", "to": "db_seeds_seed_building_type_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_db_seeds_py", "to": "db_seeds_seed_post_priority_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "db_seeds_rationale_1", "to": "backend_app_db_seeds_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "db_seeds_rationale_8", "to": "db_seeds_seed_post_conditions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_main", "to": "db_seeds_seed_post_conditions", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_schema_test_post_condition_count", "to": "db_seeds_seed_post_conditions", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_run_canonical_seed", "to": "db_seeds_seed_post_conditions", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_run_seed", "to": "db_seeds_seed_post_conditions", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "db_seeds_rationale_64", "to": "db_seeds_seed_building_type_config", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_main", "to": "db_seeds_seed_building_type_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_schema_test_building_type_config_count", "to": "db_seeds_seed_building_type_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_run_canonical_seed", "to": "db_seeds_seed_building_type_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_run_seed", "to": "db_seeds_seed_building_type_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "db_seeds_rationale_92", "to": "db_seeds_seed_post_priority_config", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_main", "to": "db_seeds_seed_post_priority_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_run_canonical_seed", "to": "db_seeds_seed_post_priority_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_run_seed", "to": "db_seeds_seed_post_priority_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_import_file", "to": "db_seeds_seed_post_priority_config", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_db_session_py", "to": "db_session_get_db", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "dependencies_auth_get_current_user", "to": "dependencies_auth_authenticateduser", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "dependencies_auth_rationale_24", "to": "dependencies_auth_authenticateduser", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "dependencies_auth_authenticateduser", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "dependencies_auth_rationale_37", "to": "dependencies_auth_get_current_user", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_building", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "models_building_group_buildinggroup", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_models_building_type_config_py", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_member", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_models_notification_batch_result_py", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "models_position_position", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_post", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_postcondition", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_posts_postpriorityconfig", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_siege", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_siegemember", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_testcanonicalseedpostconditions", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_testcanonicalseedbuildingtypeconfig", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_testcanonicalseedpostpriorityconfig", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemomembers", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiege", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemobuildingsandpositions", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiegemembers", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "base", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notifyresponse", "to": "models_building_group_buildinggroup", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "models_building_group_buildinggroup", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "models_building_group_buildinggroup", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "models_building_group_buildinggroup", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "models_position_position", "to": "models_building_group_buildinggroup", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "models_building_group_buildinggroup", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "models_building_group_buildinggroup", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "models_building_group_buildinggroup", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "models_building_group_buildinggroup", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "models_building_group_buildinggroup", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "models_building_group_buildinggroup", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_buildings_rebuild_groups_for_level", "to": "models_building_group_buildinggroup", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_buildings_create_groups_and_positions", "to": "models_building_group_buildinggroup", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_sieges_clonesiege", "to": "models_building_group_buildinggroup", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_sieges_createsiege", "to": "models_building_group_buildinggroup", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "scripts_seed_demo_seed_buildings_and_positions", "to": "models_building_group_buildinggroup", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_autofill_test_apply_autofill_skips_broken_building_positions", "to": "models_building_group_buildinggroup", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_sieges_seed_siege", "to": "models_building_group_buildinggroup", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_create_building_with_groups_and_positions", "to": "models_building_group_buildinggroup", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_models_building_type_config_py", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_testcanonicalseedpostconditions", "to": "backend_app_models_building_type_config_py", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_testcanonicalseedbuildingtypeconfig", "to": "backend_app_models_building_type_config_py", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_testcanonicalseedpostpriorityconfig", "to": "backend_app_models_building_type_config_py", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_models_enums_py", "to": "api_types_siegestatus", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_enums_py", "to": "api_types_buildingtype", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_enums_py", "to": "api_types_memberrole", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_enums_py", "to": "models_enums_powerlevel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_enums_py", "to": "models_enums_notificationbatchstatus", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notifyresponse", "to": "models_enums_notificationbatchstatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "models_enums_notificationbatchstatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "models_enums_notificationbatchstatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_models_member_py", "to": "api_types_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_member_py", "to": "schemas_member_memberbase", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_member_py", "to": "schemas_member_membercreate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_member_py", "to": "schemas_member_memberupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_member_py", "to": "schemas_member_memberresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_member_py", "to": "schemas_member_memberpreferencesupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_member_py", "to": "api_types_syncmatch", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_member_py", "to": "api_types_syncpreviewresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_member_py", "to": "schemas_member_syncapply", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_member_py", "to": "schemas_member_syncapplyresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notifyresponse", "to": "backend_app_models_notification_batch_result_py", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "backend_app_models_notification_batch_result_py", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_models_notification_batch_result_py", "to": "api_types_notificationbatchresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_notifications_notifysiegemembers", "to": "backend_app_models_notification_batch_result_py", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_models_position_py", "to": "models_position_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "models_position_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "models_position_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notifyresponse", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "models_position_position", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "models_position_position", "to": "api_types_postcondition", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemomembers", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiege", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemobuildingsandpositions", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiegemembers", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "models_position_position", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_models_post_py", "to": "api_types_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_post_py", "to": "schemas_post_postresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_post_py", "to": "schemas_post_postupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_post_py", "to": "schemas_post_postconditionsupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_siege_py", "to": "api_types_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_siege_py", "to": "schemas_siege_siegecreate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_siege_py", "to": "schemas_siege_siegeupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_models_siege_py", "to": "schemas_siege_siegeresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_board_positionboardresponse", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_board_groupboardresponse", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_board_buildingboardresponse", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_board_positionupdate", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_board_bulkpositionupdate", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_building", "to": "schemas_building_buildingcreate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_building_buildingcreate", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_buildings_test_add_building_post_uses_priority_config", "to": "schemas_building_buildingcreate", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_building", "to": "schemas_building_buildingupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_building_buildingupdate", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_buildings_test_update_building_unbreak_restores_groups", "to": "schemas_building_buildingupdate", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_buildings_test_update_building_unbreak_restores_last_slot_count", "to": "schemas_building_buildingupdate", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_buildings_test_update_building_break_then_unbreak_roundtrip", "to": "schemas_building_buildingupdate", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_building", "to": "schemas_building_groupcreate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_building_groupcreate", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_changelog_rationale_9", "to": "schemas_changelog_changelogstatusresponse", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_changelog_markchangelogseen", "to": "schemas_changelog_changelogstatusresponse", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_app_schemas_common_py", "to": "schemas_common_errorresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_member_membercreate", "to": "schemas_member_memberbase", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_member_memberresponse", "to": "schemas_member_memberbase", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_member_memberbase", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_member_membercreate", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_member_memberupdate", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_member_memberresponse", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_member_memberpreferencesupdate", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_member_syncapply", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_discord_sync_test_service_apply_updates_discord_fields", "to": "schemas_member_syncapply", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_discord_sync_test_service_apply_unknown_member_id_skipped", "to": "schemas_member_syncapply", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_member_syncapplyresponse", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_members_applydiscordsync", "to": "schemas_member_syncapplyresponse", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_discord_sync_test_apply_updates_matched_members", "to": "schemas_member_syncapplyresponse", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_discord_sync_test_apply_with_empty_list_returns_zero", "to": "schemas_member_syncapplyresponse", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_discord_sync_test_apply_with_unknown_member_id_skips_gracefully", "to": "schemas_member_syncapplyresponse", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_post_postresponse", "to": "schemas_post_condition_postconditionresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_post_postupdate", "to": "schemas_post_condition_postconditionresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_post_postconditionsupdate", "to": "schemas_post_condition_postconditionresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_postcondition", "to": "schemas_post_condition_postconditionresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_siege_member_siegememberresponse", "to": "schemas_post_condition_postconditionresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_siege_member_siegememberupdate", "to": "schemas_post_condition_postconditionresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_memberpreferencesummary", "to": "schemas_post_condition_postconditionresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_post_suggestions_rationale_80", "to": "schemas_post_suggestions_postsuggestionapplyrequest", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_apply", "to": "schemas_post_suggestions_postsuggestionapplyrequest", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_post_suggestions_test_apply_completed_siege_raises_400", "to": "schemas_post_suggestions_postsuggestionapplyrequest", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_post_suggestions_integration_test_apply_persists_matched_condition_id_to_db", "to": "schemas_post_suggestions_postsuggestionapplyrequest", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_post_suggestions_integration_test_apply_subset_leaves_unselected_positions_unchanged", "to": "schemas_post_suggestions_postsuggestionapplyrequest", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_post_suggestions_integration_test_member_changed_stale_reason_on_concurrent_apply", "to": "schemas_post_suggestions_postsuggestionapplyrequest", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_post_suggestions_rationale_92", "to": "schemas_post_suggestions_staleentry", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_applypostsuggestions", "to": "schemas_post_suggestions_staleentry", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_post_suggestions_rationale_13", "to": "api_types_postsuggestionentry", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_post_suggestions_rationale_66", "to": "api_types_postsuggestionpreviewresult", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_post_suggestions_rationale_117", "to": "api_types_postsuggestionapplyresult", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "schemas_siege_siegecreate", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_siege_siegeupdate", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "schemas_siege_siegeresponse", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_siegemember", "to": "schemas_siege_member_siegememberresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "schemas_siege_member_resolve_member_fields", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "schemas_siege_member_siegememberupdate", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_version", "to": "schemas_version_versionresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_version_getversion", "to": "schemas_version_versionresponse", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_sieges_previewattackday", "to": "services_attack_day_build_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_attack_day_build_preview", "to": "services_autofill_now_utc", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_applyattackday", "to": "services_autofill_now_utc", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_previewautofill", "to": "services_autofill_now_utc", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_applyautofill", "to": "services_autofill_now_utc", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_previewpostsuggestions", "to": "services_autofill_now_utc", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_applypostsuggestions", "to": "services_autofill_now_utc", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_post_suggestions_rationale_71", "to": "services_autofill_now_utc", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_updatepost", "to": "services_board_validate_position_state", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_board_rationale_98", "to": "services_board_validate_position_state", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_updatepost", "to": "services_board_validate_member_active", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_board_rationale_16", "to": "api_board_getboard", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_board_rationale_123", "to": "api_posts_updatepost", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_bot_client_botclient", "to": "services_bot_client_botclient_make_client", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_bot_client_botclient", "to": "app_http_api_notify", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_bot_client_botclient", "to": "app_http_api_post_message", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_bot_client_botclient", "to": "app_http_api_post_image", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_bot_client_rationale_1", "to": "services_bot_client_botclient", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_notify_returns_false_on_http_error", "to": "services_bot_client_botclient", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_bot_client_test_post_message_returns_false_on_http_error", "to": "services_bot_client_botclient", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_bot_client_test_post_image_returns_none_on_http_error", "to": "services_bot_client_botclient", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_bot_client_test_get_members_returns_empty_on_http_error", "to": "services_bot_client_botclient", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_bot_client_test_notify_returns_true_on_success", "to": "services_bot_client_botclient", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_bot_client_test_get_member_returns_not_member", "to": "services_bot_client_botclient", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_bot_client_test_get_member_raises_on_connection_error", "to": "services_bot_client_botclient", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_bot_client_test_get_member_raises_on_503", "to": "services_bot_client_botclient", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_http_api_notify", "to": "services_bot_client_botclient_make_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_post_message", "to": "services_bot_client_botclient_make_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_bot_client_rationale_19", "to": "app_http_api_notify", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_bot_client_rationale_32", "to": "app_http_api_post_message", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_bot_client_rationale_45", "to": "app_http_api_post_image", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_updatebuilding", "to": "services_buildings_rebuild_groups_for_level", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_buildings_rationale_23", "to": "services_buildings_rebuild_groups_for_level", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_buildings_rebuild_groups_for_level", "to": "services_building_capacity_get_team_count", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_buildings_rebuild_groups_for_level", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_sieges_updatebuilding", "to": "services_buildings_get_building_type_config", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "services_buildings_get_building_type_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_default_configs", "to": "services_buildings_get_building_type_config", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_buildings_rationale_142", "to": "services_buildings_require_planning_or_not_locked", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_buildings_rationale_156", "to": "services_buildings_create_groups_and_positions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_building_capacity_py", "to": "services_building_capacity_get_team_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_building_capacity_rationale_14", "to": "services_building_capacity_get_team_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_sieges_compute_scroll_count", "to": "services_building_capacity_get_team_count", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_sieges_comparesieges", "to": "services_comparison_load_assignments", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_comparison_rationale_14", "to": "services_comparison_load_assignments", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_inactive_member_excluded_from_comparison", "to": "services_comparison_load_assignments", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_sieges_comparesieges", "to": "services_comparison_load_member_names", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_get_most_recent_completed_returns_none", "to": "services_comparison_get_most_recent_completed", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_discord_sync_rationale_12", "to": "api_members_previewdiscordsync", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_discord_sync_rationale_153", "to": "api_members_applydiscordsync", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_image_gen_py", "to": "services_image_gen_siegememberwithname", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_image_gen_py", "to": "services_image_gen_build_assignments_html", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_image_gen_py", "to": "services_image_gen_build_reserves_html", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_image_gen_py", "to": "services_image_gen_render_html_to_png", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_image_gen_py", "to": "services_image_gen_generate_assignments_image", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_image_gen_py", "to": "services_image_gen_generate_reserves_image", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_image_gen_rationale_1", "to": "backend_app_services_image_gen_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_generateimagesresponse", "to": "services_image_gen_siegememberwithname", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notifyresponse", "to": "services_image_gen_siegememberwithname", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "services_image_gen_siegememberwithname", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "services_image_gen_siegememberwithname", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_image_gen_siegememberwithname", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_image_gen_siegememberwithname", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_image_gen_siegememberwithname", "to": "api_types_boardresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_notifications_posttochannel", "to": "services_image_gen_siegememberwithname", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_auth_make_member", "to": "services_image_gen_siegememberwithname", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_image_gen_generate_assignments_image", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_image_gen_rationale_66", "to": "services_image_gen_build_assignments_html", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_contains_title", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_contains_building_type", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_reserve_cell", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_disabled_cell", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_empty_board", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_all_building_types_colored", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_group_header_present", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_group_header_before_members", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_single_row_per_group", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_buildings_side_by_side", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_heavy_hitter_color", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_no_role_map_fallback", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_role_color_on_span_not_background", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_role_colors_match_ui", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_no_level_in_header", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_broken_building_no_level", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_building_number_in_thead", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_post_flat_table", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_assignments_html_post_reserve_and_disabled", "to": "services_image_gen_build_assignments_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_image_gen_generate_reserves_image", "to": "services_image_gen_build_reserves_html", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_image_gen_rationale_237", "to": "services_image_gen_build_reserves_html", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_reserves_html_contains_title", "to": "services_image_gen_build_reserves_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_reserves_html_contains_member", "to": "services_image_gen_build_reserves_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_reserves_html_day1_color", "to": "services_image_gen_build_reserves_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_reserves_html_no_role_column", "to": "services_image_gen_build_reserves_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_reserves_html_novice_color", "to": "services_image_gen_build_reserves_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_reserves_html_fallback_color", "to": "services_image_gen_build_reserves_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_image_gen_test_build_reserves_html_role_colors_match_ui", "to": "services_image_gen_build_reserves_html", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_image_gen_generate_assignments_image", "to": "services_image_gen_render_html_to_png", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_image_gen_generate_reserves_image", "to": "services_image_gen_render_html_to_png", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_image_gen_rationale_332", "to": "services_image_gen_render_html_to_png", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_image_gen_rationale_355", "to": "services_image_gen_generate_assignments_image", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_generate_assignments_image_calls_render", "to": "services_image_gen_generate_assignments_image", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_image_gen_rationale_364", "to": "services_image_gen_generate_reserves_image", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_generate_reserves_image_calls_render", "to": "services_image_gen_generate_reserves_image", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_lifecycle_rationale_18", "to": "api_sieges_activatesiege", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_lifecycle_rationale_62", "to": "api_sieges_completesiege", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_lifecycle_rationale_86", "to": "api_sieges_reopensiege", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_lifecycle_rationale_110", "to": "api_sieges_clonesiege", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_notification_message_py", "to": "services_notification_message_positioninfo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_notification_message_py", "to": "services_notification_message_position_sort_key", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_notification_message_py", "to": "services_notification_message_position_label", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_notification_message_py", "to": "services_notification_message_positions_to_key_set", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_notification_message_py", "to": "services_notification_message_positions_from_keys", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_notification_message_py", "to": "services_notification_message_build_section", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_app_services_notification_message_py", "to": "services_notification_message_build_member_notification_message", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_rationale_1", "to": "backend_app_services_notification_message_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_rationale_61", "to": "services_notification_message_positioninfo", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notifyresponse", "to": "services_notification_message_positioninfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "services_notification_message_positioninfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "services_notification_message_positioninfo", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_notification_message_positioninfo", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_notifications_notifysiegemembers", "to": "services_notification_message_positioninfo", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_stronghold_pos", "to": "services_notification_message_positioninfo", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_defense_tower_pos", "to": "services_notification_message_positioninfo", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_post_pos", "to": "services_notification_message_positioninfo", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_notification_message_rationale_75", "to": "services_notification_message_position_sort_key", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_build_section", "to": "services_notification_message_position_label", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_rationale_85", "to": "services_notification_message_position_label", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_build_member_notification_message", "to": "services_notification_message_positions_to_key_set", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_rationale_111", "to": "services_notification_message_positions_to_key_set", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_build_member_notification_message", "to": "services_notification_message_positions_from_keys", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_rationale_118", "to": "services_notification_message_positions_from_keys", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_build_member_notification_message", "to": "services_notification_message_build_section", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_rationale_131", "to": "services_notification_message_build_section", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_notification_message_rationale_161", "to": "services_notification_message_build_member_notification_message", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_notifications_notifysiegemembers", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_no_previous_siege_all_current_in_set_at", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_empty_sections_omitted_all_no_change", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_full_diff_three_sections", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_header_contains_siege_date_and_member_settings", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_none_fields_display_as_unknown", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_false_reserve_set_displays_no", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_single_building_type_omits_building_number", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_multiple_building_type_includes_building_number", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_post_always_uses_short_format", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_post_with_single_count_still_uses_short_format", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_section_order_no_change_then_remove_then_set_at", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_positions_sorted_within_section", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_no_change_section_has_header_and_plain_position_lines", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_remove_from_section_has_header_and_plain_position_lines", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_set_at_section_has_header_and_plain_position_lines", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_blank_line_between_no_change_and_remove_from", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_blank_line_between_remove_from_and_set_at", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_no_blank_line_when_only_one_section", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_blank_line_count_with_all_three_sections", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_all_three_section_headers_exact_format", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_notification_message_test_header_line_not_a_position_line", "to": "services_notification_message_build_member_notification_message", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_posts_updatepost", "to": "services_posts_get_siege_or_404", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_setpostconditions", "to": "services_posts_get_siege_or_404", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_updatepost", "to": "services_posts_get_post_for_siege_or_404", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_setpostconditions", "to": "services_posts_get_post_for_siege_or_404", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_posts_rationale_55", "to": "api_posts_updatepost", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_posts_rationale_79", "to": "api_posts_setpostconditions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_previewpostsuggestions", "to": "services_post_suggestions_get_target_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_post_suggestions_rationale_518", "to": "services_post_suggestions_get_target_position", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_previewpostsuggestions", "to": "services_post_suggestions_null_entry", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_post_suggestions_rationale_546", "to": "services_post_suggestions_null_entry", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_post_suggestions_rationale_79", "to": "api_sieges_previewpostsuggestions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_post_suggestions_rationale_340", "to": "api_sieges_applypostsuggestions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "services_sieges_rationale_20", "to": "services_sieges_scrolls_per_player", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_previewautofill", "to": "services_sieges_scrolls_per_player", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_sieges_validatesiege", "to": "services_sieges_scrolls_per_player", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "services_sieges_rationale_29", "to": "services_sieges_compute_scroll_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_previewautofill", "to": "services_sieges_compute_scroll_count", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_sieges_validatesiege", "to": "services_sieges_compute_scroll_count", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_sieges_test_compute_scroll_count_sums_theoretical_capacity", "to": "services_sieges_compute_scroll_count", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_sieges_test_compute_scroll_count_broken_building_unchanged", "to": "services_sieges_compute_scroll_count", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_sieges_test_compute_scroll_count_level_change_updates_count", "to": "services_sieges_compute_scroll_count", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_sieges_test_compute_scroll_count_post_buildings_contribute_one", "to": "services_sieges_compute_scroll_count", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_scripts_seed_py", "to": "app_main_main", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_scripts_seed_demo_py", "to": "scripts_seed_demo_get_or_create_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_scripts_seed_demo_py", "to": "scripts_seed_demo_get_or_create_demo_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_scripts_seed_demo_py", "to": "scripts_seed_demo_seed_buildings_and_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_scripts_seed_demo_py", "to": "scripts_seed_demo_get_or_create_second_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_scripts_seed_demo_py", "to": "scripts_seed_demo_seed_siege_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_scripts_seed_demo_py", "to": "app_main_main", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_main", "to": "scripts_seed_demo_get_or_create_members", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_seed_demo_rationale_96", "to": "scripts_seed_demo_get_or_create_members", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "scripts_seed_demo_get_or_create_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_seed_demo_get_or_create_members", "to": "excel_import_import_excel_map_role", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "scripts_seed_demo_get_or_create_members", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_691", "to": "scripts_seed_demo_get_or_create_members", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_run_seed", "to": "scripts_seed_demo_get_or_create_members", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_main_main", "to": "scripts_seed_demo_get_or_create_demo_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_seed_demo_rationale_115", "to": "scripts_seed_demo_get_or_create_demo_siege", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_run_seed", "to": "scripts_seed_demo_get_or_create_demo_siege", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_main_main", "to": "scripts_seed_demo_seed_buildings_and_positions", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_seed_demo_rationale_139", "to": "scripts_seed_demo_seed_buildings_and_positions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_run_seed", "to": "scripts_seed_demo_seed_buildings_and_positions", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_main_main", "to": "scripts_seed_demo_get_or_create_second_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_seed_demo_rationale_204", "to": "scripts_seed_demo_get_or_create_second_siege", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_main", "to": "scripts_seed_demo_seed_siege_members", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_seed_demo_rationale_225", "to": "scripts_seed_demo_seed_siege_members", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_run_seed", "to": "scripts_seed_demo_seed_siege_members", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "bot_tests_conftest_py", "to": "tests_conftest_disable_auth_for_tests", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_rationale_31", "to": "tests_conftest_disable_auth_for_tests", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_rationale_1", "to": "bot_tests_conftest_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_autofill_make_sm", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_preview_attack_day_endpoint_200", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_apply_attack_day_endpoint_200", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_session_for_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_heavy_hitters_and_advanced_always_day2", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_medium_promoted_when_under_10", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_novice_promoted_when_still_under_10", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_pinned_members_count_toward_threshold", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_overridden_members_not_changed", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_boundary_at_exactly_10", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_apply_attack_day_commits", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_apply_attack_day_409_no_preview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_attack_day_py", "to": "tests_test_attack_day_test_apply_attack_day_409_expired", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_rationale_1", "to": "backend_tests_test_attack_day_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_heavy_hitters_and_advanced_always_day2", "to": "tests_test_attack_day_session_for_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_medium_promoted_when_under_10", "to": "tests_test_attack_day_session_for_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_novice_promoted_when_still_under_10", "to": "tests_test_attack_day_session_for_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_pinned_members_count_toward_threshold", "to": "tests_test_attack_day_session_for_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_overridden_members_not_changed", "to": "tests_test_attack_day_session_for_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_boundary_at_exactly_10", "to": "tests_test_attack_day_session_for_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_heavy_hitters_and_advanced_always_day2", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_heavy_hitters_and_advanced_always_day2", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_heavy_hitters_and_advanced_always_day2", "to": "tests_test_autofill_make_sm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_rationale_114", "to": "tests_test_attack_day_test_heavy_hitters_and_advanced_always_day2", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_medium_promoted_when_under_10", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_medium_promoted_when_under_10", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_medium_promoted_when_under_10", "to": "tests_test_autofill_make_sm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_rationale_130", "to": "tests_test_attack_day_test_medium_promoted_when_under_10", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_novice_promoted_when_still_under_10", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_novice_promoted_when_still_under_10", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_novice_promoted_when_still_under_10", "to": "tests_test_autofill_make_sm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_rationale_153", "to": "tests_test_attack_day_test_novice_promoted_when_still_under_10", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_pinned_members_count_toward_threshold", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_pinned_members_count_toward_threshold", "to": "tests_test_autofill_make_sm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_pinned_members_count_toward_threshold", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_rationale_183", "to": "tests_test_attack_day_test_pinned_members_count_toward_threshold", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_overridden_members_not_changed", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_overridden_members_not_changed", "to": "tests_test_autofill_make_sm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_rationale_212", "to": "tests_test_attack_day_test_overridden_members_not_changed", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_boundary_at_exactly_10", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_boundary_at_exactly_10", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_boundary_at_exactly_10", "to": "tests_test_autofill_make_sm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_rationale_228", "to": "tests_test_attack_day_test_boundary_at_exactly_10", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_apply_attack_day_commits", "to": "tests_test_autofill_make_sm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_apply_attack_day_commits", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_rationale_246", "to": "tests_test_attack_day_test_apply_attack_day_commits", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_apply_attack_day_409_no_preview", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_rationale_277", "to": "tests_test_attack_day_test_apply_attack_day_409_no_preview", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_test_apply_attack_day_409_expired", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_attack_day_rationale_300", "to": "tests_test_attack_day_test_apply_attack_day_409_expired", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_make_jwt", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_make_expired_jwt", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_make_mock_db", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_auth_disabled_allows_access", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_valid_service_token_allows_access", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_invalid_service_token_returns_401", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_valid_jwt_cookie_allows_access", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_expired_jwt_returns_401", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_jwt_with_wrong_secret_returns_401", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_jwt_with_deleted_member_returns_401", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_no_auth_returns_401", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_health_no_auth_required", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_version_no_auth_required", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_login_returns_discord_url_and_state_cookie", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_callback_invalid_state_redirects", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_callback_happy_path", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_callback_not_in_guild_redirects", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_callback_insufficient_role_redirects", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_callback_insufficient_role_missing_role_names_key_redirects", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_callback_with_required_role_proceeds_to_member_lookup", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_callback_bot_unreachable_redirects_service_unavailable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_callback_no_member_record_redirects", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_logout_clears_session_cookie", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_me_with_valid_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_me_without_auth_returns_401", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_teststartupvalidation", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_startup_rejects_empty_session_secret", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_startup_rejects_missing_bot_service_token_in_production", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_py", "to": "tests_test_auth_test_startup_allows_empty_bot_service_token_in_development", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_1", "to": "backend_tests_test_auth_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_valid_jwt_cookie_allows_access", "to": "tests_test_auth_make_jwt", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_jwt_with_wrong_secret_returns_401", "to": "tests_test_auth_make_jwt", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_jwt_with_deleted_member_returns_401", "to": "tests_test_auth_make_jwt", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_me_with_valid_session", "to": "tests_test_auth_make_jwt", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_changelog_py", "to": "tests_test_auth_make_jwt", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_test_get_status_fresh_user_returns_null", "to": "tests_test_auth_make_jwt", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_test_mark_seen_then_get_status_returns_timestamp", "to": "tests_test_auth_make_jwt", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_test_mark_seen_twice_is_idempotent", "to": "tests_test_auth_make_jwt", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_rationale_30", "to": "tests_test_auth_make_jwt", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_expired_jwt_returns_401", "to": "tests_test_auth_make_expired_jwt", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_valid_jwt_cookie_allows_access", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_callback_happy_path", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_callback_with_required_role_proceeds_to_member_lookup", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_me_with_valid_session", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_respects_scroll_count", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_marks_leftover_as_reserve", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_skips_broken_building_positions", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_changelog_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_test_get_status_fresh_user_returns_null", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_test_mark_seen_then_get_status_returns_timestamp", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_test_mark_seen_twice_is_idempotent", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_rationale_54", "to": "tests_test_auth_make_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_reserves_html_contains_member", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_reserves_html_day1_color", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_reserves_html_no_role_column", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_generate_reserves_image_calls_render", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_reserves_html_novice_color", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_reserves_html_fallback_color", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_reserves_html_role_colors_match_ui", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_build_valid_siege_graph", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_members_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_members_test_create_member_returns_201", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_members_test_delete_member_returns_204", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_test_makesiegemember", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_get_notification_batch_returns_results", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_skips_member_with_no_discord_username", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_skips_member_not_in_guild", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_eligible_member_gets_result_row_and_dm", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_skipped_count_reflects_all_skipped_members", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_bot_unreachable_falls_back_to_username_filter", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_empty_position_ids_is_noop", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_unknown_position_ids_silently_ignored", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_subset_only_writes_checked_positions", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_disabled_returns_409", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_reserve_returns_409", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_member_inactive_returns_409", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_member_changed_returns_409", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_multiple_stale_all_surfaced_in_single_409", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_inactive_member_error", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_active_member_no_error", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_building_assignment_counts_toward_scroll_limit", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_and_healthy_both_count_toward_scroll_limit", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_exceeds_scroll_count", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_within_scroll_count", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_disabled_with_member", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_reserve_with_member", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_valid_state", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_member_pref_no_match", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_attack_day_set", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_no_reserve", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_advanced_no_reserve", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_reserve_configured", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_non_hh_no_reserve_no_warning", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_auth_make_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_send_dm_finds_member_and_sends", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_send_dm_case_insensitive", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_get_members_returns_correct_dict_format", "to": "tests_test_auth_make_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_auth_disabled_allows_access", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_valid_service_token_allows_access", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_valid_jwt_cookie_allows_access", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_jwt_with_deleted_member_returns_401", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_callback_happy_path", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_callback_with_required_role_proceeds_to_member_lookup", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_test_me_with_valid_session", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_71", "to": "tests_test_auth_make_mock_db", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_changelog_py", "to": "tests_test_auth_make_mock_db", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_test_get_status_fresh_user_returns_null", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_test_mark_seen_then_get_status_returns_timestamp", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_test_mark_seen_twice_is_idempotent", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_test_get_status_service_token_returns_400", "to": "tests_test_auth_make_mock_db", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_93", "to": "tests_test_auth_test_auth_disabled_allows_access", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_118", "to": "tests_test_auth_test_valid_service_token_allows_access", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_146", "to": "tests_test_auth_test_invalid_service_token_returns_401", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_168", "to": "tests_test_auth_test_valid_jwt_cookie_allows_access", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_197", "to": "tests_test_auth_test_expired_jwt_returns_401", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_219", "to": "tests_test_auth_test_jwt_with_wrong_secret_returns_401", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_242", "to": "tests_test_auth_test_jwt_with_deleted_member_returns_401", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_267", "to": "tests_test_auth_test_no_auth_returns_401", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_287", "to": "tests_test_auth_test_health_no_auth_required", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_306", "to": "tests_test_auth_test_version_no_auth_required", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_324", "to": "tests_test_auth_test_login_returns_discord_url_and_state_cookie", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_344", "to": "tests_test_auth_test_callback_invalid_state_redirects", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_362", "to": "tests_test_auth_test_callback_happy_path", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_413", "to": "tests_test_auth_test_callback_not_in_guild_redirects", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_446", "to": "tests_test_auth_test_callback_insufficient_role_redirects", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_482", "to": "tests_test_auth_test_callback_insufficient_role_missing_role_names_key_redirects", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_517", "to": "tests_test_auth_test_callback_with_required_role_proceeds_to_member_lookup", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_568", "to": "tests_test_auth_test_callback_bot_unreachable_redirects_service_unavailable", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_601", "to": "tests_test_auth_test_callback_no_member_record_redirects", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_648", "to": "tests_test_auth_test_logout_clears_session_cookie", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_661", "to": "tests_test_auth_test_me_with_valid_session", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rationale_693", "to": "tests_test_auth_test_me_without_auth_returns_401", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_teststartupvalidation", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_reset_rate_limit_state", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_get", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_login_rate_limit_triggers_429", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_login_rate_limit_independent_per_ip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_callback_rate_limit_triggers_429", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_login_no_429_when_auth_disabled", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_callback_no_429_when_auth_disabled", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_xff_pathological_header_parses_to_leftmost_ip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_garbage_xff_falls_back_to_remote_address_bucket", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_different_garbage_xff_values_share_remote_address_bucket", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_valid_xff_still_buckets_by_ip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_429_response_includes_retry_after_header", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_missing_xff_in_production_logs_warning", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_missing_xff_in_development_does_not_log_warning", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_concurrent_absent_xff_in_production_warns_exactly_once", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_invalid_xff_in_production_logs_warning", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_invalid_xff_in_development_does_not_log_warning", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_auth_rate_limit_py", "to": "tests_test_auth_rate_limit_test_invalid_xff_warning_is_throttled_to_once_per_window", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_1", "to": "backend_tests_test_auth_rate_limit_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_50", "to": "tests_test_auth_rate_limit_reset_rate_limit_state", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_login_rate_limit_triggers_429", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_login_rate_limit_independent_per_ip", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_login_no_429_when_auth_disabled", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_xff_pathological_header_parses_to_leftmost_ip", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_garbage_xff_falls_back_to_remote_address_bucket", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_different_garbage_xff_values_share_remote_address_bucket", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_valid_xff_still_buckets_by_ip", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_429_response_includes_retry_after_header", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_missing_xff_in_production_logs_warning", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_missing_xff_in_development_does_not_log_warning", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_invalid_xff_in_production_logs_warning", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_invalid_xff_in_development_does_not_log_warning", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_test_invalid_xff_warning_is_throttled_to_once_per_window", "to": "tests_test_auth_rate_limit_get", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_90", "to": "tests_test_auth_rate_limit_get", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_101", "to": "tests_test_auth_rate_limit_test_login_rate_limit_triggers_429", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_125", "to": "tests_test_auth_rate_limit_test_login_rate_limit_independent_per_ip", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_151", "to": "tests_test_auth_rate_limit_test_callback_rate_limit_triggers_429", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_195", "to": "tests_test_auth_rate_limit_test_login_no_429_when_auth_disabled", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_195", "to": "tests_test_auth_rate_limit_test_callback_no_429_when_auth_disabled", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_237", "to": "tests_test_auth_rate_limit_test_xff_pathological_header_parses_to_leftmost_ip", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_272", "to": "tests_test_auth_rate_limit_test_garbage_xff_falls_back_to_remote_address_bucket", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_302", "to": "tests_test_auth_rate_limit_test_different_garbage_xff_values_share_remote_address_bucket", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_332", "to": "tests_test_auth_rate_limit_test_valid_xff_still_buckets_by_ip", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_362", "to": "tests_test_auth_rate_limit_test_429_response_includes_retry_after_header", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_406", "to": "tests_test_auth_rate_limit_test_missing_xff_in_production_logs_warning", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_435", "to": "tests_test_auth_rate_limit_test_missing_xff_in_development_does_not_log_warning", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_465", "to": "tests_test_auth_rate_limit_test_concurrent_absent_xff_in_production_warns_exactly_once", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_535", "to": "tests_test_auth_rate_limit_test_invalid_xff_in_production_logs_warning", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_567", "to": "tests_test_auth_rate_limit_test_invalid_xff_in_development_does_not_log_warning", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_auth_rate_limit_rationale_598", "to": "tests_test_auth_rate_limit_test_invalid_xff_warning_is_throttled_to_once_per_window", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_posts_make_building", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_make_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_board_make_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_make_sm", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_test_preview_endpoint_returns_200", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_test_apply_endpoint_returns_200", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_test_preview_respects_scroll_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_test_preview_marks_leftover_as_reserve", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_test_apply_commits_preview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_test_apply_returns_409_when_no_preview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_test_apply_returns_409_when_preview_expired", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_test_preview_skips_broken_building_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_enable_sqlite_fk_autofill", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_schema_db_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_test_apply_autofill_skips_broken_building_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_autofill_py", "to": "tests_test_autofill_make_session_for_preview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_rationale_1", "to": "backend_tests_test_autofill_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_respects_scroll_count", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_marks_leftover_as_reserve", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_skips_broken_building_positions", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_autofill_make_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_unbreak_restores_groups", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_unbreak_restores_last_slot_count", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_break_then_unbreak_roundtrip", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "tests_test_autofill_make_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_build_valid_siege_graph", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_autofill_make_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_members_all_skip_no_match", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_autofill_make_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_inactive_member_error", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_active_member_no_error", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_building_assignment_counts_toward_scroll_limit", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_and_healthy_both_count_toward_scroll_limit", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_exceeds_scroll_count", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_within_scroll_count", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule4_invalid_group_number", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule4_valid_group_number", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule5_position_number_exceeds_slot_count", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule5_valid_position_number", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule7_post_has_multiple_groups", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule7_post_has_exactly_one_group", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_disabled_with_member", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_reserve_with_member", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_valid_state", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_empty_unresolved_slot", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_message_uses_position_name", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_no_warning_when_disabled", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_member_pref_no_match", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_attack_day_set", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_no_reserve", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_advanced_no_reserve", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_reserve_configured", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_non_hh_no_reserve_no_warning", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_fewer_than_3_conditions", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_has_3_conditions", "to": "tests_test_autofill_make_group", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_respects_scroll_count", "to": "tests_test_autofill_make_sm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_marks_leftover_as_reserve", "to": "tests_test_autofill_make_sm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_skips_broken_building_positions", "to": "tests_test_autofill_make_sm", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_autofill_test_preview_endpoint_returns_200", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_845", "to": "tests_test_autofill_test_preview_endpoint_returns_200", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_autofill_test_apply_endpoint_returns_200", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_861", "to": "tests_test_autofill_test_apply_endpoint_returns_200", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_respects_scroll_count", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_respects_scroll_count", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_respects_scroll_count", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_respects_scroll_count", "to": "tests_test_autofill_make_session_for_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_rationale_149", "to": "tests_test_autofill_test_preview_respects_scroll_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_marks_leftover_as_reserve", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_marks_leftover_as_reserve", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_marks_leftover_as_reserve", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_marks_leftover_as_reserve", "to": "tests_test_autofill_make_session_for_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_rationale_183", "to": "tests_test_autofill_test_preview_marks_leftover_as_reserve", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_apply_commits_preview", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_apply_commits_preview", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_rationale_213", "to": "tests_test_autofill_test_apply_commits_preview", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_apply_returns_409_when_no_preview", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_rationale_252", "to": "tests_test_autofill_test_apply_returns_409_when_no_preview", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_apply_returns_409_when_preview_expired", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_rationale_274", "to": "tests_test_autofill_test_apply_returns_409_when_preview_expired", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_skips_broken_building_positions", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_skips_broken_building_positions", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_skips_broken_building_positions", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_test_preview_skips_broken_building_positions", "to": "tests_test_autofill_make_session_for_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_rationale_300", "to": "tests_test_autofill_test_preview_skips_broken_building_positions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_rationale_368", "to": "tests_test_autofill_test_apply_autofill_skips_broken_building_positions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_autofill_rationale_467", "to": "tests_test_autofill_make_session_for_preview", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_board_py", "to": "tests_test_board_make_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_board_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_board_py", "to": "tests_test_board_test_get_board_returns_nested_structure", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_board_py", "to": "tests_test_board_test_update_position_assign_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_board_py", "to": "tests_test_board_test_update_position_invalid_state_reserve_with_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_board_py", "to": "tests_test_board_test_update_position_not_found", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_board_rationale_1", "to": "backend_tests_test_board_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_board_test_update_position_assign_member", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_board_make_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_contains_building_type", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_reserve_cell", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_disabled_cell", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_group_header_present", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_group_header_before_members", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_single_row_per_group", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_buildings_side_by_side", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_heavy_hitter_color", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_no_role_map_fallback", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_role_color_on_span_not_background", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_role_colors_match_ui", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_no_level_in_header", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_broken_building_no_level", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_building_number_in_thead", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_post_flat_table", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_post_reserve_and_disabled", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "tests_test_board_make_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_test_full_siege_lifecycle", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_board_make_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_members_all_skip_no_match", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_empty_position_ids_is_noop", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_unknown_position_ids_silently_ignored", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_subset_only_writes_checked_positions", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_disabled_returns_409", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_reserve_returns_409", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_member_inactive_returns_409", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_member_changed_returns_409", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_multiple_stale_all_surfaced_in_single_409", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_board_make_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_inactive_member_error", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_active_member_no_error", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_building_assignment_counts_toward_scroll_limit", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_and_healthy_both_count_toward_scroll_limit", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_exceeds_scroll_count", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_within_scroll_count", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule4_invalid_group_number", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule4_valid_group_number", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule5_position_number_exceeds_slot_count", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule5_valid_position_number", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_disabled_with_member", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_reserve_with_member", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_valid_state", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_empty_unresolved_slot", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_message_uses_position_name", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_no_warning_when_disabled", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_member_pref_no_match", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_attack_day_set", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_no_reserve", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_advanced_no_reserve", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_reserve_configured", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_non_hh_no_reserve_no_warning", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "tests_test_board_make_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_poststab_test_makepostboard", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_poststab_test_maketwopostboard", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "tests_test_board_make_position", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_test_makeboard", "to": "tests_test_board_make_position", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_members_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_posts_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_839", "to": "tests_test_board_client", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_reference_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_board_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_make_ok_response", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_async_client_that_raises", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_async_client_that_returns", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_test_notify_returns_false_on_http_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_test_post_message_returns_false_on_http_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_test_post_image_returns_none_on_http_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_test_get_members_returns_empty_on_http_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_test_notify_returns_true_on_success", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_test_get_member_returns_not_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_test_get_member_raises_on_connection_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_bot_client_py", "to": "tests_test_bot_client_test_get_member_raises_on_503", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_1", "to": "backend_tests_test_bot_client_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_notify_returns_true_on_success", "to": "tests_test_bot_client_make_ok_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_get_member_returns_not_member", "to": "tests_test_bot_client_make_ok_response", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_notify_returns_false_on_http_error", "to": "tests_test_bot_client_async_client_that_raises", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_post_message_returns_false_on_http_error", "to": "tests_test_bot_client_async_client_that_raises", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_post_image_returns_none_on_http_error", "to": "tests_test_bot_client_async_client_that_raises", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_get_members_returns_empty_on_http_error", "to": "tests_test_bot_client_async_client_that_raises", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_get_member_raises_on_connection_error", "to": "tests_test_bot_client_async_client_that_raises", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_25", "to": "tests_test_bot_client_async_client_that_raises", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_notify_returns_true_on_success", "to": "tests_test_bot_client_async_client_that_returns", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_get_member_returns_not_member", "to": "tests_test_bot_client_async_client_that_returns", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_test_get_member_raises_on_503", "to": "tests_test_bot_client_async_client_that_returns", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_25", "to": "tests_test_bot_client_async_client_that_returns", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_51", "to": "tests_test_bot_client_test_notify_returns_false_on_http_error", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_60", "to": "tests_test_bot_client_test_post_message_returns_false_on_http_error", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_69", "to": "tests_test_bot_client_test_post_image_returns_none_on_http_error", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_78", "to": "tests_test_bot_client_test_get_members_returns_empty_on_http_error", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_87", "to": "tests_test_bot_client_test_notify_returns_true_on_success", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_102", "to": "tests_test_bot_client_test_get_member_returns_not_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_113", "to": "tests_test_bot_client_test_get_member_returns_not_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_124", "to": "tests_test_bot_client_test_get_member_raises_on_connection_error", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_bot_client_rationale_133", "to": "tests_test_bot_client_test_get_member_raises_on_503", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_posts_make_building", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_buildings_make_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_buildings_make_post_priority_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_buildings_scalars_all", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_buildings_scalars_first", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_buildings_scalar_one_or_none", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_buildings_test_update_building_unbreak_restores_groups", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_buildings_test_update_building_unbreak_restores_last_slot_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_buildings_test_update_building_break_then_unbreak_roundtrip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_buildings_py", "to": "tests_test_buildings_test_add_building_post_uses_priority_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_rationale_1", "to": "backend_tests_test_buildings_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_break_then_unbreak_roundtrip", "to": "tests_test_buildings_make_config", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_add_building_post_uses_priority_config", "to": "tests_test_buildings_make_config", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_buildings_make_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_default_configs", "to": "tests_test_buildings_make_config", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_add_building_post_uses_priority_config", "to": "tests_test_buildings_make_post_priority_config", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_buildings_make_post_priority_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_test_clone_uses_post_priority_config_not_source_priority", "to": "tests_test_buildings_make_post_priority_config", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_rationale_64", "to": "tests_test_buildings_scalars_all", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_rationale_71", "to": "tests_test_buildings_scalars_first", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_rationale_78", "to": "tests_test_buildings_scalar_one_or_none", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_unbreak_restores_groups", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_unbreak_restores_groups", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_rationale_95", "to": "tests_test_buildings_test_update_building_unbreak_restores_groups", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_unbreak_restores_groups", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_buildings_test_update_building_unbreak_restores_last_slot_count", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_unbreak_restores_last_slot_count", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_rationale_173", "to": "tests_test_buildings_test_update_building_unbreak_restores_last_slot_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_break_then_unbreak_roundtrip", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_break_then_unbreak_roundtrip", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_rationale_248", "to": "tests_test_buildings_test_update_building_break_then_unbreak_roundtrip", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_test_update_building_break_then_unbreak_roundtrip", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_buildings_test_add_building_post_uses_priority_config", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_buildings_rationale_393", "to": "tests_test_buildings_test_add_building_post_uses_priority_config", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_changelog_py", "to": "tests_test_changelog_test_get_status_fresh_user_returns_null", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_changelog_py", "to": "tests_test_changelog_test_mark_seen_then_get_status_returns_timestamp", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_changelog_py", "to": "tests_test_changelog_test_mark_seen_twice_is_idempotent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_changelog_py", "to": "tests_test_changelog_test_get_status_no_auth_returns_401", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_changelog_py", "to": "tests_test_changelog_test_post_mark_seen_no_auth_returns_401", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_changelog_py", "to": "tests_test_changelog_test_get_status_service_token_returns_400", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_rationale_1", "to": "backend_tests_test_changelog_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_rationale_82", "to": "tests_test_changelog_test_get_status_fresh_user_returns_null", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_rationale_114", "to": "tests_test_changelog_test_mark_seen_then_get_status_returns_timestamp", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_rationale_155", "to": "tests_test_changelog_test_mark_seen_twice_is_idempotent", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_rationale_194", "to": "tests_test_changelog_test_get_status_no_auth_returns_401", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_rationale_219", "to": "tests_test_changelog_test_post_mark_seen_no_auth_returns_401", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_changelog_rationale_244", "to": "tests_test_changelog_test_get_status_service_token_returns_400", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_comparison_test_compare_returns_404_when_no_completed_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_comparison_test_compare_with_specific_endpoint_200", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_comparison_build_siege_assignments", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_comparison_test_compare_added_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_comparison_test_compare_removed_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_comparison_test_compare_unchanged_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_comparison_test_compare_reserve_positions_excluded", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_comparison_test_inactive_member_excluded_from_comparison", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_comparison_test_inactive_member_rows_absent_from_comparison_result", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_comparison_py", "to": "tests_test_comparison_test_get_most_recent_completed_returns_none", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_rationale_1", "to": "backend_tests_test_comparison_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_compare_returns_404_when_no_completed_siege", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_compare_added_positions", "to": "tests_test_comparison_build_siege_assignments", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_compare_removed_positions", "to": "tests_test_comparison_build_siege_assignments", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_compare_unchanged_positions", "to": "tests_test_comparison_build_siege_assignments", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_inactive_member_rows_absent_from_comparison_result", "to": "tests_test_comparison_build_siege_assignments", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_rationale_125", "to": "tests_test_comparison_build_siege_assignments", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_rationale_143", "to": "tests_test_comparison_test_compare_added_positions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_compare_added_positions", "to": "api_sieges_comparesieges", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_comparison_rationale_186", "to": "tests_test_comparison_test_compare_removed_positions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_compare_removed_positions", "to": "api_sieges_comparesieges", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_comparison_rationale_222", "to": "tests_test_comparison_test_compare_unchanged_positions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_compare_unchanged_positions", "to": "api_sieges_comparesieges", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_comparison_rationale_252", "to": "tests_test_comparison_test_compare_reserve_positions_excluded", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_compare_reserve_positions_excluded", "to": "api_sieges_comparesieges", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_comparison_rationale_277", "to": "tests_test_comparison_test_inactive_member_excluded_from_comparison", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_rationale_308", "to": "tests_test_comparison_test_inactive_member_rows_absent_from_comparison_result", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_test_inactive_member_rows_absent_from_comparison_result", "to": "api_sieges_comparesieges", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_comparison_test_get_most_recent_completed_returns_none", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_rationale_349", "to": "tests_test_comparison_test_get_most_recent_completed_returns_none", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_comparison_rationale_365", "to": "tests_test_comparison_test_get_most_recent_completed_returns_none", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_py", "to": "tests_test_config_testsettingsdefaults", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_py", "to": "tests_test_config_testenvironmentrequired", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_py", "to": "tests_test_config_testlifespanauthguard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_py", "to": "tests_test_config_test_auth_disabled_allowed_in_development", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_py", "to": "tests_test_config_test_auth_disabled_rejected_in_production", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_py", "to": "tests_test_config_test_auth_disabled_rejected_in_test_environment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_py", "to": "tests_test_config_test_auth_not_disabled_allowed_in_any_environment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_rationale_1", "to": "backend_tests_test_config_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_discord_client_id_defaults_to_empty", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_discord_client_secret_defaults_to_empty", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_discord_redirect_uri_defaults_to_empty", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_session_secret_defaults_to_empty", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_bot_service_token_defaults_to_empty", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_auth_disabled_defaults_to_false", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_discord_required_role_defaults_to_clan_deputies", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_discord_required_role_accepts_override", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_allowed_origins_defaults_to_localhost", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_allowed_origins_accepts_override", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_allowed_origins_accepts_comma_separated_values", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults", "to": "tests_test_config_testsettingsdefaults_test_new_fields_accept_provided_values", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_rationale_24", "to": "tests_test_config_testsettingsdefaults", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_discord_client_id_defaults_to_empty", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_discord_client_secret_defaults_to_empty", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_discord_redirect_uri_defaults_to_empty", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_session_secret_defaults_to_empty", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_bot_service_token_defaults_to_empty", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_auth_disabled_defaults_to_false", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_discord_required_role_defaults_to_clan_deputies", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_discord_required_role_accepts_override", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_allowed_origins_defaults_to_localhost", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_allowed_origins_accepts_override", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_allowed_origins_accepts_comma_separated_values", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testsettingsdefaults_test_new_fields_accept_provided_values", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_rationale_27", "to": "tests_test_config_testsettingsdefaults_make_settings", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_testenvironmentrequired", "to": "tests_test_config_testenvironmentrequired_test_missing_environment_raises_validation_error", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_rationale_100", "to": "tests_test_config_testenvironmentrequired", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_rationale_127", "to": "tests_test_config_testlifespanauthguard", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_endpoint_py", "to": "tests_test_health_mock_db", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_endpoint_py", "to": "tests_test_config_endpoint_override_db", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_endpoint_py", "to": "tests_test_config_endpoint_test_config_returns_auth_disabled_true", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_endpoint_py", "to": "tests_test_config_endpoint_test_config_endpoint_is_public", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_endpoint_py", "to": "tests_test_config_endpoint_teststartupsessionsecretguard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_endpoint_py", "to": "tests_test_config_endpoint_test_missing_session_secret_raises_at_startup", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_endpoint_py", "to": "tests_test_config_endpoint_test_changeme_placeholder_raises_at_startup", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_endpoint_py", "to": "tests_test_config_endpoint_test_changeme_uppercase_raises_at_startup", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_config_endpoint_py", "to": "tests_test_config_endpoint_test_present_session_secret_does_not_raise", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_endpoint_rationale_1", "to": "backend_tests_test_config_endpoint_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_endpoint_rationale_37", "to": "backend_tests_test_config_endpoint_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_config_endpoint_rationale_124", "to": "tests_test_config_endpoint_teststartupsessionsecretguard", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_cors_py", "to": "tests_test_cors_make_app", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_cors_py", "to": "tests_test_cors_cors_headers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_cors_py", "to": "tests_test_cors_testallowedoriginsparsingintegration", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_cors_py", "to": "tests_test_cors_testallowedoriginreceivescorsheaders", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_cors_py", "to": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_cors_py", "to": "tests_test_cors_testpreflightrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_1", "to": "backend_tests_test_cors_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_single_origin_is_allowed", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_first_of_two_origins_is_allowed", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_second_of_two_origins_is_allowed", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_whitespace_around_origins_is_stripped", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_trailing_comma_is_ignored", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_leading_comma_is_ignored", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_whitespace_only_entries_are_excluded", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginreceivescorsheaders", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginreceivescorsheaders_test_allowed_origin_acao_matches_request_origin", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginreceivescorsheaders_test_localhost_dev_origin_allowed_by_default_config", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_disallowed_origin_has_no_acao_header", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_subdomain_not_allowed_when_only_apex_configured", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_http_disallowed_when_only_https_configured", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_wrong_port_disallowed", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testpreflightrequest_test_preflight_allowed_origin_returns_200", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testpreflightrequest_test_preflight_disallowed_origin_has_no_acao", "to": "tests_test_cors_make_app", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_27", "to": "tests_test_cors_make_app", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_single_origin_is_allowed", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_first_of_two_origins_is_allowed", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_second_of_two_origins_is_allowed", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_whitespace_around_origins_is_stripped", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_trailing_comma_is_ignored", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_leading_comma_is_ignored", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration_test_whitespace_only_entries_are_excluded", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginreceivescorsheaders", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginreceivescorsheaders_test_allowed_origin_acao_matches_request_origin", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginreceivescorsheaders_test_localhost_dev_origin_allowed_by_default_config", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_disallowed_origin_has_no_acao_header", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_subdomain_not_allowed_when_only_apex_configured", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_http_disallowed_when_only_https_configured", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_wrong_port_disallowed", "to": "tests_test_cors_cors_headers", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_53", "to": "tests_test_cors_cors_headers", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_single_origin_is_allowed", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_first_of_two_origins_is_allowed", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_second_of_two_origins_is_allowed", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_whitespace_around_origins_is_stripped", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_trailing_comma_is_ignored", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_leading_comma_is_ignored", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginsparsingintegration", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_whitespace_only_entries_are_excluded", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_65", "to": "tests_test_cors_testallowedoriginsparsingintegration", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_83", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_whitespace_around_origins_is_stripped", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_89", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_trailing_comma_is_ignored", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_95", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_leading_comma_is_ignored", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_101", "to": "tests_test_cors_testallowedoriginsparsingintegration_test_whitespace_only_entries_are_excluded", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginreceivescorsheaders", "to": "tests_test_cors_testallowedoriginreceivescorsheaders_test_allowed_origin_acao_matches_request_origin", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testallowedoriginreceivescorsheaders", "to": "tests_test_cors_testallowedoriginreceivescorsheaders_test_localhost_dev_origin_allowed_by_default_config", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_113", "to": "tests_test_cors_testallowedoriginreceivescorsheaders", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_127", "to": "tests_test_cors_testallowedoriginreceivescorsheaders", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_121", "to": "tests_test_cors_testallowedoriginreceivescorsheaders_test_allowed_origin_acao_matches_request_origin", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_133", "to": "tests_test_cors_testallowedoriginreceivescorsheaders_test_localhost_dev_origin_allowed_by_default_config", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders", "to": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_disallowed_origin_has_no_acao_header", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders", "to": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_subdomain_not_allowed_when_only_apex_configured", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders", "to": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_http_disallowed_when_only_https_configured", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders", "to": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_wrong_port_disallowed", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_145", "to": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_153", "to": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_subdomain_not_allowed_when_only_apex_configured", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_159", "to": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_http_disallowed_when_only_https_configured", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_165", "to": "tests_test_cors_testdisallowedoriginreceivesnocorsheaders_test_wrong_port_disallowed", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testpreflightrequest", "to": "tests_test_cors_testpreflightrequest_test_preflight_allowed_origin_returns_200", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_testpreflightrequest", "to": "tests_test_cors_testpreflightrequest_test_preflight_disallowed_origin_has_no_acao", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_cors_rationale_177", "to": "tests_test_cors_testpreflightrequest", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_make_sync_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_preview_returns_exact_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_preview_returns_suggested_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_preview_returns_ambiguous_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_preview_reports_unmatched_clan_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_apply_updates_matched_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_apply_with_empty_list_returns_zero", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_apply_with_unknown_member_id_skips_gracefully", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_service_preview_exact_discord_id_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_service_preview_suggested_name_username_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_service_preview_ambiguous_multiple_guild_matches", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_service_preview_unmatched_guild_and_clan", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_service_apply_updates_discord_fields", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_service_apply_unknown_member_id_skipped", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_discord_sync_py", "to": "tests_test_discord_sync_test_service_apply_empty_list_returns_zero", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_1", "to": "backend_tests_test_discord_sync_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_test_preview_returns_exact_match", "to": "tests_test_discord_sync_make_sync_match", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_test_preview_returns_suggested_match", "to": "tests_test_discord_sync_make_sync_match", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_test_preview_returns_ambiguous_match", "to": "tests_test_discord_sync_make_sync_match", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_51", "to": "tests_test_discord_sync_test_preview_returns_exact_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_76", "to": "tests_test_discord_sync_test_preview_returns_suggested_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_96", "to": "tests_test_discord_sync_test_preview_returns_ambiguous_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_116", "to": "tests_test_discord_sync_test_preview_reports_unmatched_clan_members", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_136", "to": "tests_test_discord_sync_test_preview_reports_unmatched_clan_members", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_161", "to": "tests_test_discord_sync_test_apply_updates_matched_members", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_182", "to": "tests_test_discord_sync_test_apply_with_empty_list_returns_zero", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_197", "to": "tests_test_discord_sync_test_apply_with_unknown_member_id_skips_gracefully", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_224", "to": "tests_test_discord_sync_test_service_preview_exact_discord_id_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_263", "to": "tests_test_discord_sync_test_service_preview_exact_discord_id_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_298", "to": "tests_test_discord_sync_test_service_preview_suggested_name_username_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_333", "to": "tests_test_discord_sync_test_service_preview_suggested_name_username_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_369", "to": "tests_test_discord_sync_test_service_preview_ambiguous_multiple_guild_matches", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_407", "to": "tests_test_discord_sync_test_service_preview_unmatched_guild_and_clan", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_443", "to": "tests_test_discord_sync_test_service_apply_updates_discord_fields", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_475", "to": "tests_test_discord_sync_test_service_apply_unknown_member_id_skipped", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_sync_rationale_499", "to": "tests_test_discord_sync_test_service_apply_empty_list_returns_zero", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_enums_py", "to": "tests_test_enums_test_building_type_labels_covers_all_values", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_enums_py", "to": "tests_test_enums_test_building_type_labels_are_friendly_strings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_enums_rationale_1", "to": "backend_tests_test_enums_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_enums_rationale_7", "to": "tests_test_enums_test_building_type_labels_covers_all_values", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_enums_rationale_17", "to": "tests_test_enums_test_building_type_labels_are_friendly_strings", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_health_py", "to": "tests_test_health_mock_db", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_health_py", "to": "tests_test_health_test_health_returns_healthy", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_health_rationale_19", "to": "tests_test_health_test_health_returns_healthy", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "pages_boardpage_test_makeboard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_make_building_dict", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_make_group_dict", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_contains_title", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_contains_building_type", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_reserve_cell", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_disabled_cell", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_empty_board", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_all_building_types_colored", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_reserves_html_contains_title", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_reserves_html_contains_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_reserves_html_day1_color", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_reserves_html_no_role_column", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_generate_assignments_image_calls_render", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_generate_reserves_image_calls_render", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_group_header_present", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_group_header_before_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_single_row_per_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_buildings_side_by_side", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_heavy_hitter_color", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_no_role_map_fallback", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_role_color_on_span_not_background", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_reserves_html_novice_color", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_reserves_html_fallback_color", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_role_colors_match_ui", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_reserves_html_role_colors_match_ui", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_no_level_in_header", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_broken_building_no_level", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_building_number_in_thead", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_post_flat_table", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_image_gen_py", "to": "tests_test_image_gen_test_build_assignments_html_post_reserve_and_disabled", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_1", "to": "backend_tests_test_image_gen_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_contains_building_type", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_reserve_cell", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_disabled_cell", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_all_building_types_colored", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_group_header_present", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_group_header_before_members", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_single_row_per_group", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_buildings_side_by_side", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_heavy_hitter_color", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_no_role_map_fallback", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_role_color_on_span_not_background", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_role_colors_match_ui", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_no_level_in_header", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_broken_building_no_level", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_building_number_in_thead", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_post_flat_table", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_post_reserve_and_disabled", "to": "tests_test_image_gen_make_building_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_contains_building_type", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_reserve_cell", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_disabled_cell", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_group_header_present", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_group_header_before_members", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_single_row_per_group", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_buildings_side_by_side", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_heavy_hitter_color", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_no_role_map_fallback", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_role_color_on_span_not_background", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_role_colors_match_ui", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_no_level_in_header", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_broken_building_no_level", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_building_number_in_thead", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_post_flat_table", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_post_reserve_and_disabled", "to": "tests_test_image_gen_make_group_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_contains_title", "to": "pages_boardpage_test_makeboard", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_build_assignments_html_empty_board", "to": "pages_boardpage_test_makeboard", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_356", "to": "tests_test_image_gen_test_build_reserves_html_day1_color", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_175", "to": "tests_test_image_gen_test_build_reserves_html_no_role_column", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_test_generate_assignments_image_calls_render", "to": "pages_boardpage_test_makeboard", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_232", "to": "tests_test_image_gen_test_build_assignments_html_group_header_present", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_243", "to": "tests_test_image_gen_test_build_assignments_html_group_header_before_members", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_255", "to": "tests_test_image_gen_test_build_assignments_html_single_row_per_group", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_282", "to": "tests_test_image_gen_test_build_assignments_html_buildings_side_by_side", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_316", "to": "tests_test_image_gen_test_build_assignments_html_heavy_hitter_color", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_329", "to": "tests_test_image_gen_test_build_assignments_html_no_role_map_fallback", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_340", "to": "tests_test_image_gen_test_build_assignments_html_role_color_on_span_not_background", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_364", "to": "tests_test_image_gen_test_build_reserves_html_novice_color", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_372", "to": "tests_test_image_gen_test_build_reserves_html_fallback_color", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_406", "to": "tests_test_image_gen_test_build_assignments_html_role_colors_match_ui", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_431", "to": "tests_test_image_gen_test_build_reserves_html_role_colors_match_ui", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_444", "to": "tests_test_image_gen_test_build_assignments_html_no_level_in_header", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_457", "to": "tests_test_image_gen_test_build_assignments_html_broken_building_no_level", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_469", "to": "tests_test_image_gen_test_build_assignments_html_building_number_in_thead", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_483", "to": "tests_test_image_gen_test_build_assignments_html_post_flat_table", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_image_gen_rationale_517", "to": "tests_test_image_gen_test_build_assignments_html_post_reserve_and_disabled", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_lifecycle_test_activate_planning_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_lifecycle_test_activate_already_active_returns_400", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_lifecycle_test_complete_active_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_lifecycle_test_complete_planning_siege_returns_400", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_lifecycle_test_clone_siege_returns_201", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_lifecycle_make_post_ns", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_lifecycle_make_src_position_ns", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_lifecycle_make_src_group_ns", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_lifecycle_make_src_building_ns", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_py", "to": "tests_test_lifecycle_test_clone_uses_post_priority_config_not_source_priority", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_rationale_1", "to": "backend_tests_test_lifecycle_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_test_activate_planning_siege", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_test_complete_active_siege", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_test_clone_siege_returns_201", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_test_clone_uses_post_priority_config_not_source_priority", "to": "tests_test_lifecycle_make_post_ns", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_test_clone_uses_post_priority_config_not_source_priority", "to": "tests_test_lifecycle_make_src_position_ns", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_test_clone_uses_post_priority_config_not_source_priority", "to": "tests_test_lifecycle_make_src_group_ns", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_test_clone_uses_post_priority_config_not_source_priority", "to": "tests_test_lifecycle_make_src_building_ns", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_rationale_197", "to": "tests_test_lifecycle_test_clone_uses_post_priority_config_not_source_priority", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "tests_test_posts_make_building", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "pages_boardpage_test_makesiegemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "tests_test_validation_default_configs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "tests_test_lifecycle_integration_build_valid_siege_graph", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "tests_test_post_suggestions_make_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_lifecycle_integration_py", "to": "tests_test_lifecycle_integration_test_full_siege_lifecycle", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_rationale_1", "to": "backend_tests_test_lifecycle_integration_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_build_valid_siege_graph", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_build_valid_siege_graph", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_test_full_siege_lifecycle", "to": "tests_test_lifecycle_integration_build_valid_siege_graph", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_rationale_113", "to": "tests_test_lifecycle_integration_build_valid_siege_graph", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_test_full_siege_lifecycle", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_test_full_siege_lifecycle", "to": "tests_test_post_suggestions_make_session", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_rationale_216", "to": "tests_test_lifecycle_integration_test_full_siege_lifecycle", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_lifecycle_integration_rationale_183", "to": "tests_test_post_suggestions_make_session", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_members_py", "to": "tests_test_members_test_list_members_returns_empty_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_members_py", "to": "tests_test_members_test_create_member_returns_201", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_members_py", "to": "tests_test_members_test_create_member_duplicate_name_returns_409", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_members_py", "to": "tests_test_members_test_get_member_not_found_returns_404", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_members_py", "to": "tests_test_members_test_delete_member_returns_204", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_rationale_1", "to": "backend_tests_test_members_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_member_changelog_column_py", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_column_exists", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_member_changelog_column_py", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_column_is_nullable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_member_changelog_column_py", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_has_no_server_default", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_member_changelog_column_py", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_column_type_is_datetime", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_member_changelog_column_py", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_accepts_none_at_python_level", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_member_changelog_column_py", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_accepts_datetime_at_python_level", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_member_changelog_column_rationale_1", "to": "backend_tests_test_member_changelog_column_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_member_changelog_column_rationale_21", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_column_exists", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_member_changelog_column_rationale_33", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_column_is_nullable", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_member_changelog_column_rationale_51", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_has_no_server_default", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_member_changelog_column_rationale_69", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_column_type_is_datetime", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_member_changelog_column_rationale_90", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_accepts_none_at_python_level", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_member_changelog_column_rationale_104", "to": "tests_test_member_changelog_column_test_last_seen_changelog_at_accepts_datetime_at_python_level", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "pages_boardpage_test_makesiegemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_make_batch", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_make_batch_result", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_make_db_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_returns_batch_id", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_siege_not_found", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_siege_complete_returns_400", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_get_notification_batch_returns_results", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_get_notification_batch_not_found", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_post_to_channel_success", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_post_to_channel_posts_images_to_images_channel_and_summary_to_text_channel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_post_to_channel_image_failure_returns_failed", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_skips_member_with_no_discord_username", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_skips_member_not_in_guild", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_eligible_member_gets_result_row_and_dm", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_skipped_count_reflects_all_skipped_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_blocked_when_siege_has_validation_errors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_passes_validation_guard_when_no_errors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_bot_unreachable_falls_back_to_username_filter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_send_dms_sets_completed_status_even_when_bot_raises", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_notify_no_date_returns_400", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notifications_py", "to": "tests_test_notifications_test_post_to_channel_no_date_returns_400", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_1", "to": "backend_tests_test_notifications_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_returns_batch_id", "to": "tests_test_notifications_make_batch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_get_notification_batch_returns_results", "to": "tests_test_notifications_make_batch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_send_dms_sets_completed_status_even_when_bot_raises", "to": "tests_test_notifications_make_batch", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_get_notification_batch_returns_results", "to": "tests_test_notifications_make_batch_result", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_send_dms_sets_completed_status_even_when_bot_raises", "to": "tests_test_notifications_make_batch_result", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_113", "to": "tests_test_notifications_make_db_session", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_returns_batch_id", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_returns_batch_id", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_siege_complete_returns_400", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_post_to_channel_success", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_post_to_channel_success", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_post_to_channel_posts_images_to_images_channel_and_summary_to_text_channel", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_post_to_channel_posts_images_to_images_channel_and_summary_to_text_channel", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_416", "to": "tests_test_notifications_test_post_to_channel_posts_images_to_images_channel_and_summary_to_text_channel", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_post_to_channel_image_failure_returns_failed", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_post_to_channel_image_failure_returns_failed", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_498", "to": "tests_test_notifications_test_post_to_channel_image_failure_returns_failed", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_skips_member_with_no_discord_username", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_skips_member_with_no_discord_username", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_557", "to": "tests_test_notifications_test_notify_skips_member_with_no_discord_username", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_skips_member_not_in_guild", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_skips_member_not_in_guild", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_621", "to": "tests_test_notifications_test_notify_skips_member_not_in_guild", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_eligible_member_gets_result_row_and_dm", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_eligible_member_gets_result_row_and_dm", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_680", "to": "tests_test_notifications_test_notify_eligible_member_gets_result_row_and_dm", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_skipped_count_reflects_all_skipped_members", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_skipped_count_reflects_all_skipped_members", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_746", "to": "tests_test_notifications_test_notify_skipped_count_reflects_all_skipped_members", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_blocked_when_siege_has_validation_errors", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_810", "to": "tests_test_notifications_test_notify_blocked_when_siege_has_validation_errors", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_passes_validation_guard_when_no_errors", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_passes_validation_guard_when_no_errors", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_856", "to": "tests_test_notifications_test_notify_passes_validation_guard_when_no_errors", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_bot_unreachable_falls_back_to_username_filter", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_bot_unreachable_falls_back_to_username_filter", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_913", "to": "tests_test_notifications_test_notify_bot_unreachable_falls_back_to_username_filter", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_980", "to": "tests_test_notifications_test_send_dms_sets_completed_status_even_when_bot_raises", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_notify_no_date_returns_400", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_1042", "to": "tests_test_notifications_test_notify_no_date_returns_400", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_test_post_to_channel_no_date_returns_400", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notifications_rationale_1069", "to": "tests_test_notifications_test_post_to_channel_no_date_returns_400", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_stronghold_pos", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_defense_tower_pos", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_post_pos", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_no_previous_siege_all_current_in_set_at", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_empty_sections_omitted_all_no_change", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_full_diff_three_sections", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_header_contains_siege_date_and_member_settings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_none_fields_display_as_unknown", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_false_reserve_set_displays_no", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_single_building_type_omits_building_number", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_multiple_building_type_includes_building_number", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_post_always_uses_short_format", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_post_with_single_count_still_uses_short_format", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_section_order_no_change_then_remove_then_set_at", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_positions_sorted_within_section", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_no_change_section_has_header_and_plain_position_lines", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_remove_from_section_has_header_and_plain_position_lines", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_set_at_section_has_header_and_plain_position_lines", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_blank_line_between_no_change_and_remove_from", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_blank_line_between_remove_from_and_set_at", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_no_blank_line_when_only_one_section", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_blank_line_count_with_all_three_sections", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_all_three_section_headers_exact_format", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_notification_message_py", "to": "tests_test_notification_message_test_header_line_not_a_position_line", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_1", "to": "backend_tests_test_notification_message_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_no_previous_siege_all_current_in_set_at", "to": "tests_test_notification_message_stronghold_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_empty_sections_omitted_all_no_change", "to": "tests_test_notification_message_stronghold_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_full_diff_three_sections", "to": "tests_test_notification_message_stronghold_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_single_building_type_omits_building_number", "to": "tests_test_notification_message_stronghold_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_section_order_no_change_then_remove_then_set_at", "to": "tests_test_notification_message_stronghold_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_positions_sorted_within_section", "to": "tests_test_notification_message_stronghold_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_no_change_section_has_header_and_plain_position_lines", "to": "tests_test_notification_message_stronghold_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_blank_line_between_no_change_and_remove_from", "to": "tests_test_notification_message_stronghold_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_blank_line_count_with_all_three_sections", "to": "tests_test_notification_message_stronghold_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_all_three_section_headers_exact_format", "to": "tests_test_notification_message_stronghold_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_multiple_building_type_includes_building_number", "to": "tests_test_notification_message_defense_tower_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_section_order_no_change_then_remove_then_set_at", "to": "tests_test_notification_message_defense_tower_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_no_previous_siege_all_current_in_set_at", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_empty_sections_omitted_all_no_change", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_full_diff_three_sections", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_post_always_uses_short_format", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_post_with_single_count_still_uses_short_format", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_section_order_no_change_then_remove_then_set_at", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_positions_sorted_within_section", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_no_change_section_has_header_and_plain_position_lines", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_remove_from_section_has_header_and_plain_position_lines", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_set_at_section_has_header_and_plain_position_lines", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_blank_line_between_no_change_and_remove_from", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_blank_line_between_remove_from_and_set_at", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_no_blank_line_when_only_one_section", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_blank_line_count_with_all_three_sections", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_all_three_section_headers_exact_format", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_test_header_line_not_a_position_line", "to": "tests_test_notification_message_post_pos", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_64", "to": "tests_test_notification_message_test_no_previous_siege_all_current_in_set_at", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_85", "to": "tests_test_notification_message_test_empty_sections_omitted_all_no_change", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_106", "to": "tests_test_notification_message_test_full_diff_three_sections", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_150", "to": "tests_test_notification_message_test_header_contains_siege_date_and_member_settings", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_170", "to": "tests_test_notification_message_test_none_fields_display_as_unknown", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_184", "to": "tests_test_notification_message_test_false_reserve_set_displays_no", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_202", "to": "tests_test_notification_message_test_single_building_type_omits_building_number", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_202", "to": "tests_test_notification_message_test_multiple_building_type_includes_building_number", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_242", "to": "tests_test_notification_message_test_post_always_uses_short_format", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_258", "to": "tests_test_notification_message_test_post_with_single_count_still_uses_short_format", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_277", "to": "tests_test_notification_message_test_section_order_no_change_then_remove_then_set_at", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_304", "to": "tests_test_notification_message_test_positions_sorted_within_section", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_337", "to": "tests_test_notification_message_test_no_change_section_has_header_and_plain_position_lines", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_362", "to": "tests_test_notification_message_test_remove_from_section_has_header_and_plain_position_lines", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_386", "to": "tests_test_notification_message_test_set_at_section_has_header_and_plain_position_lines", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_415", "to": "tests_test_notification_message_test_blank_line_between_no_change_and_remove_from", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_432", "to": "tests_test_notification_message_test_blank_line_between_remove_from_and_set_at", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_448", "to": "tests_test_notification_message_test_no_blank_line_when_only_one_section", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_465", "to": "tests_test_notification_message_test_blank_line_count_with_all_three_sections", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_489", "to": "tests_test_notification_message_test_all_three_section_headers_exact_format", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_notification_message_rationale_509", "to": "tests_test_notification_message_test_header_line_not_a_position_line", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_posts_py", "to": "tests_test_posts_make_building", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_posts_py", "to": "tests_test_posts_make_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_posts_py", "to": "tests_test_posts_test_list_posts_returns_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_posts_py", "to": "tests_test_posts_test_update_post_priority", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_posts_py", "to": "tests_test_posts_test_set_post_conditions_too_many_returns_400", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_posts_py", "to": "tests_test_posts_test_list_posts_sorted_by_building_number", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_posts_rationale_1", "to": "backend_tests_test_posts_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_posts_make_post", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_posts_make_building", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_members_all_skip_no_match", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_posts_make_building", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_inactive_member_error", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_active_member_no_error", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_building_assignment_counts_toward_scroll_limit", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_and_healthy_both_count_toward_scroll_limit", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_exceeds_scroll_count", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_within_scroll_count", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule3_valid_building_number", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule4_invalid_group_number", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule4_valid_group_number", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule5_position_number_exceeds_slot_count", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule5_valid_position_number", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule7_post_has_multiple_groups", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule7_post_has_exactly_one_group", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_disabled_with_member", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_reserve_with_member", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_valid_state", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule9_correct_building_count", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_empty_unresolved_slot", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_message_uses_position_name", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_no_warning_when_disabled", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_member_pref_no_match", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_attack_day_set", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_no_reserve", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_advanced_no_reserve", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_reserve_configured", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_non_hh_no_reserve_no_warning", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_fewer_than_3_conditions", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_has_3_conditions", "to": "tests_test_posts_make_building", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_posts_test_list_posts_returns_list", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_posts_test_update_post_priority", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_posts_test_list_posts_sorted_by_building_number", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_posts_make_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_members_all_skip_no_match", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_posts_make_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_member_pref_no_match", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_fewer_than_3_conditions", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_has_3_conditions", "to": "tests_test_posts_make_post", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "tests_test_posts_make_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "tests_test_posts_make_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "tests_test_posts_make_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_posts_rationale_115", "to": "tests_test_posts_test_list_posts_sorted_by_building_number", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_validation_make_condition", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "pages_boardpage_test_makesiegemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_make_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_preview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_raises_400_on_completed_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_empty_siege_returns_empty_assignments", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_no_members_all_skip_no_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_apply", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_preview_data", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_entry_dict", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_expired_preview_raises_409", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_missing_preview_raises_409", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_empty_position_ids_is_noop", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_unknown_position_ids_silently_ignored", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_null_member_entries_are_skipped", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_subset_only_writes_checked_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_stale_position_disabled_returns_409", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_stale_position_reserve_returns_409", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_stale_member_inactive_returns_409", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_member_changed_returns_409", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_multiple_stale_all_surfaced_in_single_409", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_apply_completed_siege_raises_400", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_py", "to": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1", "to": "backend_tests_test_post_suggestions_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_preview", "to": "tests_test_post_suggestions_make_session", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_141", "to": "tests_test_post_suggestions_make_session", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_raises_400_on_completed_siege", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_empty_siege_returns_empty_assignments", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_members_all_skip_no_match", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "to": "tests_test_post_suggestions_preview", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_156", "to": "tests_test_post_suggestions_preview", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "tests_test_post_suggestions_preview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "tests_test_post_suggestions_preview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_preview", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_post_suggestions_test_preview_raises_400_on_completed_siege", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_196", "to": "tests_test_post_suggestions_test_preview_raises_400_on_completed_siege", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_210", "to": "tests_test_post_suggestions_test_preview_single_post_single_member_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_238", "to": "tests_test_post_suggestions_test_preview_no_match_produces_skip_reason_no_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_264", "to": "tests_test_post_suggestions_test_preview_reserve_position_produces_skip_reason_reserve", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_283", "to": "tests_test_post_suggestions_test_preview_disabled_position_produces_skip_reason_disabled", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_307", "to": "tests_test_post_suggestions_test_preview_post_with_no_active_conditions_produces_skip_reason_no_conditions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_333", "to": "tests_test_post_suggestions_test_preview_post_with_conditions_but_no_matching_member_still_no_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_357", "to": "tests_test_post_suggestions_test_preview_mixed_no_conditions_no_match_and_assigned_in_one_preview", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_401", "to": "tests_test_post_suggestions_test_preview_higher_priority_post_gets_member_first", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_445", "to": "tests_test_post_suggestions_test_preview_second_post_prefers_different_condition", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_479", "to": "tests_test_post_suggestions_test_preview_prefers_less_loaded_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_507", "to": "tests_test_post_suggestions_test_preview_name_tiebreak_picks_alphabetically_lower", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_528", "to": "tests_test_post_suggestions_test_preview_duplicate_penalty_beats_assignment_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_565", "to": "tests_test_post_suggestions_test_preview_determinism_same_output_on_repeat", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_592", "to": "tests_test_post_suggestions_test_preview_current_member_preferred_when_equally_qualified", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_661", "to": "tests_test_post_suggestions_test_preview_lowest_condition_id_picked_as_tiebreak", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_686", "to": "tests_test_post_suggestions_test_preview_suboptimality_invariants_hold", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_764", "to": "tests_test_post_suggestions_test_preview_matches_current_true_when_same_assignment", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_784", "to": "tests_test_post_suggestions_test_preview_matches_current_false_for_null_suggestion", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_empty_siege_returns_empty_assignments", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_809", "to": "tests_test_post_suggestions_test_preview_empty_siege_returns_empty_assignments", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_members_all_skip_no_match", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_no_members_all_skip_no_match", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_817", "to": "tests_test_post_suggestions_test_preview_no_members_all_skip_no_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_expired_preview_raises_409", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_missing_preview_raises_409", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_empty_position_ids_is_noop", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_unknown_position_ids_silently_ignored", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_null_member_entries_are_skipped", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_subset_only_writes_checked_positions", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_disabled_returns_409", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_reserve_returns_409", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_member_inactive_returns_409", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_member_changed_returns_409", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_multiple_stale_all_surfaced_in_single_409", "to": "tests_test_post_suggestions_apply", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_889", "to": "tests_test_post_suggestions_apply", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_expired_preview_raises_409", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_empty_position_ids_is_noop", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_unknown_position_ids_silently_ignored", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_null_member_entries_are_skipped", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_subset_only_writes_checked_positions", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_disabled_returns_409", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_reserve_returns_409", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_member_inactive_returns_409", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_member_changed_returns_409", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_multiple_stale_all_surfaced_in_single_409", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_completed_siege_raises_400", "to": "tests_test_post_suggestions_preview_data", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_927", "to": "tests_test_post_suggestions_preview_data", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_empty_position_ids_is_noop", "to": "tests_test_post_suggestions_entry_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_unknown_position_ids_silently_ignored", "to": "tests_test_post_suggestions_entry_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_null_member_entries_are_skipped", "to": "tests_test_post_suggestions_entry_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_subset_only_writes_checked_positions", "to": "tests_test_post_suggestions_entry_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_disabled_returns_409", "to": "tests_test_post_suggestions_entry_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_reserve_returns_409", "to": "tests_test_post_suggestions_entry_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_member_inactive_returns_409", "to": "tests_test_post_suggestions_entry_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_member_changed_returns_409", "to": "tests_test_post_suggestions_entry_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_multiple_stale_all_surfaced_in_single_409", "to": "tests_test_post_suggestions_entry_dict", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_expired_preview_raises_409", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_956", "to": "tests_test_post_suggestions_test_apply_expired_preview_raises_409", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_missing_preview_raises_409", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_970", "to": "tests_test_post_suggestions_test_apply_missing_preview_raises_409", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_empty_position_ids_is_noop", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_979", "to": "tests_test_post_suggestions_test_apply_empty_position_ids_is_noop", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_unknown_position_ids_silently_ignored", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_995", "to": "tests_test_post_suggestions_test_apply_unknown_position_ids_silently_ignored", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_null_member_entries_are_skipped", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1012", "to": "tests_test_post_suggestions_test_apply_null_member_entries_are_skipped", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_subset_only_writes_checked_positions", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1026", "to": "tests_test_post_suggestions_test_apply_subset_only_writes_checked_positions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_disabled_returns_409", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1055", "to": "tests_test_post_suggestions_test_apply_stale_position_disabled_returns_409", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_position_reserve_returns_409", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1073", "to": "tests_test_post_suggestions_test_apply_stale_position_reserve_returns_409", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_stale_member_inactive_returns_409", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1091", "to": "tests_test_post_suggestions_test_apply_stale_member_inactive_returns_409", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_member_changed_returns_409", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1109", "to": "tests_test_post_suggestions_test_apply_member_changed_returns_409", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_multiple_stale_all_surfaced_in_single_409", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1128", "to": "tests_test_post_suggestions_test_apply_multiple_stale_all_surfaced_in_single_409", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_apply_completed_siege_raises_400", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1158", "to": "tests_test_post_suggestions_test_apply_completed_siege_raises_400", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1183", "to": "tests_test_post_suggestions_test_preview_skips_post_when_only_candidate_has_used_condition", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_rationale_1026", "to": "tests_test_post_suggestions_integration_test_apply_subset_leaves_unselected_positions_unchanged", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_integration_py", "to": "tests_test_schema_enable_sqlite_fk", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_integration_py", "to": "tests_test_post_suggestions_integration_engine", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_integration_py", "to": "tests_test_seed_demo_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_integration_py", "to": "tests_test_post_suggestions_integration_session_factory", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_integration_py", "to": "tests_test_sieges_seed_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_integration_py", "to": "tests_test_post_suggestions_integration_test_preview_loads_m2m_relations_without_greenlet_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_integration_py", "to": "tests_test_post_suggestions_integration_test_preview_overwrite_stores_second_preview_in_db", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_integration_py", "to": "tests_test_post_suggestions_integration_test_apply_persists_matched_condition_id_to_db", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_integration_py", "to": "tests_test_post_suggestions_integration_test_apply_subset_leaves_unselected_positions_unchanged", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_post_suggestions_integration_py", "to": "tests_test_post_suggestions_integration_test_member_changed_stale_reason_on_concurrent_apply", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_rationale_1", "to": "backend_tests_test_post_suggestions_integration_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_rationale_61", "to": "tests_test_post_suggestions_integration_engine", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_test_preview_overwrite_stores_second_preview_in_db", "to": "tests_test_post_suggestions_integration_session_factory", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_test_apply_persists_matched_condition_id_to_db", "to": "tests_test_post_suggestions_integration_session_factory", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_test_apply_subset_leaves_unselected_positions_unchanged", "to": "tests_test_post_suggestions_integration_session_factory", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_test_member_changed_stale_reason_on_concurrent_apply", "to": "tests_test_post_suggestions_integration_session_factory", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_rationale_80", "to": "tests_test_post_suggestions_integration_session_factory", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_test_preview_loads_m2m_relations_without_greenlet_error", "to": "tests_test_sieges_seed_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_rationale_191", "to": "tests_test_post_suggestions_integration_test_preview_loads_m2m_relations_without_greenlet_error", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_test_preview_overwrite_stores_second_preview_in_db", "to": "tests_test_sieges_seed_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_rationale_216", "to": "tests_test_post_suggestions_integration_test_preview_overwrite_stores_second_preview_in_db", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_test_apply_persists_matched_condition_id_to_db", "to": "tests_test_sieges_seed_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_rationale_255", "to": "tests_test_post_suggestions_integration_test_apply_persists_matched_condition_id_to_db", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_test_apply_subset_leaves_unselected_positions_unchanged", "to": "tests_test_sieges_seed_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_test_member_changed_stale_reason_on_concurrent_apply", "to": "tests_test_sieges_seed_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_rationale_314", "to": "tests_test_post_suggestions_integration_test_member_changed_stale_reason_on_concurrent_apply", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_rationale_53", "to": "tests_test_schema_enable_sqlite_fk", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_rationale_72", "to": "tests_test_seed_demo_session", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_post_suggestions_integration_rationale_90", "to": "tests_test_sieges_seed_siege", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_reference_py", "to": "tests_test_reference_make_post_condition", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_reference_py", "to": "tests_test_reference_test_get_post_conditions_returns_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_reference_py", "to": "tests_test_reference_test_get_building_types_returns_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_reference_py", "to": "tests_test_reference_test_get_member_roles_returns_four_roles", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_reference_rationale_1", "to": "backend_tests_test_reference_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_reference_test_get_post_conditions_returns_list", "to": "tests_test_reference_make_post_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_schema_py", "to": "tests_test_schema_enable_sqlite_fk", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_schema_py", "to": "tests_test_schema_db_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_schema_py", "to": "tests_test_schema_test_member_name_unique", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_schema_py", "to": "tests_test_schema_test_position_reserve_and_member_constraint_defined", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_schema_py", "to": "tests_test_schema_test_building_group_slot_count_bounds", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_schema_py", "to": "tests_test_schema_test_post_condition_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_schema_py", "to": "tests_test_schema_test_building_type_config_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_schema_py", "to": "tests_test_schema_test_siege_member_pk", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_schema_rationale_1", "to": "backend_tests_test_schema_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_schema_rationale_22", "to": "tests_test_schema_enable_sqlite_fk", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_schema_enable_sqlite_fk", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_schema_db_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_schema_rationale_51", "to": "tests_test_schema_test_member_name_unique", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_schema_rationale_66", "to": "tests_test_schema_test_position_reserve_and_member_constraint_defined", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_schema_rationale_79", "to": "tests_test_schema_test_building_group_slot_count_bounds", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_schema_rationale_90", "to": "tests_test_schema_test_post_condition_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_schema_rationale_105", "to": "tests_test_schema_test_building_type_config_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_schema_rationale_120", "to": "tests_test_schema_test_siege_member_pk", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_demo_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_run_canonical_seed", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_testcanonicalseedpostconditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_test_seeds_36_post_conditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_test_idempotent_post_conditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_testcanonicalseedbuildingtypeconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_test_seeds_building_type_configs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_test_idempotent_building_type_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_testcanonicalseedpostpriorityconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_test_seeds_18_post_priority_configs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_test_priority_configs_cover_posts_1_through_18", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_test_priority_configs_default_priority_is_2", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_canonical_py", "to": "tests_test_seed_canonical_test_idempotent_post_priority_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_rationale_1", "to": "backend_tests_test_seed_canonical_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_test_seeds_36_post_conditions", "to": "tests_test_seed_canonical_run_canonical_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_test_idempotent_post_conditions", "to": "tests_test_seed_canonical_run_canonical_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_test_seeds_building_type_configs", "to": "tests_test_seed_canonical_run_canonical_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_test_idempotent_building_type_config", "to": "tests_test_seed_canonical_run_canonical_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_test_seeds_18_post_priority_configs", "to": "tests_test_seed_canonical_run_canonical_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_test_priority_configs_cover_posts_1_through_18", "to": "tests_test_seed_canonical_run_canonical_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_test_priority_configs_default_priority_is_2", "to": "tests_test_seed_canonical_run_canonical_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_test_idempotent_post_priority_config", "to": "tests_test_seed_canonical_run_canonical_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_rationale_58", "to": "tests_test_seed_canonical_run_canonical_seed", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_rationale_72", "to": "tests_test_seed_canonical_testcanonicalseedpostconditions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_testcanonicalseedpostconditions", "to": "api_types_postcondition", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_testcanonicalseedpostconditions", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_rationale_95", "to": "tests_test_seed_canonical_testcanonicalseedbuildingtypeconfig", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_testcanonicalseedbuildingtypeconfig", "to": "api_types_postcondition", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_testcanonicalseedbuildingtypeconfig", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_rationale_121", "to": "tests_test_seed_canonical_testcanonicalseedpostpriorityconfig", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_canonical_testcanonicalseedpostpriorityconfig", "to": "api_types_postcondition", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_testcanonicalseedpostpriorityconfig", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_canonical_test_priority_configs_cover_posts_1_through_18", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_session", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_run_seed", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_testseeddemomembers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_creates_25_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_members_have_demo_names", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_idempotent_member_creation", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_testseeddemosiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_creates_one_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_siege_has_active_status", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_idempotent_siege_creation", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_testseeddemobuildingsandpositions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_creates_buildings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_creates_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_some_positions_have_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_idempotent_position_creation", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_testseeddemosiegemembers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_enrolls_all_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_members_have_attack_days", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_seed_demo_py", "to": "tests_test_seed_demo_test_idempotent_siege_member_enrollment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_rationale_1", "to": "backend_tests_test_seed_demo_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_rationale_42", "to": "tests_test_seed_demo_session", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_creates_25_members", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_members_have_demo_names", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_idempotent_member_creation", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_creates_one_siege", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_siege_has_active_status", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_idempotent_siege_creation", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_creates_buildings", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_creates_positions", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_some_positions_have_members", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_idempotent_position_creation", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_enrolls_all_members", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_members_have_attack_days", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_test_idempotent_siege_member_enrollment", "to": "tests_test_seed_demo_run_seed", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_rationale_60", "to": "tests_test_seed_demo_run_seed", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_rationale_92", "to": "tests_test_seed_demo_testseeddemomembers", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_testseeddemomembers", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemomembers", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemomembers", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemomembers", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemomembers", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiege", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiege", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiege", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiege", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiege", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_rationale_142", "to": "tests_test_seed_demo_testseeddemobuildingsandpositions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_testseeddemobuildingsandpositions", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemobuildingsandpositions", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemobuildingsandpositions", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemobuildingsandpositions", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemobuildingsandpositions", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_rationale_182", "to": "tests_test_seed_demo_testseeddemosiegemembers", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_seed_demo_testseeddemosiegemembers", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiegemembers", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiegemembers", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiegemembers", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_seed_demo_testseeddemosiegemembers", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_test_list_sieges_returns_empty_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_test_create_siege_returns_201", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_test_get_siege_not_found_returns_404", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_test_delete_planning_siege_returns_204", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_test_delete_active_siege_returns_400", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_seed_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_test_compute_scroll_count_sums_theoretical_capacity", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_test_compute_scroll_count_broken_building_unchanged", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_test_compute_scroll_count_level_change_updates_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_sieges_py", "to": "tests_test_sieges_test_compute_scroll_count_post_buildings_contribute_one", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_rationale_1", "to": "backend_tests_test_sieges_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_test_create_siege_returns_201", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_validate_endpoint_returns_result", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_inactive_member_error", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_active_member_no_error", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_building_assignment_counts_toward_scroll_limit", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_and_healthy_both_count_toward_scroll_limit", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_exceeds_scroll_count", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_within_scroll_count", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule3_valid_building_number", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule4_invalid_group_number", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule4_valid_group_number", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule5_position_number_exceeds_slot_count", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule5_valid_position_number", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule6_valid_attack_day", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule7_post_has_multiple_groups", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule7_post_has_exactly_one_group", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_disabled_with_member", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_reserve_with_member", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_valid_state", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule9_wrong_building_count", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule9_correct_building_count", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_empty_unresolved_slot", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_message_uses_position_name", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_no_warning_when_disabled", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_member_pref_no_match", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_attack_day_set", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule14_fewer_than_10_day2", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule14_ten_or_more_day2", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_no_reserve", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_advanced_no_reserve", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_reserve_configured", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_non_hh_no_reserve_no_warning", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_fewer_than_3_conditions", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_has_3_conditions", "to": "tests_test_sieges_make_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "tests_test_sieges_make_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_test_compute_scroll_count_sums_theoretical_capacity", "to": "tests_test_sieges_seed_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_test_compute_scroll_count_broken_building_unchanged", "to": "tests_test_sieges_seed_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_test_compute_scroll_count_level_change_updates_count", "to": "tests_test_sieges_seed_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_test_compute_scroll_count_post_buildings_contribute_one", "to": "tests_test_sieges_seed_siege", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_rationale_169", "to": "tests_test_sieges_seed_siege", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_rationale_206", "to": "tests_test_sieges_test_compute_scroll_count_sums_theoretical_capacity", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_rationale_230", "to": "tests_test_sieges_test_compute_scroll_count_broken_building_unchanged", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_rationale_263", "to": "tests_test_sieges_test_compute_scroll_count_level_change_updates_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_sieges_rationale_293", "to": "tests_test_sieges_test_compute_scroll_count_post_buildings_contribute_one", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_telemetry_py", "to": "tests_test_telemetry_testconfiguretelemetrynoop", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetrynoop", "to": "tests_test_telemetry_testconfiguretelemetrynoop_test_noop_when_env_var_missing", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetrynoop", "to": "tests_test_telemetry_testconfiguretelemetrynoop_test_noop_when_env_var_empty_string", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetrynoop", "to": "tests_test_telemetry_testconfiguretelemetrynoop_test_noop_when_env_var_whitespace_only", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetrynoop", "to": "tests_test_telemetry_testconfiguretelemetryactive_test_calls_configure_azure_monitor_when_env_var_set", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetrynoop", "to": "tests_test_telemetry_testconfiguretelemetryactive_test_sdk_exception_does_not_propagate", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_18", "to": "tests_test_telemetry_testconfiguretelemetrynoop", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_82", "to": "tests_test_telemetry_testconfiguretelemetrynoop", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_91", "to": "tests_test_telemetry_testconfiguretelemetrynoop", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_21", "to": "tests_test_telemetry_testconfiguretelemetrynoop_test_noop_when_env_var_missing", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_43", "to": "tests_test_telemetry_testconfiguretelemetrynoop_test_noop_when_env_var_empty_string", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_62", "to": "tests_test_telemetry_testconfiguretelemetrynoop_test_noop_when_env_var_whitespace_only", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_93", "to": "tests_test_telemetry_testconfiguretelemetryactive_test_calls_configure_azure_monitor_when_env_var_set", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_112", "to": "tests_test_telemetry_testconfiguretelemetryactive_test_sdk_exception_does_not_propagate", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_telemetry_py", "to": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation", "to": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation_test_instrument_app_called_when_connection_string_and_service_name_set", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation", "to": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation_test_configure_azure_monitor_called_when_both_env_vars_set", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation", "to": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation_test_instrument_app_not_called_when_app_is_none", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_131", "to": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_144", "to": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_144", "to": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation_test_instrument_app_called_when_connection_string_and_service_name_set", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_183", "to": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation_test_configure_azure_monitor_called_when_both_env_vars_set", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_219", "to": "tests_test_telemetry_testconfiguretelemetryfastapiinstrumentation_test_instrument_app_not_called_when_app_is_none", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_telemetry_py", "to": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation", "to": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation_test_sqlalchemy_instrument_called_with_sync_engine", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation", "to": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation_test_sqlalchemy_instrument_not_called_when_engine_is_none", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation", "to": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation_test_sqlalchemy_instrument_not_called_when_telemetry_unconfigured", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_259", "to": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_274", "to": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation_test_sqlalchemy_instrument_called_with_sync_engine", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_316", "to": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation_test_sqlalchemy_instrument_not_called_when_engine_is_none", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_354", "to": "tests_test_telemetry_testconfiguretelemetrysqlalchemyinstrumentation_test_sqlalchemy_instrument_not_called_when_telemetry_unconfigured", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_telemetry_py", "to": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation", "to": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation_test_asyncpg_instrument_called_when_telemetry_configured", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation", "to": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation_test_asyncpg_instrument_not_called_when_telemetry_unconfigured", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_392", "to": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_406", "to": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation_test_asyncpg_instrument_called_when_telemetry_configured", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_444", "to": "tests_test_telemetry_testconfiguretelemetryasyncpginstrumentation_test_asyncpg_instrument_not_called_when_telemetry_unconfigured", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_telemetry_rationale_1", "to": "bot_tests_test_telemetry_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "pages_boardpage_test_makesiegemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_make_condition", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_validate_endpoint_404", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_validate_endpoint_returns_result", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule1_inactive_member_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule1_active_member_no_error", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule2_broken_building_assignment_counts_toward_scroll_limit", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule2_broken_and_healthy_both_count_toward_scroll_limit", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule2_exceeds_scroll_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule2_within_scroll_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule3_valid_building_number", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule4_invalid_group_number", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule4_valid_group_number", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule5_position_number_exceeds_slot_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule5_valid_position_number", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule6_valid_attack_day", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule7_post_has_multiple_groups", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule7_post_has_exactly_one_group", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule8_disabled_with_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule8_reserve_with_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule8_valid_state", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule9_wrong_building_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule9_correct_building_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule10_empty_unresolved_slot", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule10_message_uses_position_name", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule10_no_warning_when_disabled", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule11_member_pref_no_match", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule13_attack_day_set", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule14_fewer_than_10_day2", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule14_ten_or_more_day2", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule15_hh_no_reserve", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule15_advanced_no_reserve", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule15_hh_reserve_configured", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule15_non_hh_no_reserve_no_warning", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule16_post_fewer_than_3_conditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_test_rule16_post_has_3_conditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_default_configs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_validation_py", "to": "tests_test_validation_session_with_siege_and_configs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_1", "to": "backend_tests_test_validation_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_member_pref_no_match", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_fewer_than_3_conditions", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_has_3_conditions", "to": "tests_test_validation_make_condition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_inactive_member_error", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_inactive_member_error", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_216", "to": "tests_test_validation_test_rule1_inactive_member_error", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_active_member_no_error", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule1_active_member_no_error", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_236", "to": "tests_test_validation_test_rule1_active_member_no_error", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_building_assignment_counts_toward_scroll_limit", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_building_assignment_counts_toward_scroll_limit", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_256", "to": "tests_test_validation_test_rule2_broken_building_assignment_counts_toward_scroll_limit", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_and_healthy_both_count_toward_scroll_limit", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_broken_and_healthy_both_count_toward_scroll_limit", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_294", "to": "tests_test_validation_test_rule2_broken_and_healthy_both_count_toward_scroll_limit", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_exceeds_scroll_count", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_exceeds_scroll_count", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_341", "to": "tests_test_validation_test_rule2_exceeds_scroll_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_within_scroll_count", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule2_within_scroll_count", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_365", "to": "tests_test_validation_test_rule2_within_scroll_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule3_valid_building_number", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_385", "to": "tests_test_validation_test_rule3_valid_building_number", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_407", "to": "tests_test_validation_test_rule3_valid_building_number", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule4_invalid_group_number", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_421", "to": "tests_test_validation_test_rule4_invalid_group_number", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule4_valid_group_number", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_438", "to": "tests_test_validation_test_rule4_valid_group_number", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule5_position_number_exceeds_slot_count", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_455", "to": "tests_test_validation_test_rule5_position_number_exceeds_slot_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule5_valid_position_number", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_472", "to": "tests_test_validation_test_rule5_valid_position_number", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule6_valid_attack_day", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule6_valid_attack_day", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_489", "to": "tests_test_validation_test_rule6_valid_attack_day", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_502", "to": "tests_test_validation_test_rule6_valid_attack_day", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule7_post_has_multiple_groups", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_515", "to": "tests_test_validation_test_rule7_post_has_multiple_groups", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule7_post_has_exactly_one_group", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_537", "to": "tests_test_validation_test_rule7_post_has_exactly_one_group", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_disabled_with_member", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_553", "to": "tests_test_validation_test_rule8_disabled_with_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_reserve_with_member", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_571", "to": "tests_test_validation_test_rule8_reserve_with_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule8_valid_state", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_589", "to": "tests_test_validation_test_rule8_valid_state", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule9_wrong_building_count", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_607", "to": "tests_test_validation_test_rule9_wrong_building_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule9_correct_building_count", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_619", "to": "tests_test_validation_test_rule9_correct_building_count", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_empty_unresolved_slot", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_644", "to": "tests_test_validation_test_rule10_empty_unresolved_slot", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_message_uses_position_name", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_661", "to": "tests_test_validation_test_rule10_message_uses_position_name", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule10_no_warning_when_disabled", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_688", "to": "tests_test_validation_test_rule10_no_warning_when_disabled", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_member_pref_no_match", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_member_pref_no_match", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_705", "to": "tests_test_validation_test_rule11_member_pref_no_match", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_733", "to": "tests_test_validation_test_rule11_no_warning_when_no_preferences", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_760", "to": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_780", "to": "tests_test_validation_test_rule13_missing_attack_day_assigned_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_attack_day_set", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule13_attack_day_set", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_796", "to": "tests_test_validation_test_rule13_attack_day_set", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule14_fewer_than_10_day2", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule14_fewer_than_10_day2", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_816", "to": "tests_test_validation_test_rule14_fewer_than_10_day2", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule14_ten_or_more_day2", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule14_ten_or_more_day2", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_831", "to": "tests_test_validation_test_rule14_ten_or_more_day2", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_no_reserve", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_no_reserve", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_846", "to": "tests_test_validation_test_rule15_hh_no_reserve", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_advanced_no_reserve", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_advanced_no_reserve", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_866", "to": "tests_test_validation_test_rule15_advanced_no_reserve", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_reserve_configured", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_hh_reserve_configured", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_886", "to": "tests_test_validation_test_rule15_hh_reserve_configured", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_non_hh_no_reserve_no_warning", "to": "pages_boardpage_test_makesiegemember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule15_non_hh_no_reserve_no_warning", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_906", "to": "tests_test_validation_test_rule15_non_hh_no_reserve_no_warning", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_fewer_than_3_conditions", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_926", "to": "tests_test_validation_test_rule16_post_fewer_than_3_conditions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_test_rule16_post_has_3_conditions", "to": "tests_test_validation_session_with_siege_and_configs", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_validation_rationale_953", "to": "tests_test_validation_test_rule16_post_has_3_conditions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_version_py", "to": "tests_test_version_reload_version_module", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_version_py", "to": "tests_test_version_test_read_backend_version_semver_only", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_version_py", "to": "tests_test_version_test_read_backend_version_with_build_info", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_version_py", "to": "tests_test_version_test_read_backend_version_missing_version_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_version_py", "to": "tests_test_version_test_read_backend_version_build_info_with_missing_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_version_py", "to": "tests_test_version_test_get_version_returns_200_with_expected_keys", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_version_py", "to": "tests_test_version_test_get_version_backend_version_has_build_suffix", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_version_py", "to": "tests_test_version_test_get_version_backend_version_clean_in_local_dev", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_version_py", "to": "tests_test_version_test_get_version_git_sha_field_preserved", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "backend_tests_test_version_py", "to": "tests_test_version_test_get_version_bot_unreachable_returns_none", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_1", "to": "backend_tests_test_version_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_17", "to": "tests_test_version_reload_version_module", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_30", "to": "tests_test_version_test_read_backend_version_semver_only", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_43", "to": "tests_test_version_test_read_backend_version_semver_only", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_54", "to": "tests_test_version_test_read_backend_version_with_build_info", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_71", "to": "tests_test_version_test_read_backend_version_missing_version_file", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_88", "to": "tests_test_version_test_read_backend_version_build_info_with_missing_file", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_110", "to": "tests_test_version_test_get_version_returns_200_with_expected_keys", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_129", "to": "tests_test_version_test_get_version_backend_version_has_build_suffix", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_145", "to": "tests_test_version_test_get_version_backend_version_clean_in_local_dev", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_160", "to": "tests_test_version_test_get_version_git_sha_field_preserved", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_version_rationale_176", "to": "tests_test_version_test_get_version_bot_unreachable_returns_none", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_discord_client_py", "to": "app_discord_client_siegebot", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_siegebot", "to": "tests_conftest_fakeclient_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_siegebot", "to": "app_discord_client_siegebot_on_ready", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_siegebot", "to": "app_discord_client_siegebot_require_guild", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_siegebot", "to": "app_http_api_post_message", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_siegebot", "to": "app_http_api_post_image", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_rationale_7", "to": "app_discord_client_siegebot", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_notifyrequest", "to": "app_discord_client_siegebot", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_http_api_postmessagerequest", "to": "app_discord_client_siegebot", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_main_main", "to": "app_discord_client_siegebot", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_http_api_post_message", "to": "app_discord_client_siegebot_require_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_post_image", "to": "app_discord_client_siegebot_require_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_rationale_34", "to": "app_http_api_post_message", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_discord_client_rationale_47", "to": "app_http_api_post_image", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "app_http_api_set_bot", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "app_http_api_get_bot", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "app_http_api_verify_api_key", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "app_http_api_notifyrequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "app_http_api_postmessagerequest", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "app_http_api_version", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "app_http_api_notify", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "app_http_api_post_message", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "app_http_api_post_image", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_http_api_py", "to": "app_http_api_get_guild_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_main", "to": "app_http_api_set_bot", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "app_http_api_notify", "to": "app_http_api_get_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_post_message", "to": "app_http_api_get_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_post_image", "to": "app_http_api_get_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_rationale_37", "to": "app_http_api_verify_api_key", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_version", "to": "api_version_getversion", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_rationale_58", "to": "app_http_api_version", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_version", "to": "frontend_src_api_client_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_version", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_version", "to": "api_types_versioninfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_version", "to": "api_version_useversion", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_systempage_systempage", "to": "app_http_api_version", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_rationale_87", "to": "app_http_api_notify", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_rationale_101", "to": "app_http_api_post_message", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_rationale_116", "to": "app_http_api_post_image", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_http_api_rationale_140", "to": "app_http_api_get_guild_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_main_py", "to": "app_main_run_http_server", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_main_py", "to": "app_main_run_discord_client", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_app_main_py", "to": "app_main_main", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_main", "to": "app_main_run_http_server", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_rationale_19", "to": "app_main_run_http_server", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_main", "to": "app_main_run_discord_client", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_rationale_31", "to": "app_main_run_discord_client", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_rationale_37", "to": "app_main_main", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "app_main_main", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "app_main_main", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_main", "to": "excel_import_import_excel_collect_xlsm_files", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "app_main_main", "to": "excel_import_import_excel_import_file", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_conftest_py", "to": "tests_conftest_fakeclient", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_conftest_py", "to": "tests_conftest_faketextchannel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_conftest_py", "to": "tests_conftest_fakehttpexception", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_conftest_py", "to": "tests_conftest_fakenotfound", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_conftest_py", "to": "tests_conftest_find", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_fakeclient", "to": "tests_conftest_fakeclient_init", "label": "method", "title": "method [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_fakehttpexception", "to": "exception", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_conftest_fakenotfound", "to": "tests_conftest_fakehttpexception", "label": "inherits", "title": "inherits [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_discord_client_make_bot", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_discord_client_make_text_channel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_discord_client_make_guild", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_discord_client_test_send_dm_finds_member_and_sends", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_discord_client_test_send_dm_case_insensitive", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_discord_client_test_send_dm_raises_value_error_if_member_not_found", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_discord_client_test_post_message_finds_channel_and_sends", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_discord_client_test_post_message_raises_value_error_if_channel_not_found", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_discord_client_test_post_image_returns_cdn_url", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_discord_client_py", "to": "tests_test_discord_client_test_get_members_returns_correct_dict_format", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_rationale_1", "to": "bot_tests_test_discord_client_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_send_dm_finds_member_and_sends", "to": "tests_test_discord_client_make_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_send_dm_case_insensitive", "to": "tests_test_discord_client_make_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_send_dm_raises_value_error_if_member_not_found", "to": "tests_test_discord_client_make_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_post_message_finds_channel_and_sends", "to": "tests_test_discord_client_make_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_post_message_raises_value_error_if_channel_not_found", "to": "tests_test_discord_client_make_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_post_image_returns_cdn_url", "to": "tests_test_discord_client_make_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_get_members_returns_correct_dict_format", "to": "tests_test_discord_client_make_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_rationale_12", "to": "tests_test_discord_client_make_bot", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_post_message_finds_channel_and_sends", "to": "tests_test_discord_client_make_text_channel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_post_image_returns_cdn_url", "to": "tests_test_discord_client_make_text_channel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_send_dm_finds_member_and_sends", "to": "tests_test_discord_client_make_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_send_dm_case_insensitive", "to": "tests_test_discord_client_make_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_send_dm_raises_value_error_if_member_not_found", "to": "tests_test_discord_client_make_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_post_message_finds_channel_and_sends", "to": "tests_test_discord_client_make_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_post_message_raises_value_error_if_channel_not_found", "to": "tests_test_discord_client_make_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_post_image_returns_cdn_url", "to": "tests_test_discord_client_make_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_discord_client_test_get_members_returns_correct_dict_format", "to": "tests_test_discord_client_make_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_http_api_patch_api_key", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_patch_guild_id", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_make_mock_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_make_mock_bot_with_guild", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_test_get_guild_member_found_returns_200_with_member_data", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_test_get_guild_member_roles_exclude_everyone", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_test_get_guild_member_not_found_returns_200_is_member_false", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_test_get_guild_member_discord_http_exception_returns_503", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_test_get_guild_member_guild_none_returns_503", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_test_get_guild_member_bot_none_returns_503", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_test_get_guild_member_no_auth_returns_403", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_get_guild_member_py", "to": "tests_test_get_guild_member_test_get_guild_member_wrong_api_key_returns_401", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_1", "to": "bot_tests_test_get_guild_member_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_31", "to": "tests_test_get_guild_member_patch_guild_id", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_test_get_guild_member_found_returns_200_with_member_data", "to": "tests_test_get_guild_member_make_mock_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_test_get_guild_member_roles_exclude_everyone", "to": "tests_test_get_guild_member_make_mock_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_test_get_guild_member_wrong_api_key_returns_401", "to": "tests_test_get_guild_member_make_mock_member", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_46", "to": "tests_test_get_guild_member_make_mock_member", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_test_get_guild_member_found_returns_200_with_member_data", "to": "tests_test_get_guild_member_make_mock_bot_with_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_test_get_guild_member_roles_exclude_everyone", "to": "tests_test_get_guild_member_make_mock_bot_with_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_test_get_guild_member_not_found_returns_200_is_member_false", "to": "tests_test_get_guild_member_make_mock_bot_with_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_test_get_guild_member_discord_http_exception_returns_503", "to": "tests_test_get_guild_member_make_mock_bot_with_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_test_get_guild_member_guild_none_returns_503", "to": "tests_test_get_guild_member_make_mock_bot_with_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_test_get_guild_member_wrong_api_key_returns_401", "to": "tests_test_get_guild_member_make_mock_bot_with_guild", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_76", "to": "tests_test_get_guild_member_make_mock_bot_with_guild", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_90", "to": "tests_test_get_guild_member_test_get_guild_member_found_returns_200_with_member_data", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_120", "to": "tests_test_get_guild_member_test_get_guild_member_roles_exclude_everyone", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_145", "to": "tests_test_get_guild_member_test_get_guild_member_not_found_returns_200_is_member_false", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_167", "to": "tests_test_get_guild_member_test_get_guild_member_discord_http_exception_returns_503", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_189", "to": "tests_test_get_guild_member_test_get_guild_member_guild_none_returns_503", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_203", "to": "tests_test_get_guild_member_test_get_guild_member_bot_none_returns_503", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_219", "to": "tests_test_get_guild_member_test_get_guild_member_no_auth_returns_403", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_get_guild_member_rationale_229", "to": "tests_test_get_guild_member_test_get_guild_member_wrong_api_key_returns_401", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_patch_api_key", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_make_mock_bot", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_version_returns_200", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_version_bare_semver_in_local_dev", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_version_includes_build_suffix_when_env_vars_set", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_version_unknown_when_version_file_missing", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_version_bare_semver_when_env_vars_are_unknown_literal", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_health_no_bot", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_health_with_bot_connected", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_notify_success", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_notify_bot_not_ready_returns_503", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_notify_member_not_found_returns_404", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_post_message_success", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_post_message_bot_not_ready_returns_503", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_post_image_success", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_post_image_bot_not_ready_returns_503", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_get_members_returns_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "bot_tests_test_http_api_py", "to": "tests_test_http_api_test_get_members_bot_not_ready_returns_503", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_rationale_1", "to": "bot_tests_test_http_api_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_rationale_19", "to": "tests_test_http_api_patch_api_key", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_test_health_with_bot_connected", "to": "tests_test_http_api_make_mock_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_test_notify_success", "to": "tests_test_http_api_make_mock_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_test_notify_member_not_found_returns_404", "to": "tests_test_http_api_make_mock_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_test_post_message_success", "to": "tests_test_http_api_make_mock_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_test_post_image_success", "to": "tests_test_http_api_make_mock_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_test_get_members_returns_list", "to": "tests_test_http_api_make_mock_bot", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_rationale_45", "to": "tests_test_http_api_test_version_returns_200", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_rationale_55", "to": "tests_test_http_api_test_version_bare_semver_in_local_dev", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_rationale_75", "to": "tests_test_http_api_test_version_includes_build_suffix_when_env_vars_set", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_rationale_95", "to": "tests_test_http_api_test_version_unknown_when_version_file_missing", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_http_api_rationale_113", "to": "tests_test_http_api_test_version_bare_semver_when_env_vars_are_unknown_literal", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_tailwind_config_ts", "to": "frontend_src_api_config_ts", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_vitest_config_ts", "to": "frontend_vite_config_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_apicreatesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_apiaddbuilding", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_apicreatemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "api_types_siegemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_buildingstab", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_poststab", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_search", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_roleselect", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_firstpositionspan", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_positioncell", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_chevron", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_board_spec_ts", "to": "e2e_board_spec_autofillbtn", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "e2e_board_spec_apicreatesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "e2e_board_spec_apiaddbuilding", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "e2e_board_spec_apicreatemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "e2e_board_spec_buildingstab", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "frontend_src_api_posts_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "api_posts_getposts", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "frontend_src_api_sieges_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "api_sieges_getsiegememberpreferences", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "api_sieges_previewpostsuggestions", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "frontend_src_api_board_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "api_posts_updatepost", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "api_types_buildingresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "api_types_siegemember", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "api_types_postcondition", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "frontend_src_components_postsuggestionsmodal_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "frontend_src_lib_post_priority_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "lib_post_priority_prioritylabel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "lib_post_priority_prioritybadgecolor", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "pages_boardpage_role_labels", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "pages_boardpage_role_priority", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "pages_boardpage_role_badge_colors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "pages_boardpage_power_labels", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "components_poststab_memberwithmatches", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "components_poststab_duplicateconditionmap", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "components_poststab_buildduplicateconditionmap", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "components_poststab_findpostposition", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "components_poststab_memberassignrow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "e2e_board_spec_poststab", "to": "pages_postspage_postrow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "e2e_board_spec_poststab", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "e2e_board_spec_positioncell", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "e2e_board_spec_chevron", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_members_spec_ts", "to": "e2e_members_spec_ensurememberslotsavailable", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_members_spec_ts", "to": "ui_checkbox_checkbox", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_members_spec_ts", "to": "e2e_members_spec_activecheckbox", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_members_spec_ts", "to": "e2e_members_spec_editlinks", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "api_types_siegemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "e2e_siege_lifecycle_spec_dateinput", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "e2e_siege_lifecycle_spec_url", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "e2e_siege_lifecycle_spec_tabstrip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "e2e_siege_lifecycle_spec_boardlink", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "pages_boardpage_test_memberrows", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "e2e_siege_lifecycle_spec_activebadge", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_e2e_siege_lifecycle_spec_ts", "to": "e2e_siege_lifecycle_spec_errorbadge", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "e2e_siege_lifecycle_spec_boardlink", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "frontend_src_components_layout_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "frontend_src_components_requireauth_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "frontend_src_components_siegelayout_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "pages_loginpage_loginpage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "frontend_src_pages_landingpage_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "pages_landingpage_landingorsieges", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "pages_memberspage_memberspage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "frontend_src_pages_memberdetailpage_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "frontend_src_pages_siegespage_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "pages_siegecreatepage_siegecreatepage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "frontend_src_pages_siegesettingspage_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "pages_boardpage_boardpage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "pages_postspage_postspage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "api_types_siegemember", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "pages_comparisonpage_comparisonpage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "frontend_src_pages_postprioritiespage_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "pages_systempage_systempage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_app_tsx", "to": "src_app_app", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_main_tsx", "to": "frontend_src_app_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_main_tsx", "to": "frontend_src_context_authcontext_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_main_tsx", "to": "context_authcontext_authprovider", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_main_tsx", "to": "src_main_queryclient", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_board_ts", "to": "frontend_src_api_client_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_board_ts", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_board_ts", "to": "api_types_boardresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_board_ts", "to": "api_types_positionresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_board_ts", "to": "api_board_getboard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_board_ts", "to": "api_posts_updatepost", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "frontend_src_api_board_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_api_board_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "api_board_getboard", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "api_board_getboard", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_changelog_ts", "to": "frontend_src_api_client_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_changelog_ts", "to": "api_changelog_changelogstatus", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_changelog_ts", "to": "api_changelog_fetchchangelogstatus", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_changelog_ts", "to": "api_changelog_markchangelogseen", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_changelogdropdown_tsx", "to": "frontend_src_api_changelog_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_changelogdropdown_tsx", "to": "api_changelog_fetchchangelogstatus", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_changelogdropdown_tsx", "to": "api_changelog_markchangelogseen", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_client_ts", "to": "api_client_apiclient", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_config_ts", "to": "frontend_src_api_client_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "frontend_src_api_client_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_posts_ts", "to": "frontend_src_api_client_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "frontend_src_api_client_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "frontend_src_api_client_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_loginpage_loginpage", "to": "frontend_src_api_client_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_config_ts", "to": "api_config_appconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_config_ts", "to": "api_config_fetchconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "frontend_src_api_config_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "api_config_fetchconfig", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_types_member", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_types_postcondition", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_types_memberroleinfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_types_syncpreviewresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_types_syncapplyitem", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_getmember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_createmember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_updatemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_deletemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_getmemberpreferences", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_updatememberpreferences", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_getpostconditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_getmemberroles", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_previewdiscordsync", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_members_ts", "to": "api_members_applydiscordsync", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "frontend_src_api_members_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "frontend_src_api_members_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "frontend_src_api_members_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "frontend_src_api_members_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_api_members_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "frontend_src_api_members_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "api_members_getmember", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "api_members_createmember", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "api_members_updatemember", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_members_updatemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "api_members_updatemember", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "api_members_getmemberpreferences", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_members_getmemberpreferences", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "api_members_updatememberpreferences", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "api_members_getpostconditions", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "api_members_getpostconditions", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "api_members_getpostconditions", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_members_getpostconditions", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "api_members_previewdiscordsync", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_members_previewdiscordsync", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "api_members_applydiscordsync", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_notifications_notifysiegemembers", "to": "api_types_notifyresponse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_notifications_notifysiegemembers", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_notifications_notifysiegemembers", "to": "api_types_notificationbatchresponse", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_notifications_getnotificationbatch", "to": "api_types_notificationresultitem", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_notifications_getnotificationbatch", "to": "api_types_notificationbatchresponse", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_notifications_getnotificationbatch", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_notifications_posttochannel", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_posts_ts", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_posts_ts", "to": "api_types_post", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_posts_ts", "to": "api_posts_postpriorityconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_posts_ts", "to": "api_posts_getpostpriorities", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_posts_ts", "to": "api_posts_updatepostpriority", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_posts_ts", "to": "api_posts_getposts", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_posts_ts", "to": "api_posts_updatepost", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_posts_ts", "to": "api_posts_setpostconditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "frontend_src_api_posts_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "frontend_src_api_posts_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_api_posts_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_posts_postpriorityconfig", "to": "api_posts_updatepostpriority", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_parsedmember", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "api_posts_postpriorityconfig", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "pages_boardpage_boardpage", "to": "api_posts_getpostpriorities", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "api_posts_getpostpriorities", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "api_posts_updatepostpriority", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "api_posts_getposts", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "api_posts_updatepost", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "api_posts_setpostconditions", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_siege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_siegestatus", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_building", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_buildingtype", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_buildingtypeinfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_memberpreferencesummary", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "frontend_src_api_sieges_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_validationresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_autofillpreviewresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_autofillapplyresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_attackdaypreviewresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_attackdayapplyresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_comparisonresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_postsuggestionpreviewresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_types_postsuggestionapplyresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_getsieges", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_getsiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_createsiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_updatesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_deletesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_activatesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_completesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_clonesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_reopensiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_validatesiege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_getbuildings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_createbuilding", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_updatebuilding", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_deletebuilding", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_getsiegemembers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_getsiegememberpreferences", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_previewautofill", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_applyautofill", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_previewattackday", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_applyattackday", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_comparesieges", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_comparesiegesspecific", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_previewpostsuggestions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_sieges_ts", "to": "api_sieges_applypostsuggestions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "frontend_src_api_sieges_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "frontend_src_api_sieges_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "frontend_src_api_sieges_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "frontend_src_api_sieges_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_api_sieges_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "frontend_src_api_sieges_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "frontend_src_api_sieges_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "frontend_src_api_sieges_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "api_sieges_getsieges", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "api_sieges_getsieges", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "api_sieges_getsieges", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "api_sieges_getsiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "api_sieges_getsiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "api_sieges_getsiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "api_sieges_getsiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_getsiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "api_sieges_createsiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_updatesiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_deletesiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_activatesiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_completesiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "api_sieges_clonesiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_clonesiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_reopensiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "api_sieges_validatesiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_validatesiege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_updatebuilding", "to": "api_sieges_getbuildings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_deletebuilding", "to": "api_sieges_getbuildings", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_getbuildings", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_updatebuilding", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_updatebuilding", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "pages_boardpage_boardpage", "to": "api_sieges_getsiegemembers", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "api_sieges_getsiegemembers", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_sieges_getsiegemembers", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "api_sieges_getsiegememberpreferences", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_getsiegememberpreferences", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "pages_boardpage_boardpage", "to": "api_sieges_previewautofill", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_previewautofill", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "pages_boardpage_boardpage", "to": "api_sieges_applyautofill", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "api_sieges_previewattackday", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "api_sieges_applyattackday", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "api_sieges_comparesieges", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "api_sieges_comparesiegesspecific", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "api_sieges_previewpostsuggestions", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "api_sieges_applypostsuggestions", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_sieges_applypostsuggestions", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_memberrole", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_siegestatus", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_buildingtype", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_syncmatch", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_syncpreviewresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_syncapplyitem", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_postcondition", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_siege", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_building", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_memberpreferencesummary", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_positionresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_buildinggroupresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_buildingresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_boardresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_validationissue", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_validationresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_autofillassignment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_autofillpreviewresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_autofillapplyresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_attackdayassignment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_attackdaypreviewresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_attackdayapplyresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_positionkey", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_memberdiff", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_comparisonresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_notificationresultitem", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_notificationbatchresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_notifyresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_generateimagesresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_versioninfo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_buildingtypeinfo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_memberroleinfo", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_postsuggestionskipreason", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_postsuggestionentry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_postsuggestionpreviewresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_postsuggestionstalereason", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_postsuggestionstaleentry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_api_types_ts", "to": "api_types_postsuggestionapplyresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_buildingcolors_ts", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_handlers_ts", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_siegespage_test_tsx", "to": "frontend_src_api_types_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "api_types_memberrole", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "api_types_memberrole", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_generateimagesresponse", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notifyresponse", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_member", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_syncmatch", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_syncpreviewresponse", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "api_types_memberrole", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "api_types_siegestatus", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notifyresponse", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_siege", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "api_types_siegestatus", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_lib_buildingcolors_ts", "to": "api_types_buildingtype", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "api_types_buildingtype", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_handlers_ts", "to": "api_types_buildingtype", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_building", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_boardresponse", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_positionresponse", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_buildinggroupresponse", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_buildingresponse", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "api_types_buildingtype", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "api_types_member", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "api_types_member", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notifyresponse", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_postcondition", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_siegemember", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "api_types_member", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "api_types_syncmatch", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "api_types_syncapplyitem", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "api_types_postcondition", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "api_types_postcondition", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_postcondition", "to": "lib_postconditiontypes_test_ids", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_postcondition", "to": "lib_postconditiontypes_test_unique", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_postcondition", "to": "lib_postconditiontypes_test_count", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "api_types_postcondition", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_postcondition", "to": "api_types_post", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "api_types_postcondition", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "api_types_postcondition", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "api_types_postcondition", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "api_types_postcondition", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "api_types_postcondition", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "api_types_postcondition", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "api_types_siege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "api_types_siege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "api_types_siege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_types_siege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_siegespage_test_tsx", "to": "api_types_siege", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notifyresponse", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_siege", "to": "api_types_notificationbatchresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_siege", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_siege", "to": "api_types_post", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "api_types_siege", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_building", "to": "api_types_positionresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_building", "to": "api_types_buildinggroupresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_building", "to": "api_types_buildingresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notifyresponse", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_post", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "api_types_building", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_siegemember", "to": "api_types_memberpreferencesummary", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "api_types_positionresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "api_types_positionresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "api_types_positionresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "api_types_buildinggroupresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "api_types_buildingresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "api_types_buildingresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "api_types_boardresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "api_types_boardresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_generateimagesresponse", "to": "api_types_boardresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notifyresponse", "to": "api_types_boardresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "api_types_boardresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "api_types_boardresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "pages_boardpage_boardpage", "to": "api_types_siegemember", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "api_types_attackdaypreviewresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "frontend_src_components_ui_table_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_table_table", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_table_tablebody", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_table_tablecell", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_table_tablehead", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_table_tablerow", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_checkbox_checkbox", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "frontend_src_components_ui_select_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_select_selectcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_select_selectitem", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_select_selecttrigger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "frontend_src_components_ui_dialog_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_dialog_dialogcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_dialog_dialogheader", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_dialog_dialogtitle", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_dialog_dialogfooter", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "ui_dialog_dialogdescription", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_siegememberspage_attackdayselect", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "api_types_siegemember", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "api_types_siegemember", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_boardpage_test_makesiegemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_siegememberspage_test_makepreview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_siegememberspage_test_registerhandlers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_siegememberspage_test_renderpage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_siegememberspage_test_openpreviewdialog", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_boardpage_test_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_siegememberspage_test_allcells", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_siegememberspage_test_namecells", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_siegememberspage_test_day2header", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_systempage_datarow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_siegemember", "to": "pages_siegememberspage_test_day1names", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_generateimagesresponse", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notifyresponse", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationresultitem", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "api_types_notificationbatchresponse", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedmember", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "api_types_siegemember", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "pages_postspage_postspage", "to": "api_types_post", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "api_types_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "api_types_post", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_parsedmember", "to": "api_types_post", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedassignment", "to": "api_types_post", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedreserve", "to": "api_types_post", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconfig", "to": "api_types_post", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_parsedpostconditions", "to": "api_types_post", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_importstats", "to": "api_types_post", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_types_validationissue", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "api_types_validationresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_types_validationresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "api_types_autofillpreviewresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "api_types_positionkey", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "api_types_memberdiff", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_types_notificationresultitem", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notificationresultitem", "to": "api_types_notificationbatchresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_types_notificationbatchresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "api_types_notifyresponse", "to": "api_types_notificationbatchresponse", "label": "uses", "title": "uses [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "api_types_notifyresponse", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_handlers_ts", "to": "api_types_buildingtypeinfo", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "api_types_postsuggestionentry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "api_types_postsuggestionpreviewresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "api_types_postsuggestionpreviewresult", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "api_types_postsuggestionstaleentry", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_systempage_systempage", "to": "api_version_useversion", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "components_carousel_carouselslide", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "components_carousel_carouselslide", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "components_carousel_carouselprops", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "pages_landingpage_colors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "components_carousel_carousel", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "pages_landingpage_slides", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "components_carousel_test_rendercarousel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "components_carousel_test_track", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "components_carousel_test_dot0", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "pages_boardpage_test_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_carousel", "to": "components_carousel_test_viewport", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_changelogdropdown_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_changelogdropdown_tsx", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_changelogdropdown_tsx", "to": "frontend_src_components_ui_dropdown_menu_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_changelogdropdown_tsx", "to": "ui_dropdown_menu_dropdownmenucontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_changelogdropdown_tsx", "to": "components_changelogdropdown_hasunread", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "frontend_src_components_changelogdropdown_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_changelogdropdown_test_tsx", "to": "frontend_src_components_changelogdropdown_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "frontend_src_components_ui_dialog_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_dialog_dialogcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_dialog_dialogheader", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_dialog_dialogtitle", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_dialog_dialogfooter", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "frontend_src_components_ui_table_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_table_table", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_table_tablebody", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_table_tablecell", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_table_tablehead", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_table_tablerow", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "frontend_src_components_ui_badge_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_badge_badge", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "ui_checkbox_checkbox", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "components_groupbytoggle_props", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "components_discordsyncmodal_confidencevariant", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_discordsyncmodal_tsx", "to": "components_discordsyncmodal_confidence_label", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "frontend_src_components_discordsyncmodal_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_groupbytoggle_groupbytoggle", "to": "components_groupbytoggle_props", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_groupbytoggle_props", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_groupbytoggle_groupbytoggle", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_groupbytoggle_groupbytoggle", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_groupbytoggle_groupbytoggle", "to": "frontend_src_lib_grouppostconditions_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_groupbytoggle_groupbytoggle", "to": "lib_grouppostconditions_groupbymode", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "components_groupbytoggle_groupbytoggle", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "components_groupbytoggle_groupbytoggle", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "components_groupbytoggle_groupbytoggle", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbytoggle_test_tsx", "to": "components_groupbytoggle_groupbytoggle", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "frontend_src_context_authcontext_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "context_authcontext_useauth", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "components_layout_navlinkclass", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "components_layout_layout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_layout_tsx", "to": "components_layout_test_renderlayout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_layout_navlinkclass", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_layout_layout", "to": "context_authcontext_useauth", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postrow", "to": "components_poststab_findpostposition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "frontend_src_components_ui_dialog_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "ui_dialog_dialogcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "ui_dialog_dialogheader", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "ui_dialog_dialogtitle", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_outcomefilter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_classification", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_priority_meta", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_getprioritymeta", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_skip_reason_label", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_stale_reason_label", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_tileconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_classify", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_pill", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_changecell", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_skipicon", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_conditioncell", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_summarytile", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_stateloading", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_stateempty", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_statestaleconflict", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_expirycountdown", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_useexpirycountdown", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "pages_siegememberspage_test_makepreview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_rendermodal", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_rows", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "pages_systempage_datarow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "ui_checkbox_checkbox", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_twosuggestions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "pages_boardpage_test_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_poststab_test_applybtn", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_onclose", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_regeneratebtns", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_skippedtile", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_alltile", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_optimalpreview", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_tworows", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_applyremainingbtn", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_expiresat", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_subtitle", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_slidersicons", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_postsuggestionsmodal_tsx", "to": "components_postsuggestionsmodal_test_infoicons", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_postsuggestionsmodal_changecell", "to": "components_postsuggestionsmodal_classify", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_postsuggestionsmodal_pill", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_postsuggestionsmodal_summarytile", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_requireauth_tsx", "to": "frontend_src_context_authcontext_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_requireauth_tsx", "to": "context_authcontext_useauth", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_requireauth_tsx", "to": "components_requireauth_requireauth", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_requireauth_requireauth", "to": "context_authcontext_useauth", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "components_siegelayout_siegelayout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "components_layout_test_renderlayout", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "components_siegelayout_test_postslink", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_siegelayout_tsx", "to": "components_siegelayout_test_settingslink", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_badge_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_badge_tsx", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_badge_tsx", "to": "ui_badge_badgevariants", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_badge_tsx", "to": "ui_badge_badgeprops", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_badge_tsx", "to": "ui_badge_badge", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "frontend_src_components_ui_badge_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "frontend_src_components_ui_badge_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "frontend_src_components_ui_badge_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_components_ui_badge_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "frontend_src_components_ui_badge_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "frontend_src_components_ui_badge_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ui_badge_badge", "to": "ui_badge_badgevariants", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "ui_badge_badge", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_badge_badge", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "ui_badge_badge", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "ui_badge_badge", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "ui_badge_badge", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "ui_badge_badge", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ui_badge_badge", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_button_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_button_tsx", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_button_tsx", "to": "ui_button_buttonvariants", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_button_tsx", "to": "ui_button_buttonprops", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_button_tsx", "to": "ui_button_button", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "frontend_src_components_ui_button_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "ui_button_button", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ui_checkbox_checkbox", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ui_checkbox_checkbox", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_checkbox_checkbox", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_checkbox_checkbox", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "ui_checkbox_checkbox", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "ui_checkbox_checkbox", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dialog_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dialog_tsx", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dialog_tsx", "to": "ui_dialog_dialogoverlay", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dialog_tsx", "to": "ui_dialog_dialogcontent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dialog_tsx", "to": "ui_dialog_dialogheader", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dialog_tsx", "to": "ui_dialog_dialogfooter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dialog_tsx", "to": "ui_dialog_dialogtitle", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dialog_tsx", "to": "ui_dialog_dialogdescription", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "frontend_src_components_ui_dialog_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "frontend_src_components_ui_dialog_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "frontend_src_components_ui_dialog_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "ui_dialog_dialogcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_dialog_dialogcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "ui_dialog_dialogcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "ui_dialog_dialogheader", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_dialog_dialogheader", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "ui_dialog_dialogheader", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ui_dialog_dialogheader", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "ui_dialog_dialogfooter", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_dialog_dialogfooter", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "ui_dialog_dialogfooter", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ui_dialog_dialogfooter", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "ui_dialog_dialogtitle", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_dialog_dialogtitle", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "ui_dialog_dialogtitle", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "ui_dialog_dialogdescription", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_dialog_dialogdescription", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "ui_dialog_dialogdescription", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "ui_dropdown_menu_dropdownmenusubtrigger", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "ui_dropdown_menu_dropdownmenusubcontent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "ui_dropdown_menu_dropdownmenucontent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "ui_dropdown_menu_dropdownmenuitem", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "ui_dropdown_menu_dropdownmenucheckboxitem", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "ui_dropdown_menu_dropdownmenuradioitem", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "ui_dropdown_menu_dropdownmenulabel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "ui_dropdown_menu_dropdownmenuseparator", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_dropdown_menu_tsx", "to": "ui_dropdown_menu_dropdownmenushortcut", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "ui_dropdown_menu_dropdownmenushortcut", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_input_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_input_tsx", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_input_tsx", "to": "ui_input_inputprops", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_input_tsx", "to": "ui_input_input", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "frontend_src_components_ui_input_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "frontend_src_components_ui_input_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "frontend_src_components_ui_input_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_components_ui_input_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "frontend_src_components_ui_input_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "frontend_src_components_ui_input_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "ui_input_input", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_input_input", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "ui_input_input", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "ui_input_input", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "ui_input_input", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "ui_input_input", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_label_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_label_tsx", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_label_tsx", "to": "ui_label_label", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "frontend_src_components_ui_label_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "frontend_src_components_ui_label_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "frontend_src_components_ui_label_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_components_ui_label_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "frontend_src_components_ui_label_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "frontend_src_components_ui_label_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "ui_label_label", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_label_label", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_label_label", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "ui_label_label", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "ui_label_label", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "ui_label_label", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_select_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_select_tsx", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_select_tsx", "to": "ui_select_selecttrigger", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_select_tsx", "to": "ui_select_selectscrollupbutton", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_select_tsx", "to": "ui_select_selectscrolldownbutton", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_select_tsx", "to": "ui_select_selectcontent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_select_tsx", "to": "ui_select_selectlabel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_select_tsx", "to": "ui_select_selectitem", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_select_tsx", "to": "ui_select_selectseparator", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "frontend_src_components_ui_select_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "frontend_src_components_ui_select_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "frontend_src_components_ui_select_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "frontend_src_components_ui_select_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "frontend_src_components_ui_select_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "ui_select_selecttrigger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_select_selecttrigger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_select_selecttrigger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "ui_select_selecttrigger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "ui_select_selecttrigger", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "ui_select_selectcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_select_selectcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_select_selectcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "ui_select_selectcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "ui_select_selectcontent", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "ui_select_selectitem", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "ui_select_selectitem", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_select_selectitem", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "ui_select_selectitem", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "ui_select_selectitem", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_table_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_table_tsx", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_table_tsx", "to": "ui_table_table", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_table_tsx", "to": "ui_table_tablehead", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_table_tsx", "to": "ui_table_tablebody", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_table_tsx", "to": "ui_table_tablefooter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_table_tsx", "to": "ui_table_tablerow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_table_tsx", "to": "ui_table_tablecell", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_table_tsx", "to": "ui_table_tablecaption", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "frontend_src_components_ui_table_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "frontend_src_components_ui_table_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "frontend_src_components_ui_table_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_table_table", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "ui_table_table", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "ui_table_table", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_table_tablebody", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "ui_table_tablebody", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "ui_table_tablebody", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_table_tablerow", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "ui_table_tablerow", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "ui_table_tablerow", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_table_tablehead", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "ui_table_tablehead", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "ui_table_tablehead", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "ui_table_tablecell", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "ui_table_tablecell", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "ui_table_tablecell", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_textarea_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_textarea_tsx", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_textarea_tsx", "to": "ui_textarea_textareaprops", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_components_ui_textarea_tsx", "to": "ui_textarea_textarea", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "context_authcontext_authuser", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "context_authcontext_authcontextvalue", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "context_authcontext_authcontext", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "context_authcontext_authprovider", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "context_authcontext_useauth", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "frontend_src_context_authcontext_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_context_authcontext_tsx", "to": "context_authcontext_test_testconsumer", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_utils_ts", "to": "context_authcontext_authprovider", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "context_authcontext_useauth", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_landingpage_landingorsieges", "to": "context_authcontext_useauth", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "context_authcontext_test_testconsumer", "to": "context_authcontext_useauth", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_buildingcolors_ts", "to": "lib_buildingcolors_buildingcolorclass", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_buildingcolors_ts", "to": "lib_buildingcolors_building_labels", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "frontend_src_lib_buildingcolors_ts", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "frontend_src_lib_buildingcolors_ts", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "lib_buildingcolors_building_labels", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "lib_buildingcolors_building_labels", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_groupbymode", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_conditiongroup", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_groupbylevel", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_groupbytype", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_usegroupbypreference_ts", "to": "frontend_src_lib_grouppostconditions_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "frontend_src_lib_grouppostconditions_ts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "frontend_src_lib_grouppostconditions_ts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_lib_grouppostconditions_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_test_makecond", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_test_mixed", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_test_groups", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_test_levels", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_test_descriptions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_test_l1only", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_test_types", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_test_headings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_test_factions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_grouppostconditions_ts", "to": "lib_grouppostconditions_test_unknown", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postrow", "to": "frontend_src_lib_grouppostconditions_ts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_usegroupbypreference_ts", "to": "lib_grouppostconditions_groupbymode", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "lib_grouppostconditions_groupbymode", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_post_priority_ts", "to": "lib_post_priority_prioritylabel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_post_priority_ts", "to": "lib_post_priority_prioritybadgecolor", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "lib_post_priority_prioritylabel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_usegroupbypreference_ts", "to": "lib_usegroupbypreference_valid_modes", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "frontend_src_lib_usegroupbypreference_ts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "frontend_src_lib_usegroupbypreference_ts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_lib_usegroupbypreference_ts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postrow", "to": "frontend_src_lib_usegroupbypreference_ts", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_utils_ts", "to": "lib_utils_cn", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_systempage_systempage", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_utils_ts", "to": "test_utils_testrenderoptions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_lib_utils_ts", "to": "test_utils_renderwithproviders", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_changelogdropdown_test_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_loginpage_loginpage", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_siegespage_test_tsx", "to": "frontend_src_lib_utils_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_systempage_systempage", "to": "lib_utils_cn", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_positiontag", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_systempage_sectionpanel", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_systempage_datarow", "to": "lib_utils_cn", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_role_labels", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "pages_boardpage_role_labels", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_role_priority", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_role_colors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_role_badge_colors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_role_chip_colors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_power_labels", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "pages_boardpage_power_labels", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_building_type_order", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_draggablememberrow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_memberdragoverlay", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_rolefilter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_role_filter_options", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_memberbucket", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_buildingtablerow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_buildingtypesection", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_conditionaldndcontext", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_boardpage", "to": "pages_boardpage_activetab", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "pages_boardpage_boardpage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_boardpage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "pages_comparisonpage_formatposition", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_positiontag", "to": "pages_comparisonpage_formatposition", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "pages_comparisonpage_positiontag", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_comparisonpage_comparisonpage", "to": "pages_comparisonpage_memberpositionscell", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "pages_landingpage_landingorsieges", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "pages_landingpage_slides", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "pages_landingpage_shieldicon", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "pages_landingpage_githubicon", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "pages_landingpage_checkicon", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "pages_landingpage_externallinkicon", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "pages_landingpage_colors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "pages_landingpage_landingpage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "components_landingpage_test_renderlanding", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "components_landingpage_test_signin", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "components_landingpage_test_list", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "components_landingpage_test_bullets", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "components_landingpage_test_ghlink", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "pages_boardpage_test_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_landingpage_tsx", "to": "components_landingpage_test_scrollintoviewmock", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_loginpage_loginpage", "to": "pages_loginpage_error_messages", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_loginpage_loginpage", "to": "pages_loginpage_membership_errors", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_loginpage_loginpage", "to": "pages_loginpage_mobilebanner", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_loginpage_loginpage", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_loginpage_loginpage", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_loginpage_loginpage", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_loginpage_loginpage", "to": "pages_loginpage_test_link", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_memberdetailpage_tsx", "to": "pages_memberdetailpage_role_options", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "frontend_src_pages_memberdetailpage_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "pages_memberspage_rolebadgevariant", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "pages_memberspage_role_variants", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_memberspage_memberspage", "to": "pages_boardpage_test_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "pages_postprioritiespage_descriptioncell", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_postprioritiespage_tsx", "to": "pages_postprioritiespage_tab", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "frontend_src_pages_postprioritiespage_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "pages_postspage_postrow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "pages_postspage_postspage", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "pages_postspage_test_renderpostspage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "pages_postspage_test_posts", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_postspage", "to": "pages_postspage_test_postheadings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "pages_siegecreatepage_nexttuesdayfrom", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_suggestnextsiegedate", "to": "pages_siegecreatepage_nexttuesdayfrom", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "pages_siegecreatepage_formatdatelocal", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_suggestnextsiegedate", "to": "pages_siegecreatepage_formatdatelocal", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegecreatepage_siegecreatepage", "to": "pages_siegecreatepage_suggestnextsiegedate", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "pages_siegesettingspage_test_makenotifyresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "pages_siegesettingspage_test_makeresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "pages_siegesettingspage_test_makebatchresponse", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "pages_siegesettingspage_test_emptyvalidation", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "pages_siegememberspage_test_renderpage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "pages_siegesettingspage_test_waitforpageload", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "pages_boardpage_test_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "pages_siegesettingspage_test_dialog", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "pages_siegesettingspage_test_notifybtn", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegesettingspage_tsx", "to": "pages_siegesettingspage_test_statusel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "pages_siegespage_statusbadgevariant", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "pages_siegespage_status_variants", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "pages_siegespage_status_labels", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_pages_siegespage_tsx", "to": "pages_siegespage_siegespage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_siegespage_test_tsx", "to": "frontend_src_pages_siegespage_tsx", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_systempage_systempage", "to": "pages_systempage_ui_libraries", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_systempage_systempage", "to": "pages_systempage_sectionpanel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_systempage_systempage", "to": "pages_systempage_datarow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_systempage_systempage", "to": "pages_systempage_libraryrow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_handlers_ts", "to": "test_handlers_handlers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_server_ts", "to": "frontend_src_test_handlers_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_server_ts", "to": "test_handlers_handlers", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_server_ts", "to": "test_server_server", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_changelogdropdown_test_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_siegespage_test_tsx", "to": "frontend_src_test_server_ts", "label": "imports_from", "title": "imports_from [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_changelogdropdown_test_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_siegespage_test_tsx", "to": "test_server_server", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_changelogdropdown_test_tsx", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_siegespage_test_tsx", "to": "test_utils_renderwithproviders", "label": "imports", "title": "imports [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_carousel_test_rendercarousel", "to": "test_utils_renderwithproviders", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_changelogdropdown_test_renderdropdown", "to": "test_utils_renderwithproviders", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_groupbyconditions_test_openconditionstab", "to": "test_utils_renderwithproviders", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_groupbyconditions_test_rendermemberdetail", "to": "test_utils_renderwithproviders", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_landingpage_test_renderlanding", "to": "test_utils_renderwithproviders", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_layout_test_renderlayout", "to": "test_utils_renderwithproviders", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_boardpage_test_renderboard", "to": "test_utils_renderwithproviders", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "components_postsuggestionsmodal_test_rendermodal", "to": "test_utils_renderwithproviders", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_postspage_test_renderpostspage", "to": "test_utils_renderwithproviders", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "pages_siegememberspage_test_renderpage", "to": "test_utils_renderwithproviders", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_changelogdropdown_test_tsx", "to": "components_changelogdropdown_test_renderdropdown", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_changelogdropdown_test_tsx", "to": "pages_boardpage_test_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "pages_postspage_groupby_test_sample_conditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "components_groupbyconditions_test_setupconditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "components_groupbyconditions_test_setupmember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "components_groupbyconditions_test_openconditionstab", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "pages_boardpage_test_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "lib_grouppostconditions_test_headings", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "components_groupbyconditions_test_elements", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "components_groupbyconditions_test_rendermemberdetail", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "components_groupbyconditions_test_waitforpreferences", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbyconditions_test_tsx", "to": "components_groupbyconditions_test_headingtexts", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbytoggle_test_tsx", "to": "pages_boardpage_test_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_groupbytoggle_test_tsx", "to": "components_groupbytoggle_test_onchange", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_parse_assignments_sheet", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "excel_import_import_excel_collect_xlsm_files", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_excel_make_assignments_worksheet", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "tests_test_import_excel_make_workbook_mock", "to": "components_landingpage_test_list", "label": "calls", "title": "calls [INFERRED]", "dashes": true, "width": 1, "color": {"opacity": 0.35}, "confidence": "INFERRED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_makepostboard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "pages_boardpage_test_makesiegemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_setuphandlers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "pages_boardpage_test_renderboard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_navigatetopoststab", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "pages_boardpage_test_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_maketwopostboard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_board", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_post1", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_post2", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_postrefs", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_labels", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_btn", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_makepostpreviewresult", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_makeoptimalassignment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_makesuggestionassignment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_chip", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_suggestbtn", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_components_poststab_test_tsx", "to": "components_poststab_test_applybtn", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "components_poststab_test_setuphandlers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_makeboard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_makesiegemember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_setupdefaulthandlers", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_renderboard", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_ones", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_disabledel", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_disabledspan", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_cell", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_members", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_searchinput", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_memberrows", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_boardpage_test_tsx", "to": "pages_boardpage_test_bucketrow", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "pages_boardpage_test_user", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "pages_postspage_groupby_test_sample_conditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "pages_postspage_groupby_test_two_posts", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "pages_postspage_test_renderpostspage", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "pages_postspage_groupby_test_expandfirstpost", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "pages_postspage_groupby_test_expandallposts", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "pages_postspage_groupby_test_rowtoggle", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "pages_postspage_groupby_test_mastergroup", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_postspage_groupby_test_tsx", "to": "pages_postspage_groupby_test_rowgroups", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_test_pages_siegespage_test_tsx", "to": "pages_siegespage_test_sieges", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "frontend_src_types_changelog_d_ts", "to": "types_changelog_d_changelogentry", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parsedmember", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parsedassignment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parsedreserve", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parsedpostconfig", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parsedpostconditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_importstats", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parse_filename_date", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_map_role", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_map_building_alias", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parse_members_sheet", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parse_assignments_sheet", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parse_reserves_sheet", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parse_posts_sheet_config", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_parse_posts_sheet_conditions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_build_group_structure", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_compute_building_group_structure", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_infer_building_level", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_create_building_with_groups_and_positions", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_import_file", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_import_excel_py", "to": "excel_import_import_excel_collect_xlsm_files", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_1", "to": "scripts_excel_import_import_excel_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_parse_members_sheet", "to": "excel_import_import_excel_parsedmember", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_parse_assignments_sheet", "to": "excel_import_import_excel_parsedassignment", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_parse_reserves_sheet", "to": "excel_import_import_excel_parsedreserve", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_parse_posts_sheet_config", "to": "excel_import_import_excel_parsedpostconfig", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_parse_posts_sheet_conditions", "to": "excel_import_import_excel_parsedpostconditions", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_importstats", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_parse_filename_date", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_225", "to": "excel_import_import_excel_parse_filename_date", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_map_role", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_237", "to": "excel_import_import_excel_map_role", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_parse_assignments_sheet", "to": "excel_import_import_excel_map_building_alias", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_242", "to": "excel_import_import_excel_map_building_alias", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_parse_members_sheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_266", "to": "excel_import_import_excel_parse_members_sheet", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_parse_assignments_sheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_338", "to": "excel_import_import_excel_parse_assignments_sheet", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_parse_reserves_sheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_446", "to": "excel_import_import_excel_parse_reserves_sheet", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_parse_posts_sheet_config", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_490", "to": "excel_import_import_excel_parse_posts_sheet_config", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_parse_posts_sheet_conditions", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_535", "to": "excel_import_import_excel_parse_posts_sheet_conditions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_571", "to": "excel_import_import_excel_build_group_structure", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_compute_building_group_structure", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_597", "to": "excel_import_import_excel_compute_building_group_structure", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_infer_building_level", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_678", "to": "excel_import_import_excel_infer_building_level", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_import_file", "to": "excel_import_import_excel_create_building_with_groups_and_positions", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_727", "to": "excel_import_import_excel_create_building_with_groups_and_positions", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_781", "to": "excel_import_import_excel_import_file", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_1073", "to": "excel_import_import_excel_import_file", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "excel_import_import_excel_rationale_1147", "to": "excel_import_import_excel_collect_xlsm_files", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_filename", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_filename_with_path_prefix", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_filename_invalid_random", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_filename_invalid_impossible_date", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_role_mapping_heavy_hitter", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_role_mapping_advanced", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_role_mapping_medium", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_role_mapping_novice", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_role_mapping_unknown_returns_none", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_building_alias_stronghold", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_building_alias_mana_shrine_full", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_building_alias_mana_short", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_building_alias_magic_short", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_building_alias_defense_tower_full", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_building_alias_defense_short", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_building_alias_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_building_alias_unknown_returns_none", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_make_worksheet", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_members_sheet_basic", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_members_sheet_skips_empty_rows", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_members_sheet_strips_whitespace", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_members_sheet_post_preferences", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_make_assignments_worksheet", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_assignments_sheet_member_assignment", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_assignments_sheet_skips_unknown_building_type", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_assignments_sheet_skips_incomplete_rows", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_assignments_sheet_empty_value_is_none", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_reserves_sheet_basic", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_reserves_sheet_skips_empty_rows", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_reserves_sheet_invalid_attack_day_ignored", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_reserves_sheet_case_insensitive_yes_no", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_build_group_structure_stronghold", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_build_group_structure_mana_shrine", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_build_group_structure_magic_tower", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_build_group_structure_defense_tower", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_build_group_structure_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_compute_building_group_structure_basic", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_compute_building_group_structure_magic_tower_level3", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_compute_building_group_structure_post_no_inflation", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_compute_building_group_structure_filters_by_building_number", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_compute_building_group_structure_mana_shrine_level2", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_infer_building_level_stronghold_level1", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_infer_building_level_mana_shrine_level2", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_infer_building_level_magic_tower_level1", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_infer_building_level_defense_tower_level4", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_infer_building_level_post", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_infer_building_level_fallback", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_infer_building_level_unknown_building_type_fallback", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_make_posts_config_worksheet", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_posts_sheet_config_basic", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_posts_sheet_config_default_priority", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_posts_sheet_config_multiple_sections", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_make_posts_conditions_worksheet", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_posts_sheet_conditions_basic", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_parse_posts_sheet_conditions_skips_empty", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_make_empty_worksheet", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_make_workbook_mock", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_make_session_mock", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_import_file_section3c_skipped_when_not_most_recent", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "scripts_excel_import_tests_test_import_excel_py", "to": "tests_test_import_excel_test_import_file_section3c_runs_when_most_recent_but_finds_nothing", "label": "contains", "title": "contains [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_1", "to": "scripts_excel_import_tests_test_import_excel_py", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_29", "to": "tests_test_import_excel_test_parse_filename", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_35", "to": "tests_test_import_excel_test_parse_filename_with_path_prefix", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_46", "to": "tests_test_import_excel_test_parse_filename_invalid_random", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_52", "to": "tests_test_import_excel_test_parse_filename_invalid_random", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_58", "to": "tests_test_import_excel_test_parse_filename_invalid_impossible_date", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_members_sheet_basic", "to": "tests_test_import_excel_make_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_members_sheet_skips_empty_rows", "to": "tests_test_import_excel_make_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_members_sheet_strips_whitespace", "to": "tests_test_import_excel_make_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_members_sheet_post_preferences", "to": "tests_test_import_excel_make_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_reserves_sheet_basic", "to": "tests_test_import_excel_make_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_reserves_sheet_skips_empty_rows", "to": "tests_test_import_excel_make_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_reserves_sheet_invalid_attack_day_ignored", "to": "tests_test_import_excel_make_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_reserves_sheet_case_insensitive_yes_no", "to": "tests_test_import_excel_make_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_135", "to": "tests_test_import_excel_make_worksheet", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_142", "to": "tests_test_import_excel_test_parse_members_sheet_basic", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_199", "to": "tests_test_import_excel_test_parse_members_sheet_post_preferences", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_212", "to": "tests_test_import_excel_test_parse_members_sheet_post_preferences", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_assignments_sheet_member_assignment", "to": "tests_test_import_excel_make_assignments_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_assignments_sheet_skips_unknown_building_type", "to": "tests_test_import_excel_make_assignments_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_assignments_sheet_skips_incomplete_rows", "to": "tests_test_import_excel_make_assignments_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_assignments_sheet_empty_value_is_none", "to": "tests_test_import_excel_make_assignments_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_238", "to": "tests_test_import_excel_make_assignments_worksheet", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_304", "to": "tests_test_import_excel_test_parse_assignments_sheet_skips_incomplete_rows", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_316", "to": "tests_test_import_excel_test_parse_assignments_sheet_empty_value_is_none", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_390", "to": "tests_test_import_excel_test_build_group_structure_stronghold", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_396", "to": "tests_test_import_excel_test_build_group_structure_mana_shrine", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_402", "to": "tests_test_import_excel_test_build_group_structure_magic_tower", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_408", "to": "tests_test_import_excel_test_build_group_structure_defense_tower", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_414", "to": "tests_test_import_excel_test_build_group_structure_post", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_425", "to": "tests_test_import_excel_test_compute_building_group_structure_basic", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_503", "to": "tests_test_import_excel_test_compute_building_group_structure_basic", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_524", "to": "tests_test_import_excel_test_compute_building_group_structure_basic", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_593", "to": "tests_test_import_excel_test_compute_building_group_structure_basic", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_473", "to": "tests_test_import_excel_test_compute_building_group_structure_post_no_inflation", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_486", "to": "tests_test_import_excel_test_compute_building_group_structure_filters_by_building_number", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_541", "to": "tests_test_import_excel_test_compute_building_group_structure_mana_shrine_level2", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_558", "to": "tests_test_import_excel_test_compute_building_group_structure_mana_shrine_level2", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_445", "to": "tests_test_import_excel_test_compute_building_group_structure_magic_tower_level3", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_459", "to": "tests_test_import_excel_test_compute_building_group_structure_magic_tower_level3", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_576", "to": "tests_test_import_excel_test_compute_building_group_structure_magic_tower_level3", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_616", "to": "tests_test_import_excel_test_infer_building_level_stronghold_level1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_636", "to": "tests_test_import_excel_test_infer_building_level_mana_shrine_level2", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_642", "to": "tests_test_import_excel_test_infer_building_level_magic_tower_level1", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_648", "to": "tests_test_import_excel_test_infer_building_level_defense_tower_level4", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_654", "to": "tests_test_import_excel_test_infer_building_level_post", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_660", "to": "tests_test_import_excel_test_infer_building_level_fallback", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_666", "to": "tests_test_import_excel_test_infer_building_level_unknown_building_type_fallback", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_posts_sheet_config_basic", "to": "tests_test_import_excel_make_posts_config_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_posts_sheet_config_default_priority", "to": "tests_test_import_excel_make_posts_config_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_posts_sheet_config_multiple_sections", "to": "tests_test_import_excel_make_posts_config_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_677", "to": "tests_test_import_excel_make_posts_config_worksheet", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_690", "to": "tests_test_import_excel_test_parse_posts_sheet_config_basic", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_709", "to": "tests_test_import_excel_test_parse_posts_sheet_config_default_priority", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_721", "to": "tests_test_import_excel_test_parse_posts_sheet_config_multiple_sections", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_posts_sheet_conditions_basic", "to": "tests_test_import_excel_make_posts_conditions_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_parse_posts_sheet_conditions_skips_empty", "to": "tests_test_import_excel_make_posts_conditions_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_746", "to": "tests_test_import_excel_make_posts_conditions_worksheet", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_758", "to": "tests_test_import_excel_test_parse_posts_sheet_conditions_basic", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_778", "to": "tests_test_import_excel_test_parse_posts_sheet_conditions_skips_empty", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_make_workbook_mock", "to": "tests_test_import_excel_make_empty_worksheet", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_797", "to": "tests_test_import_excel_make_empty_worksheet", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_import_file_section3c_skipped_when_not_most_recent", "to": "tests_test_import_excel_make_workbook_mock", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_import_file_section3c_runs_when_most_recent_but_finds_nothing", "to": "tests_test_import_excel_make_workbook_mock", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_804", "to": "tests_test_import_excel_make_workbook_mock", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_import_file_section3c_skipped_when_not_most_recent", "to": "tests_test_import_excel_make_session_mock", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_test_import_file_section3c_runs_when_most_recent_but_finds_nothing", "to": "tests_test_import_excel_make_session_mock", "label": "calls", "title": "calls [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_840", "to": "tests_test_import_excel_make_session_mock", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_862", "to": "tests_test_import_excel_test_import_file_section3c_skipped_when_not_most_recent", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}, {"from": "tests_test_import_excel_rationale_881", "to": "tests_test_import_excel_test_import_file_section3c_runs_when_most_recent_but_finds_nothing", "label": "rationale_for", "title": "rationale_for [EXTRACTED]", "dashes": false, "width": 2, "color": {"opacity": 0.7}, "confidence": "EXTRACTED"}];
const LEGEND = [{"cid": 0, "color": "#4E79A7", "label": "Community 0", "count": 87}, {"cid": 1, "color": "#F28E2B", "label": "Community 1", "count": 66}, {"cid": 2, "color": "#E15759", "label": "Community 2", "count": 63}, {"cid": 3, "color": "#76B7B2", "label": "Community 3", "count": 62}, {"cid": 4, "color": "#59A14F", "label": "Community 4", "count": 62}, {"cid": 5, "color": "#EDC948", "label": "Community 5", "count": 60}, {"cid": 6, "color": "#B07AA1", "label": "Community 6", "count": 55}, {"cid": 7, "color": "#FF9DA7", "label": "Community 7", "count": 51}, {"cid": 8, "color": "#9C755F", "label": "Community 8", "count": 51}, {"cid": 9, "color": "#BAB0AC", "label": "Community 9", "count": 50}, {"cid": 10, "color": "#4E79A7", "label": "Community 10", "count": 49}, {"cid": 11, "color": "#F28E2B", "label": "Community 11", "count": 47}, {"cid": 12, "color": "#E15759", "label": "Community 12", "count": 45}, {"cid": 13, "color": "#76B7B2", "label": "Community 13", "count": 45}, {"cid": 14, "color": "#59A14F", "label": "Community 14", "count": 40}, {"cid": 15, "color": "#EDC948", "label": "Community 15", "count": 40}, {"cid": 16, "color": "#B07AA1", "label": "Community 16", "count": 40}, {"cid": 17, "color": "#FF9DA7", "label": "Community 17", "count": 39}, {"cid": 18, "color": "#9C755F", "label": "Community 18", "count": 38}, {"cid": 19, "color": "#BAB0AC", "label": "Community 19", "count": 37}, {"cid": 20, "color": "#4E79A7", "label": "Community 20", "count": 35}, {"cid": 21, "color": "#F28E2B", "label": "Community 21", "count": 32}, {"cid": 22, "color": "#E15759", "label": "Community 22", "count": 28}, {"cid": 23, "color": "#76B7B2", "label": "Community 23", "count": 28}, {"cid": 24, "color": "#59A14F", "label": "Community 24", "count": 26}, {"cid": 25, "color": "#EDC948", "label": "Community 25", "count": 26}, {"cid": 26, "color": "#B07AA1", "label": "Community 26", "count": 25}, {"cid": 27, "color": "#FF9DA7", "label": "Community 27", "count": 23}, {"cid": 28, "color": "#9C755F", "label": "Community 28", "count": 23}, {"cid": 29, "color": "#BAB0AC", "label": "Community 29", "count": 23}, {"cid": 30, "color": "#4E79A7", "label": "Community 30", "count": 22}, {"cid": 31, "color": "#F28E2B", "label": "Community 31", "count": 22}, {"cid": 32, "color": "#E15759", "label": "Community 32", "count": 21}, {"cid": 33, "color": "#76B7B2", "label": "Community 33", "count": 21}, {"cid": 34, "color": "#59A14F", "label": "Community 34", "count": 20}, {"cid": 35, "color": "#EDC948", "label": "Community 35", "count": 19}, {"cid": 36, "color": "#B07AA1", "label": "Community 36", "count": 18}, {"cid": 37, "color": "#FF9DA7", "label": "Community 37", "count": 17}, {"cid": 38, "color": "#9C755F", "label": "Community 38", "count": 17}, {"cid": 39, "color": "#BAB0AC", "label": "Community 39", "count": 16}, {"cid": 40, "color": "#4E79A7", "label": "Community 40", "count": 15}, {"cid": 41, "color": "#F28E2B", "label": "Community 41", "count": 15}, {"cid": 42, "color": "#E15759", "label": "Community 42", "count": 15}, {"cid": 43, "color": "#76B7B2", "label": "Community 43", "count": 15}, {"cid": 44, "color": "#59A14F", "label": "Community 44", "count": 14}, {"cid": 45, "color": "#EDC948", "label": "Community 45", "count": 14}, {"cid": 46, "color": "#B07AA1", "label": "Community 46", "count": 14}, {"cid": 47, "color": "#FF9DA7", "label": "Community 47", "count": 13}, {"cid": 48, "color": "#9C755F", "label": "Community 48", "count": 13}, {"cid": 49, "color": "#BAB0AC", "label": "Community 49", "count": 11}, {"cid": 50, "color": "#4E79A7", "label": "Community 50", "count": 11}, {"cid": 51, "color": "#F28E2B", "label": "Community 51", "count": 11}, {"cid": 52, "color": "#E15759", "label": "Community 52", "count": 11}, {"cid": 53, "color": "#76B7B2", "label": "Community 53", "count": 10}, {"cid": 54, "color": "#59A14F", "label": "Community 54", "count": 10}, {"cid": 55, "color": "#EDC948", "label": "Community 55", "count": 10}, {"cid": 56, "color": "#B07AA1", "label": "Community 56", "count": 10}, {"cid": 57, "color": "#FF9DA7", "label": "Community 57", "count": 8}, {"cid": 58, "color": "#9C755F", "label": "Community 58", "count": 8}, {"cid": 59, "color": "#BAB0AC", "label": "Community 59", "count": 8}, {"cid": 60, "color": "#4E79A7", "label": "Community 60", "count": 7}, {"cid": 61, "color": "#F28E2B", "label": "Community 61", "count": 6}, {"cid": 62, "color": "#E15759", "label": "Community 62", "count": 6}, {"cid": 63, "color": "#76B7B2", "label": "Community 63", "count": 6}, {"cid": 64, "color": "#59A14F", "label": "Community 64", "count": 6}, {"cid": 65, "color": "#EDC948", "label": "Community 65", "count": 6}, {"cid": 66, "color": "#B07AA1", "label": "Community 66", "count": 5}, {"cid": 67, "color": "#FF9DA7", "label": "Community 67", "count": 5}, {"cid": 68, "color": "#9C755F", "label": "Community 68", "count": 4}, {"cid": 69, "color": "#BAB0AC", "label": "Community 69", "count": 4}, {"cid": 70, "color": "#4E79A7", "label": "Community 70", "count": 4}, {"cid": 71, "color": "#F28E2B", "label": "Community 71", "count": 4}, {"cid": 72, "color": "#E15759", "label": "Community 72", "count": 3}, {"cid": 73, "color": "#76B7B2", "label": "Community 73", "count": 3}, {"cid": 74, "color": "#59A14F", "label": "Community 74", "count": 2}, {"cid": 75, "color": "#EDC948", "label": "Community 75", "count": 2}, {"cid": 76, "color": "#B07AA1", "label": "Community 76", "count": 2}, {"cid": 77, "color": "#FF9DA7", "label": "Community 77", "count": 2}, {"cid": 78, "color": "#9C755F", "label": "Community 78", "count": 2}, {"cid": 79, "color": "#BAB0AC", "label": "Community 79", "count": 2}, {"cid": 80, "color": "#4E79A7", "label": "Community 80", "count": 2}, {"cid": 81, "color": "#F28E2B", "label": "Community 81", "count": 2}, {"cid": 82, "color": "#E15759", "label": "Community 82", "count": 2}, {"cid": 83, "color": "#76B7B2", "label": "Community 83", "count": 2}, {"cid": 84, "color": "#59A14F", "label": "Community 84", "count": 2}, {"cid": 85, "color": "#EDC948", "label": "Community 85", "count": 2}, {"cid": 86, "color": "#B07AA1", "label": "Community 86", "count": 2}, {"cid": 87, "color": "#FF9DA7", "label": "Community 87", "count": 2}, {"cid": 88, "color": "#9C755F", "label": "Community 88", "count": 2}, {"cid": 89, "color": "#BAB0AC", "label": "Community 89", "count": 2}, {"cid": 90, "color": "#4E79A7", "label": "Community 90", "count": 2}, {"cid": 91, "color": "#F28E2B", "label": "Community 91", "count": 2}, {"cid": 92, "color": "#E15759", "label": "Community 92", "count": 2}, {"cid": 93, "color": "#76B7B2", "label": "Community 93", "count": 2}, {"cid": 94, "color": "#59A14F", "label": "Community 94", "count": 2}, {"cid": 95, "color": "#EDC948", "label": "Community 95", "count": 2}, {"cid": 96, "color": "#B07AA1", "label": "Community 96", "count": 2}, {"cid": 97, "color": "#FF9DA7", "label": "Community 97", "count": 2}, {"cid": 98, "color": "#9C755F", "label": "Community 98", "count": 2}, {"cid": 99, "color": "#BAB0AC", "label": "Community 99", "count": 1}, {"cid": 100, "color": "#4E79A7", "label": "Community 100", "count": 1}, {"cid": 101, "color": "#F28E2B", "label": "Community 101", "count": 1}, {"cid": 102, "color": "#E15759", "label": "Community 102", "count": 1}, {"cid": 103, "color": "#76B7B2", "label": "Community 103", "count": 1}, {"cid": 104, "color": "#59A14F", "label": "Community 104", "count": 1}, {"cid": 105, "color": "#EDC948", "label": "Community 105", "count": 1}, {"cid": 106, "color": "#B07AA1", "label": "Community 106", "count": 1}, {"cid": 107, "color": "#FF9DA7", "label": "Community 107", "count": 1}, {"cid": 108, "color": "#9C755F", "label": "Community 108", "count": 1}, {"cid": 109, "color": "#BAB0AC", "label": "Community 109", "count": 1}, {"cid": 110, "color": "#4E79A7", "label": "Community 110", "count": 1}, {"cid": 111, "color": "#F28E2B", "label": "Community 111", "count": 1}, {"cid": 112, "color": "#E15759", "label": "Community 112", "count": 1}, {"cid": 113, "color": "#76B7B2", "label": "Community 113", "count": 1}, {"cid": 114, "color": "#59A14F", "label": "Community 114", "count": 1}, {"cid": 115, "color": "#EDC948", "label": "Community 115", "count": 1}, {"cid": 116, "color": "#B07AA1", "label": "Community 116", "count": 1}, {"cid": 117, "color": "#FF9DA7", "label": "Community 117", "count": 1}, {"cid": 118, "color": "#9C755F", "label": "Community 118", "count": 1}, {"cid": 119, "color": "#BAB0AC", "label": "Community 119", "count": 1}, {"cid": 120, "color": "#4E79A7", "label": "Community 120", "count": 1}, {"cid": 121, "color": "#F28E2B", "label": "Community 121", "count": 1}, {"cid": 122, "color": "#E15759", "label": "Community 122", "count": 1}, {"cid": 123, "color": "#76B7B2", "label": "Community 123", "count": 1}, {"cid": 124, "color": "#59A14F", "label": "Community 124", "count": 1}, {"cid": 125, "color": "#EDC948", "label": "Community 125", "count": 1}, {"cid": 126, "color": "#B07AA1", "label": "Community 126", "count": 1}, {"cid": 127, "color": "#FF9DA7", "label": "Community 127", "count": 1}, {"cid": 128, "color": "#9C755F", "label": "Community 128", "count": 1}, {"cid": 129, "color": "#BAB0AC", "label": "Community 129", "count": 1}, {"cid": 130, "color": "#4E79A7", "label": "Community 130", "count": 1}, {"cid": 131, "color": "#F28E2B", "label": "Community 131", "count": 1}, {"cid": 132, "color": "#E15759", "label": "Community 132", "count": 1}, {"cid": 133, "color": "#76B7B2", "label": "Community 133", "count": 1}, {"cid": 134, "color": "#59A14F", "label": "Community 134", "count": 1}, {"cid": 135, "color": "#EDC948", "label": "Community 135", "count": 1}, {"cid": 136, "color": "#B07AA1", "label": "Community 136", "count": 1}, {"cid": 137, "color": "#FF9DA7", "label": "Community 137", "count": 1}, {"cid": 138, "color": "#9C755F", "label": "Community 138", "count": 1}, {"cid": 139, "color": "#BAB0AC", "label": "Community 139", "count": 1}, {"cid": 140, "color": "#4E79A7", "label": "Community 140", "count": 1}];
// HTML-escape helper — prevents XSS when injecting graph data into innerHTML
function esc(s) {
return String(s).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;').replace(/'/g,'&#39;');
}
// Build vis datasets
const nodesDS = new vis.DataSet(RAW_NODES.map(n => ({
id: n.id, label: n.label, color: n.color, size: n.size,
font: n.font, title: n.title,
_community: n.community, _community_name: n.community_name,
_source_file: n.source_file, _file_type: n.file_type, _degree: n.degree,
})));
const edgesDS = new vis.DataSet(RAW_EDGES.map((e, i) => ({
id: i, from: e.from, to: e.to,
label: '',
title: e.title,
dashes: e.dashes,
width: e.width,
color: e.color,
arrows: { to: { enabled: true, scaleFactor: 0.5 } },
})));
const container = document.getElementById('graph');
const network = new vis.Network(container, { nodes: nodesDS, edges: edgesDS }, {
physics: {
enabled: true,
solver: 'forceAtlas2Based',
forceAtlas2Based: {
gravitationalConstant: -60,
centralGravity: 0.005,
springLength: 120,
springConstant: 0.08,
damping: 0.4,
avoidOverlap: 0.8,
},
stabilization: { iterations: 200, fit: true },
},
interaction: {
hover: true,
tooltipDelay: 100,
hideEdgesOnDrag: true,
navigationButtons: false,
keyboard: false,
},
nodes: { shape: 'dot', borderWidth: 1.5 },
edges: { smooth: { type: 'continuous', roundness: 0.2 }, selectionWidth: 3 },
});
network.once('stabilizationIterationsDone', () => {
network.setOptions({ physics: { enabled: false } });
});
function showInfo(nodeId) {
const n = nodesDS.get(nodeId);
if (!n) return;
const neighborIds = network.getConnectedNodes(nodeId);
const neighborItems = neighborIds.map(nid => {
const nb = nodesDS.get(nid);
const color = nb ? nb.color.background : '#555';
return `<span class="neighbor-link" style="border-left-color:${esc(color)}" onclick="focusNode(${JSON.stringify(nid)})">${esc(nb ? nb.label : nid)}</span>`;
}).join('');
document.getElementById('info-content').innerHTML = `
<div class="field"><b>${esc(n.label)}</b></div>
<div class="field">Type: ${esc(n._file_type || 'unknown')}</div>
<div class="field">Community: ${esc(n._community_name)}</div>
<div class="field">Source: ${esc(n._source_file || '-')}</div>
<div class="field">Degree: ${n._degree}</div>
${neighborIds.length ? `<div class="field" style="margin-top:8px;color:#aaa;font-size:11px">Neighbors (${neighborIds.length})</div><div id="neighbors-list">${neighborItems}</div>` : ''}
`;
}
function focusNode(nodeId) {
network.focus(nodeId, { scale: 1.4, animation: true });
network.selectNodes([nodeId]);
showInfo(nodeId);
}
// Track hovered node — hover detection is more reliable than click params
let hoveredNodeId = null;
network.on('hoverNode', params => {
hoveredNodeId = params.node;
container.style.cursor = 'pointer';
});
network.on('blurNode', () => {
hoveredNodeId = null;
container.style.cursor = 'default';
});
container.addEventListener('click', () => {
if (hoveredNodeId !== null) {
showInfo(hoveredNodeId);
network.selectNodes([hoveredNodeId]);
}
});
network.on('click', params => {
if (params.nodes.length > 0) {
showInfo(params.nodes[0]);
} else if (hoveredNodeId === null) {
document.getElementById('info-content').innerHTML = '<span class="empty">Click a node to inspect it</span>';
}
});
const searchInput = document.getElementById('search');
const searchResults = document.getElementById('search-results');
searchInput.addEventListener('input', () => {
const q = searchInput.value.toLowerCase().trim();
searchResults.innerHTML = '';
if (!q) { searchResults.style.display = 'none'; return; }
const matches = RAW_NODES.filter(n => n.label.toLowerCase().includes(q)).slice(0, 20);
if (!matches.length) { searchResults.style.display = 'none'; return; }
searchResults.style.display = 'block';
matches.forEach(n => {
const el = document.createElement('div');
el.className = 'search-item';
el.textContent = n.label;
el.style.borderLeft = `3px solid ${n.color.background}`;
el.style.paddingLeft = '8px';
el.onclick = () => {
network.focus(n.id, { scale: 1.5, animation: true });
network.selectNodes([n.id]);
showInfo(n.id);
searchResults.style.display = 'none';
searchInput.value = '';
};
searchResults.appendChild(el);
});
});
document.addEventListener('click', e => {
if (!searchResults.contains(e.target) && e.target !== searchInput)
searchResults.style.display = 'none';
});
const hiddenCommunities = new Set();
const selectAllCb = document.getElementById('select-all-cb');
function updateSelectAllState() {
const total = LEGEND.length;
const hidden = hiddenCommunities.size;
selectAllCb.checked = hidden === 0;
selectAllCb.indeterminate = hidden > 0 && hidden < total;
}
function toggleAllCommunities(hide) {
document.querySelectorAll('.legend-item').forEach(item => {
hide ? item.classList.add('dimmed') : item.classList.remove('dimmed');
});
document.querySelectorAll('.legend-cb').forEach(cb => {
cb.checked = !hide;
});
LEGEND.forEach(c => {
if (hide) hiddenCommunities.add(c.cid); else hiddenCommunities.delete(c.cid);
});
const updates = RAW_NODES.map(n => ({ id: n.id, hidden: hide }));
nodesDS.update(updates);
updateSelectAllState();
}
const legendEl = document.getElementById('legend');
LEGEND.forEach(c => {
const item = document.createElement('div');
item.className = 'legend-item';
const cb = document.createElement('input');
cb.type = 'checkbox';
cb.className = 'legend-cb';
cb.checked = true;
cb.addEventListener('change', (e) => {
e.stopPropagation();
if (cb.checked) {
hiddenCommunities.delete(c.cid);
item.classList.remove('dimmed');
} else {
hiddenCommunities.add(c.cid);
item.classList.add('dimmed');
}
const updates = RAW_NODES
.filter(n => n.community === c.cid)
.map(n => ({ id: n.id, hidden: !cb.checked }));
nodesDS.update(updates);
updateSelectAllState();
});
item.innerHTML = `<div class="legend-dot" style="background:${c.color}"></div>
<span class="legend-label">${c.label}</span>
<span class="legend-count">${c.count}</span>`;
item.prepend(cb);
item.onclick = (e) => {
if (e.target === cb) return;
cb.checked = !cb.checked;
cb.dispatchEvent(new Event('change'));
};
legendEl.appendChild(item);
});
</script>
<script>
// Render hyperedges as shaded regions
const hyperedges = [];
// afterDrawing passes ctx already transformed to network coordinate space.
// Draw node positions raw — no manual pan/zoom/DPR math needed.
network.on('afterDrawing', function(ctx) {
hyperedges.forEach(h => {
const positions = h.nodes
.map(nid => network.getPositions([nid])[nid])
.filter(p => p !== undefined);
if (positions.length < 2) return;
ctx.save();
ctx.globalAlpha = 0.12;
ctx.fillStyle = '#6366f1';
ctx.strokeStyle = '#6366f1';
ctx.lineWidth = 2;
ctx.beginPath();
// Centroid and expanded hull in network coordinates
const cx = positions.reduce((s, p) => s + p.x, 0) / positions.length;
const cy = positions.reduce((s, p) => s + p.y, 0) / positions.length;
const expanded = positions.map(p => ({
x: cx + (p.x - cx) * 1.15,
y: cy + (p.y - cy) * 1.15
}));
ctx.moveTo(expanded[0].x, expanded[0].y);
expanded.slice(1).forEach(p => ctx.lineTo(p.x, p.y));
ctx.closePath();
ctx.fill();
ctx.globalAlpha = 0.4;
ctx.stroke();
// Label
ctx.globalAlpha = 0.8;
ctx.fillStyle = '#4f46e5';
ctx.font = 'bold 11px sans-serif';
ctx.textAlign = 'center';
ctx.fillText(h.label, cx, cy - 5);
ctx.restore();
});
});
</script>
</body>
</html>