command=python -m pytest backend/tests -q -p no:cacheprovider -W error::DeprecationWarning --junitxml=artifacts/evidence/accuracy/P1/backend-full-suite.junit.xml exit_code=1 captured_at=2026-08-01T18:32:02.4460806+02:00 ........................................................................ [ 6%] ........................................................................ [ 12%] .........................................F..........F..................F [ 18%] ..................F..................................................... [ 24%] .........F.............................................................. [ 30%] ........................................................................ [ 36%] .....F.F.......................................FF....................... [ 42%] ........................................................................ [ 48%] ..F..................................................................... [ 54%] ........................................................................ [ 60%] .......F................................................................ [ 66%] ........................................................................ [ 72%] ........................................FFFF...........F................ [ 78%] ...............................................F........................ [ 84%] ........................................................................ [ 90%] ........................................................................ [ 96%] ............................................. [100%] ================================== FAILURES =================================== _ test_frontend_prefers_materialized_national_workspace_and_resolves_drawn_bbox _ def test_frontend_prefers_materialized_national_workspace_and_resolves_drawn_bbox() -> None: root = Path(__file__).parents[2] focus = (root / "frontend" / "src" / "config" / "primaryFocus.ts").read_text(encoding="utf-8") workspace_hook = (root / "frontend" / "src" / "hooks" / "useProjectWorkspace.ts").read_text(encoding="utf-8") coverage_hook = (root / "frontend" / "src" / "hooks" / "useCoverageResolver.ts").read_text(encoding="utf-8") map_workspace = (root / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx").read_text(encoding="utf-8") assert "Belgium and North Sea Workbench" in focus assert "nationalProject" in workspace_hook assert "return nationalProject.id" in workspace_hook assert "NATIONAL_WORKSPACE_REGION" in workspace_hook assert "externalApi.resolveCoverage" in coverage_hook assert "coverage.outside_supported_scope" in map_workspace assert "coverageStatusLabel" in map_workspace > assert "coverageSelectionAvailable" in map_workspace E assert 'coverageSelectionAvailable' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_rc4_national_coverage.py:432: AssertionError ____ test_runtime_configuration_is_validated_before_container_replacement _____ def test_runtime_configuration_is_validated_before_container_replacement() -> None: run_script = (ROOT / "deploy" / "unraid" / "run-dockerman-container.sh").read_text(encoding="utf-8") validation_index = run_script.index("validate_runtime_config") > replacement_index = run_script.index("docker compose down") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: substring not found backend\tests\test_rc5_release_deployment.py:65: ValueError ___________ test_rc9_loading_and_accessibility_states_are_explicit ____________ def test_rc9_loading_and_accessibility_states_are_explicit() -> None: app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8") map_workspace = ( ROOT / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx" ).read_text(encoding="utf-8") geo_map = (ROOT / "frontend" / "src" / "components" / "GeoMap.tsx").read_text( encoding="utf-8" ) assert "workspaceDataLoading" in app assert 'role="status" aria-live="polite"' in app assert "Databronnen worden gecontroleerd" in map_workspace > assert "Beschikbaarheid controleren" in map_workspace E assert 'Beschikbaarheid controleren' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_rc9_ux_release_contract.py:33: AssertionError ___________ test_all_in_one_deploy_embeds_immutable_build_identity ____________ def test_all_in_one_deploy_embeds_immutable_build_identity() -> None: dockerfile = (ROOT / "deploy" / "unraid" / "Dockerfile.all-in-one").read_text(encoding="utf-8") release_script = (ROOT / "deploy" / "unraid" / "deploy-release.sh").read_text(encoding="utf-8") deploy_powershell = (ROOT / "scripts" / "deploy_tower.ps1").read_text(encoding="utf-8") deploy_shell = (ROOT / "scripts" / "deploy_tower.sh").read_text(encoding="utf-8") assert "ARG GEOINTEL_BUILD_SHA=unknown" in dockerfile assert 'GEOINTEL_BUILD_SHA="${GEOINTEL_BUILD_SHA}"' in dockerfile assert 'GEOINTEL_BUILD_TIME="${GEOINTEL_BUILD_TIME}"' in dockerfile assert 'org.opencontainers.image.revision="${GEOINTEL_BUILD_SHA}"' in dockerfile > assert 'GEOINTEL_BUILD_SHA="$(git rev-parse HEAD)"' in release_script E assert 'GEOINTEL_BUILD_SHA="$(git rev-parse HEAD)"' in '#!/usr/bin/env bash\nset -euo pipefail\n\nROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"\ncd "$ROOT"\n\nG...ge.revision"}} created={{index .Config.Labels "org.opencontainers.image.created"}}\' \\\n "$GEOINTEL_RELEASE_IMAGE"\n' backend\tests\test_rc_runtime_observability.py:47: AssertionError _____________ test_frontend_exposes_map_bbox_selection_contracts ______________ def test_frontend_exposes_map_bbox_selection_contracts() -> None: api_client = (ROOT / "frontend" / "src" / "services" / "api" / "datasets.ts").read_text(encoding="utf-8") map_workspace = (ROOT / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx").read_text(encoding="utf-8") geomap = (ROOT / "frontend" / "src" / "components" / "GeoMap.tsx").read_text(encoding="utf-8") app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8") extract_hook = (ROOT / "frontend" / "src" / "hooks" / "useMapSelectionExtract.ts").read_text(encoding="utf-8") theme_hook = (ROOT / "frontend" / "src" / "hooks" / "useMapThemeSelectionInsights.ts").read_text(encoding="utf-8") assert "selectVectorFeatures" in api_client assert "Area selection" in map_workspace assert "Teken rechthoek" in map_workspace assert "Objecten in gebied ophalen" in map_workspace assert "Gebiedsdownload bewaren" in map_workspace assert "bboxSelectionMode" in geomap assert "selection-bbox" in geomap assert "selection-result" in geomap assert "useMapSelectionExtract" in app assert "area_id: areaId" in extract_hook assert "area_id: areaId" in theme_hook > assert "analyzeSelection(selectedAreaBbox, selectedMapArea?.id)" in map_workspace E assert 'analyzeSelection(selectedAreaBbox, selectedMapArea?.id)' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_sprint106_map_bbox_extract.py:356: AssertionError ______ test_frontend_declares_national_scope_as_primary_operating_focus _______ def test_frontend_declares_national_scope_as_primary_operating_focus() -> None: focus = (ROOT / "frontend" / "src" / "config" / "primaryFocus.ts").read_text( encoding="utf-8" ) project_hook = (ROOT / "frontend" / "src" / "hooks" / "useProjectWorkspace.ts").read_text( encoding="utf-8" ) map_source = (ROOT / "frontend" / "src" / "components" / "GeoMap.tsx").read_text( encoding="utf-8" ) navigation = ( ROOT / "frontend" / "src" / "components" / "shell" / "WorkbenchNavigation.tsx" ).read_text(encoding="utf-8") assert "NATIONAL_WORKSPACE_PROJECT_NAME = 'Belgium and North Sea Workbench'" in focus assert "NATIONAL_WORKSPACE_REGION = 'Belgie en Belgische Noordzee'" in focus assert "NATIONAL_MAP_CENTER" in focus assert "return nationalProject.id" in project_hook assert "hasMappedAnalysisContext(data)" in project_hook assert "dataset.dataset_type === 'raster'" in project_hook assert "dataset.dataset_type === 'vector' || dataset.dataset_type === 'geojson'" in project_hook assert "PRIMARY_FOCUS_AREA_NAME" not in project_hook assert "PRIMARY_FOCUS_AREA_GEOJSON" not in project_hook assert "center: NATIONAL_MAP_CENTER" in map_source assert "zoom: NATIONAL_MAP_ZOOM" in map_source assert "GeoIntel" in navigation > assert "Atlas Workbench" in navigation E AssertionError: assert 'Atlas Workbench' in 'import {\n Activity,\n Bot,\n Database,\n Download,\n Map,\n ScanSearch,\n Settings,\n ShieldCheck,\n type L... )\n })}\n \n ))}\n \n \n \n )\n}\n' backend\tests\test_sprint177_mol_primary_focus.py:38: AssertionError ______ test_product_docs_record_national_scope_and_mol_regression_focus _______ def test_product_docs_record_national_scope_and_mol_regression_focus() -> None: readme = (ROOT / "README.md").read_text(encoding="utf-8") vision = (ROOT / "docs" / "PRODUCT_VISION.md").read_text(encoding="utf-8") > assert "Belgium and the Belgian North Sea" in readme E assert 'Belgium and the Belgian North Sea' in '# GeoIntel\n\n

