chore: migrate GRACE-Poly anchors to hierarchical dotted naming

Systematic rename of all semantic anchors (#region, [DEF], @RELATION)
across 1400+ files — backend Python, frontend Svelte/TS, specs, docs:
- Flat anchors become Namespace.Module.Entity
- @RELATION references updated to match new anchor paths
- Zero business logic changes
This commit is contained in:
root
2026-07-22 11:48:15 +03:00
parent 34393adf7e
commit 632b730fff
1438 changed files with 17031 additions and 16802 deletions

View File

@@ -1,6 +1,6 @@
# #region Test.DashboardReleaseModel [C:3] [TYPE Module] [SEMANTICS test,git,release,model]
# @BRIEF Verify immutable dashboard release ledger fields.
# @RELATION BINDS_TO -> [DashboardRelease]
# @RELATION BINDS_TO -> [Models.DashboardRelease]
# @TEST_CONTRACT: Valid release input -> immutable repository-scoped release record.
# @TEST_EDGE: duplicate_version -> database unique constraint owns rejection.
# @TEST_EDGE: missing_notes -> API schema rejects before persistence.
@@ -11,7 +11,7 @@ from src.models.dashboard_release import DashboardRelease
class TestDashboardRelease:
# #region test_stores_pinned_candidate_hashes [C:2] [TYPE Function]
# #region Test.DashboardReleaseModel.TestStoresPinnedCandidateHashes [C:2] [TYPE Function]
# @BRIEF A release retains the exact commit and semantic content hash selected in PREPROD.
def test_stores_pinned_candidate_hashes(self):
release = DashboardRelease(
@@ -28,7 +28,7 @@ class TestDashboardRelease:
assert release.commit_hash == "a" * 40
assert release.content_hash == "b" * 64
assert release.status == "awaiting_approval"
# #endregion test_stores_pinned_candidate_hashes
# #endregion Test.DashboardReleaseModel.TestStoresPinnedCandidateHashes
# #endregion Test.DashboardReleaseModel

View File

@@ -1,6 +1,6 @@
# #region Test.DeploymentModel [C:2] [TYPE Module] [SEMANTICS test, deployment, model, validation]
# @BRIEF Python-level unit tests for DeploymentRecord model defaults.
# @RELATION BINDS_TO -> [DeploymentModels]
# @RELATION BINDS_TO -> [Models.Deployment.DeploymentModels]
from src.models.deployment import DeploymentRecord

View File

@@ -1,6 +1,6 @@
# #region Test.FilterStateModels [C:3] [TYPE Module] [SEMANTICS test,filter_state,models]
# @BRIEF Verify Pydantic filter-state models — creation, defaults, methods, and merge logic.
# @RELATION BINDS_TO -> [FilterStateModels]
# @RELATION BINDS_TO -> [Models.FilterState.FilterStateModels]
# @TEST_EDGE: missing_filter_id -> get_extra_form_data returns empty dict
# @TEST_EDGE: empty_dataMask -> has_filters returns False
# @TEST_EDGE: append_non_list_fallback -> append key with non-list values falls through to override
@@ -18,16 +18,16 @@ from src.models.filter_state import (
class TestFilterStateModel:
"""Verify FilterState creation and defaults."""
# #region test_filter_state_defaults [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestFilterStateDefaults [C:2] [TYPE Function]
# @BRIEF FilterState with no args produces empty dicts for all three fields.
def test_filter_state_defaults(self):
fs = FilterState()
assert fs.extraFormData == {}
assert fs.filterState == {}
assert fs.ownState == {}
# #endregion test_filter_state_defaults
# #endregion Test.FilterStateModels.TestFilterStateDefaults
# #region test_filter_state_all_fields [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestFilterStateAllFields [C:2] [TYPE Function]
# @BRIEF FilterState with explicit values preserves every field.
def test_filter_state_all_fields(self):
fs = FilterState(
@@ -38,13 +38,13 @@ class TestFilterStateModel:
assert fs.extraFormData == {"time_range": "2024 : 2025"}
assert fs.filterState == {"value": ["admin"]}
assert fs.ownState == {"owner": "user_1"}
# #endregion test_filter_state_all_fields
# #endregion Test.FilterStateModels.TestFilterStateAllFields
class TestNativeFilterDataMaskModel:
"""Verify NativeFilterDataMask container methods."""
# #region test_get_filter_ids [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestGetFilterIds [C:2] [TYPE Function]
# @BRIEF get_filter_ids returns all keys from the filters dict.
def test_get_filter_ids(self):
mask = NativeFilterDataMask(filters={
@@ -52,56 +52,56 @@ class TestNativeFilterDataMaskModel:
"NATIVE_FILTER_XYZ": FilterState(extraFormData={"col": "b"}),
})
assert mask.get_filter_ids() == ["NATIVE_FILTER_ABC", "NATIVE_FILTER_XYZ"]
# #endregion test_get_filter_ids
# #endregion Test.FilterStateModels.TestGetFilterIds
# #region test_get_extra_form_data_existing [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestGetExtraFormDataExisting [C:2] [TYPE Function]
# @BRIEF get_extra_form_data returns extraFormData for a known filter ID.
def test_get_extra_form_data_existing(self):
mask = NativeFilterDataMask(filters={
"NATIVE_FILTER_1": FilterState(extraFormData={"time_range": "Last week"}),
})
assert mask.get_extra_form_data("NATIVE_FILTER_1") == {"time_range": "Last week"}
# #endregion test_get_extra_form_data_existing
# #endregion Test.FilterStateModels.TestGetExtraFormDataExisting
# #region test_get_extra_form_data_missing [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestGetExtraFormDataMissing [C:2] [TYPE Function]
# @BRIEF get_extra_form_data returns empty dict for unknown filter ID.
def test_get_extra_form_data_missing(self):
mask = NativeFilterDataMask(filters={
"NATIVE_FILTER_1": FilterState(extraFormData={"col": "x"}),
})
assert mask.get_extra_form_data("NONEXISTENT_ID") == {}
# #endregion test_get_extra_form_data_missing
# #endregion Test.FilterStateModels.TestGetExtraFormDataMissing
class TestParsedNativeFiltersModel:
"""Verify ParsedNativeFilters query methods."""
# #region test_has_filters_true [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestHasFiltersTrue [C:2] [TYPE Function]
# @BRIEF has_filters returns True when dataMask is non-empty.
def test_has_filters_true(self):
parsed = ParsedNativeFilters(dataMask={"f1": {}, "f2": {}})
assert parsed.has_filters() is True
# #endregion test_has_filters_true
# #endregion Test.FilterStateModels.TestHasFiltersTrue
# #region test_has_filters_false [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestHasFiltersFalse [C:2] [TYPE Function]
# @BRIEF has_filters returns False when dataMask is empty.
def test_has_filters_false(self):
parsed = ParsedNativeFilters()
assert parsed.has_filters() is False
# #endregion test_has_filters_false
# #endregion Test.FilterStateModels.TestHasFiltersFalse
# #region test_get_filter_count [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestGetFilterCount [C:2] [TYPE Function]
# @BRIEF get_filter_count returns the number of entries in dataMask.
def test_get_filter_count(self):
parsed = ParsedNativeFilters(dataMask={"a": {}, "b": {}, "c": {}})
assert parsed.get_filter_count() == 3
# #endregion test_get_filter_count
# #endregion Test.FilterStateModels.TestGetFilterCount
class TestDashboardURLFilterExtractionModel:
"""Verify DashboardURLFilterExtraction creation and defaults."""
# #region test_dashboard_url_extraction_all_fields [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestDashboardUrlExtractionAllFields [C:2] [TYPE Function]
# @BRIEF All fields populated are preserved correctly.
def test_dashboard_url_extraction_all_fields(self):
filters = ParsedNativeFilters(dataMask={"f1": {}})
@@ -119,30 +119,30 @@ class TestDashboardURLFilterExtractionModel:
assert extraction.filters is filters
assert extraction.success is False
assert extraction.error == "partial extraction"
# #endregion test_dashboard_url_extraction_all_fields
# #endregion Test.FilterStateModels.TestDashboardUrlExtractionAllFields
# #region test_dashboard_url_extraction_default_success [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestDashboardUrlExtractionDefaultSuccess [C:2] [TYPE Function]
# @BRIEF success defaults to True when not specified.
def test_dashboard_url_extraction_default_success(self):
extraction = DashboardURLFilterExtraction(url="https://superset/dashboard/1")
assert extraction.success is True
assert extraction.error is None
assert extraction.dashboard_id is None
# #endregion test_dashboard_url_extraction_default_success
# #endregion Test.FilterStateModels.TestDashboardUrlExtractionDefaultSuccess
class TestExtraFormDataMergeModel:
"""Verify ExtraFormDataMerge configuration and merge logic."""
# #region test_merge_default_config [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestMergeDefaultConfig [C:2] [TYPE Function]
# @BRIEF Default append_keys and override_keys match the documented lists.
def test_merge_default_config(self):
cfg = ExtraFormDataMerge()
assert cfg.append_keys == ["filters", "extras", "columns", "metrics"]
assert cfg.override_keys == ["time_range", "time_grain_sqla", "time_column", "granularity"]
# #endregion test_merge_default_config
# #endregion Test.FilterStateModels.TestMergeDefaultConfig
# #region test_merge_override_keys [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestMergeOverrideKeys [C:2] [TYPE Function]
# @BRIEF Override keys replace original values entirely.
def test_merge_override_keys(self):
cfg = ExtraFormDataMerge()
@@ -151,9 +151,9 @@ class TestExtraFormDataMergeModel:
result = cfg.merge(original, new)
assert result["time_range"] == "2024 : 2025"
assert result["time_grain_sqla"] == "MONTH"
# #endregion test_merge_override_keys
# #endregion Test.FilterStateModels.TestMergeOverrideKeys
# #region test_merge_append_keys [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestMergeAppendKeys [C:2] [TYPE Function]
# @BRIEF Append keys concatenate lists from original and new.
def test_merge_append_keys(self):
cfg = ExtraFormDataMerge()
@@ -162,9 +162,9 @@ class TestExtraFormDataMergeModel:
result = cfg.merge(original, new)
assert result["filters"] == [{"col": "a"}, {"col": "b"}]
assert result["columns"] == ["x", "y", "z"]
# #endregion test_merge_append_keys
# #endregion Test.FilterStateModels.TestMergeAppendKeys
# #region test_merge_non_special_keys [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestMergeNonSpecialKeys [C:2] [TYPE Function]
# @BRIEF Keys not in override or append lists fall through — new replaces original.
def test_merge_non_special_keys(self):
cfg = ExtraFormDataMerge()
@@ -174,9 +174,9 @@ class TestExtraFormDataMergeModel:
assert result["custom_key"] == "new_value"
assert result["another"] == 1
assert result["brand_new"] is True
# #endregion test_merge_non_special_keys
# #endregion Test.FilterStateModels.TestMergeNonSpecialKeys
# #region test_merge_append_non_list_fallback [C:2] [TYPE Function]
# #region Test.FilterStateModels.TestMergeAppendNonListFallback [C:2] [TYPE Function]
# @BRIEF Append key with non-list values falls through to simple override.
def test_merge_append_non_list_fallback(self):
cfg = ExtraFormDataMerge()
@@ -184,7 +184,7 @@ class TestExtraFormDataMergeModel:
new = {"filters": ["real_filter"]}
result = cfg.merge(original, new)
assert result["filters"] == ["real_filter"]
# #endregion test_merge_append_non_list_fallback
# #endregion Test.FilterStateModels.TestMergeAppendNonListFallback
# #endregion Test.FilterStateModels