mirror of
https://github.com/ARUP-CAS/aiscr-qgis-amcr-viewer.git
synced 2026-10-08 20:07:36 +02:00
* fix: váha prvku komponent počítaná z komponent prošlých filtrem (#55) Váha prvku_vaha = 1/n se dosud počítala ze všech komponent dokumentační jednotky ještě před filtrem na období a areál, takže při aktivním filtru váhy prvků jedné DJ nedávaly v součtu 1 (DJ se 4 komponentami, filtru vyhoví 1 → váha 0,25 místo 1). - nová funkce _component_entries: nejdřív vyfiltruje komponenty, pak přidělí váhu 1/n z těch, které prošly; DJ bez komponent má váhu 1 - smoke test vaha_komponent (4×0,25; 1 ze 4 → 1; 2 ze 3 → 2×0,5; bez komponent → 1) - README: pole prvek_vaha v tabulce atributů komponent - changelog v2.2.0 doplněn (bez povýšení verze) - OpenSpec změna openspec/changes/fix-component-feature-weight Ověřeno: živá data (Praha, novověk) – 0 z 1204 DJ se součtem vah ≠ 1, původní kód 921; check_sources, bandit, detect-secrets, flake8, ruff, pyqgis4-checker, smoke test v qgis/qgis:ltr i :stable. Implementace připravena AI (Claude, subagent), ověřena a zkontrolována. * openspec: archivovat fix-component-feature-weight (#55) Ruční test v QGIS ověřen správcem: akce i lokality s Načíst komponenty, bez filtru i s filtrem období – váhy prvků jedné DJ dávají součet 1 a počítají se jen z vyfiltrovaných komponent. Úkol 3.2 odškrtnut, změna archivována přes openspec archive --skip-specs. Připraveno s pomocí AI (Claude).
1.9 KiB
1.9 KiB
Tasks
1. Weight computed from passing components
- 1.1 In
amcr_viewer/amcr_tools.pyextract the per-component entry building of the Načíst komponenty branch into a pure helper that takes the DJ metadata, the component list and a pass predicate, filters first and setsvaha = 1/len(passing); setvaha = 1explicitly for a DJ without components; verify withpython3 tests/check_sources.py,flake8 --isolated amcr_viewer/andruff check . - 1.2 Extend
tests/smoke_test.pywith an offline case for the helper (4 components no filter → 4×0.25; 1 of 4 passes → 1.0; 2 of 3 pass → 2×0.5, sum 1 within tolerance; no components → 1 entry, weight 1); verify the smoke test passes inqgis/qgis:ltrandqgis/qgis:stable
2. Documentation
- 2.1 Add
prvek_vaha(alias Váha prvku) to the component fields table inREADME.mdwith the rule "1/n, n = features created from the same documentation unit after filters"; verify by reading the rendered table - 2.2 Extend the v2.2.0 changelog bullet about the feature weight in
amcr_viewer/metadata.txt(weights of one documentation unit sum to 1 also with period/area filters); no version bump – 2.2.0 is unreleased andCITATION.cffalready says 2.2.0; verify both versions match
3. Verification
- 3.1 Run the full local check set from
AGENTS.md(check_sources, bandit, detect-secrets--all-files, flake8--isolated, ruff, pyqgis4-checker log empty, smoke test ltr + stable); verify all clean - 3.2 Manual test in QGIS (user): akce in a small window with Načíst
komponenty and one period filter; verify in the attribute table that
prvek_vahasums to 1 perdj_id- Verified by the maintainer 2026-10-02: akce and lokality with Načíst komponenty, without and with a period filter – weights sum to 1 per DJ and are computed only from the filtered components