\n GeoIntel logo\n None: app = read("frontend/src/App.tsx") workspace = read("frontend/src/components/map/MapWorkspace.tsx") assert "useState('map')" in app assert "Gebied analyseren" in workspace > assert "

Focus op de kaart optioneel

" in workspace E assert '

Focus op de kaart optioneel

' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_sprint186_map_first_geographic_explorer.py:19: AssertionError ___________ test_map_rectangle_drag_is_wired_to_automatic_analysis ____________ def test_map_rectangle_drag_is_wired_to_automatic_analysis() -> None: workspace = read("frontend/src/components/map/MapWorkspace.tsx") geomap = read("frontend/src/components/GeoMap.tsx") styles = read("frontend/src/styles/app.css") assert "onMapBboxPreview={handleMapBboxPreview}" in workspace assert "onMapBboxSelect={handleMapBboxSelect}" in workspace assert "void analyzeSelection(bbox, areaIdForSelection(bbox))" in workspace assert "const areaIdForSelection" in workspace assert "bbox && selectedMapArea ? selectedMapArea.id : undefined" in workspace > assert "void analyzeSelection(selectedAreaBbox, selectedMapArea?.id)" in workspace E assert 'void analyzeSelection(selectedAreaBbox, selectedMapArea?.id)' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_sprint186_map_first_geographic_explorer.py:44: AssertionError __ test_evolution_theme_catalog_distinguishes_history_from_current_only_data __ def test_evolution_theme_catalog_distinguishes_history_from_current_only_data() -> None: workspace = read("frontend/src/components/map/MapWorkspace.tsx") assert "analysisMode === 'current'" in workspace > assert "Boolean(dataset || onDemandProduct)" in workspace E assert 'Boolean(dataset || onDemandProduct)' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_sprint200_temporal_explorer_handoff.py:25: AssertionError _____ test_regional_map_uses_logical_partition_groups_and_exact_analysis ______ def test_regional_map_uses_logical_partition_groups_and_exact_analysis() -> None: app = (ROOT / "frontend/src/App.tsx").read_text(encoding="utf-8") workspace = (ROOT / "frontend/src/components/map/MapWorkspace.tsx").read_text(encoding="utf-8") hook = (ROOT / "frontend/src/hooks/useMapThemeSelectionInsights.ts").read_text(encoding="utf-8") api = (ROOT / "frontend/src/services/api/datasets.ts").read_text(encoding="utf-8") assert "regionalScopeSelected" in workspace assert "rasterPartitionsForDataset" in workspace assert "imageOverlays={activeImageOverlays}" in workspace > assert "de juiste gemeentelijke rasters worden automatisch gecombineerd" in workspace E assert 'de juiste gemeentelijke rasters worden automatisch gecombineerd' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_sprint219_regional_raster_explorer.py:30: AssertionError ___ test_frontend_uses_partitioned_bathymetry_selection_for_regional_scope ____ def test_frontend_uses_partitioned_bathymetry_selection_for_regional_scope() -> None: app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8") index = (ROOT / "frontend" / "index.html").read_text(encoding="utf-8") focus = ( ROOT / "frontend" / "src" / "config" / "primaryFocus.ts" ).read_text(encoding="utf-8") map_workspace = ( ROOT / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx" ).read_text(encoding="utf-8") theme_hook = ( ROOT / "frontend" / "src" / "hooks" / "useMapThemeSelectionInsights.ts" ).read_text(encoding="utf-8") dataset_api = ( ROOT / "frontend" / "src" / "services" / "api" / "datasets.ts" ).read_text(encoding="utf-8") assert "isPartitionedBathymetry" in map_workspace assert "regionalPartitionedThemeActive" in map_workspace > assert "datasetAvailabilityLabel(dataset, partitions)" in map_workspace E assert 'datasetAvailabilityLabel(dataset, partitions)' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_sprint236_bathymetry_expansion.py:478: AssertionError ____ test_flanders_workspace_exposes_governed_thematic_products_on_demand _____ def test_flanders_workspace_exposes_governed_thematic_products_on_demand() -> None: workspace = read("frontend/src/components/map/MapWorkspace.tsx") product_hook = read("frontend/src/hooks/useOfficialMapProducts.ts") selection_hook = read("frontend/src/hooks/useMapThemeSelectionInsights.ts") api = read("frontend/src/services/api/datasets.ts") assert "activeScopeProject?.name === FLANDERS_WORKSPACE_PROJECT_NAME" in workspace assert "new Map" in workspace > assert "'Automatisch'" in workspace E assert "'Automatisch'" in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_sprint237_flanders_thematic_on_demand.py:19: AssertionError ________ test_selection_reads_and_bounded_acquires_all_relevant_themes ________ def test_selection_reads_and_bounded_acquires_all_relevant_themes() -> None: workspace = read("frontend/src/components/map/MapWorkspace.tsx") app = read("frontend/src/App.tsx") selection_hook = read("frontend/src/hooks/useMapThemeSelectionInsights.ts") > assert "for (const theme of [activeTheme])" in workspace E assert 'for (const theme of [activeTheme])' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_sprint237_flanders_thematic_on_demand.py:37: AssertionError ______ test_regional_on_demand_sources_require_a_bounded_drawn_selection ______ def test_regional_on_demand_sources_require_a_bounded_drawn_selection() -> None: workspace = read("frontend/src/components/map/MapWorkspace.tsx") assert "regionalOnDemandThemeActive" in workspace > assert "regionalRasterThemeActive || regionalOnDemandThemeActive" in workspace E assert 'regionalRasterThemeActive || regionalOnDemandThemeActive' in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_sprint237_flanders_thematic_on_demand.py:56: AssertionError _____ test_grb_frontend_and_contracts_use_only_the_governed_backend_path ______ def test_grb_frontend_and_contracts_use_only_the_governed_backend_path() -> None: selection_hook = (ROOT / "frontend/src/hooks/useMapThemeSelectionInsights.ts").read_text(encoding="utf-8") catalog_hook = (ROOT / "frontend/src/hooks/useOfficialMapProducts.ts").read_text(encoding="utf-8") workspace = (ROOT / "frontend/src/components/map/MapWorkspace.tsx").read_text(encoding="utf-8") contracts = (ROOT / "docs/API_CONTRACTS.md").read_text(encoding="utf-8") assert "datasetsApi.acquireGrb" in selection_hook assert "datasetsApi.listGrbProducts" in catalog_hook assert "officialMapProducts.grb" in workspace assert "result[product.key] = null" in workspace assert ": onDemandThemeActive\n ? null\n : mapFeatureCollection" in workspace assert "onSetContextLayerLabel" in workspace > assert "'Automatisch'" in workspace E assert "'Automatisch'" in "import { useCallback, useEffect, useMemo, useRef, useState, type KeyboardEvent } from 'react'\nimport { BoxSelect, Ch...ijken.

\n )}\n \n \n \n \n \n )\n}\n" backend\tests\test_sprint239_bounded_grb_acquisition.py:394: AssertionError __________ test_app_entrypoint_has_clean_encoding_and_react_imports ___________ def test_app_entrypoint_has_clean_encoding_and_react_imports() -> None: app_path = ROOT / "frontend" / "src" / "App.tsx" app_bytes = app_path.read_bytes() app = app_path.read_text(encoding="utf-8") assert not app_bytes.startswith(b"\xef\xbb\xbf") assert "import { useEffect, useMemo, useRef, useState } from 'react'" in app assert "FormEvent" not in app > assert app.count("useEffect(") == 1 E assert 3 == 1 E + where 3 = ('useEffect(') E + where = "import { useEffect, useMemo, useRef, useState } from 'react'\nimport { CircleAlert, LogOut, ShieldCheck, UserRound } ...ator' : 'open')}\n loggingOut={loggingOut}\n onLogout={handleLogout}\n />\n )\n}\n\nexport default App\n".count backend\tests\test_sprint39_frontend_orchestration_hooks.py:40: AssertionError - generated xml file: C:\Projects\geointel\artifacts\evidence\accuracy\P1\backend-full-suite.junit.xml - =========================== short test summary info =========================== FAILED backend\tests\test_rc4_national_coverage.py::test_frontend_prefers_materialized_national_workspace_and_resolves_drawn_bbox FAILED backend\tests\test_rc5_release_deployment.py::test_runtime_configuration_is_validated_before_container_replacement FAILED backend\tests\test_rc9_ux_release_contract.py::test_rc9_loading_and_accessibility_states_are_explicit FAILED backend\tests\test_rc_runtime_observability.py::test_all_in_one_deploy_embeds_immutable_build_identity FAILED backend\tests\test_sprint106_map_bbox_extract.py::test_frontend_exposes_map_bbox_selection_contracts FAILED backend\tests\test_sprint177_mol_primary_focus.py::test_frontend_declares_national_scope_as_primary_operating_focus FAILED backend\tests\test_sprint177_mol_primary_focus.py::test_product_docs_record_national_scope_and_mol_regression_focus FAILED backend\tests\test_sprint186_map_first_geographic_explorer.py::test_map_first_explorer_is_the_default_product_flow FAILED backend\tests\test_sprint186_map_first_geographic_explorer.py::test_map_rectangle_drag_is_wired_to_automatic_analysis FAILED backend\tests\test_sprint200_temporal_explorer_handoff.py::test_evolution_theme_catalog_distinguishes_history_from_current_only_data FAILED backend\tests\test_sprint219_regional_raster_explorer.py::test_regional_map_uses_logical_partition_groups_and_exact_analysis FAILED backend\tests\test_sprint236_bathymetry_expansion.py::test_frontend_uses_partitioned_bathymetry_selection_for_regional_scope FAILED backend\tests\test_sprint237_flanders_thematic_on_demand.py::test_flanders_workspace_exposes_governed_thematic_products_on_demand FAILED backend\tests\test_sprint237_flanders_thematic_on_demand.py::test_selection_reads_and_bounded_acquires_all_relevant_themes FAILED backend\tests\test_sprint237_flanders_thematic_on_demand.py::test_regional_on_demand_sources_require_a_bounded_drawn_selection FAILED backend\tests\test_sprint239_bounded_grb_acquisition.py::test_grb_frontend_and_contracts_use_only_the_governed_backend_path FAILED backend\tests\test_sprint39_frontend_orchestration_hooks.py::test_app_entrypoint_has_clean_encoding_and_react_imports 17 failed, 1180 passed in 70.63s (0:01:10)