Tvrzení a skutečnost: registr přehnaných tvrzení
Nezávislý audit dřívější verze Kshana zaznamenal čtrnáct přehnaných tvrzení (OC-0…OC-13): míst, kde veřejně přístupná plocha (README, hřiště, štítky FoM (ukazatel kvality), balíčky scénářů) popisovala schopnost silněji, než kód poskytoval. Tato stránka je registr uzavření: každý řádek uvádí původní přehnané tvrzení, jak bylo vyřešeno, a důkaz. Vyskytují se dva druhy řešení:
- Odtvrzeno: formulace byla opravena tak, aby odpovídala kódu (poctivé přerámování, bez změny schopnosti). „Žádný kód = žádné tvrzení.“
- Překonáno: skutečná schopnost byla následně vytvořena a otestována, takže silné tvrzení se stalo přesným.
Regresní ochrana (tests/no_overclaims.rs) při každém běhu CI (kontinuální integrace) prohledává živé veřejné plochy (README.md, docs/CAPABILITY.md, docs/GLOSSARY.md, web/capabilities.json, web/index.html, web/README.md a úvodní stránky crates.io, PyPI (Python Package Index) a npm README.crates.md, README.pypi.md, README.npm.md) a selže, pokud se některá z vyřazených holých přehnaných formulací objeví znovu bez výhrady, takže řádek nemůže tiše sklouznout zpět ze stavu GREEN.
Všech čtrnáct řádků je GREEN.
| OC (přehnané tvrzení) | Původní přehnané tvrzení | Řešení | Stav | Důkazy |
|---|---|---|---|---|
| OC-0 | „společný Kalmanův fúzní estimátor“ naznačoval jediný filtr s křížovou kovariancí; kód spouštěl dva nezávislé estimátory | Překonáno: byl vytvořen skutečný Kalmanův filtr hodin a polohy svázaný křížovou kovariancí | 🟢 | src/fusion/coupled.rs (7 testů, včetně souboru 100 pokusů porovnávajícího svázaný a nesvázaný filtr, který vyžaduje, aby RMS (střední kvadratická hodnota) polohy svázaného filtru byla pod 0,6× nesvázaného a aby svázaný filtr vyhrál alespoň v 90 ze 100 pokusů); CAPABILITY „Sensor fusion“ → full |
| OC-1 | „RAIM (autonomní monitorace integrity přijímače) detekce spoofingu podporovaná hodinami“ naznačovala vícedružicový detektor RAIM | Odtvrzeno → Překonáno: přerámováno na mez detekovatelnosti spoofingu ze stability hodin; následně přibyl skutečný RAIM/ARAIM (HPL/VPL (HPL: horizontální ochranná úroveň; VPL: vertikální ochranná úroveň)) | 🟢 | src/raim.rs (30 testů: snapshotový RAIM + ARAIM se separací řešení, HPL/VPL, FDE (detekce a vyloučení poruch), Stanfordovy diagramy); docs/INTEGRITY.md |
| OC-2 | „demonstrátor rušení (jamming)“ bez jakéhokoli kódu rušení | Překonáno: byl vytvořen model rušení (jamming) podle rozpočtu spoje J/S → efektivní C/N₀ → ztráta vazby | 🟢 | src/jamming.rs (10 testů); řádek „Resilience“ v README |
| OC-3 | „Plný model šumu IMU (inerciální měřicí jednotka) podle Allanova rozptylu na trojosé IMU“: model byl jednoosý | Odtvrzeno → Překonáno: přerámováno na jednoosý (1-DOF (DOF: stupeň volnosti)) rozpočet chyb; následně byl dodán tříosý strapdown INS (inerciální navigační systém) | 🟢 | src/inertial tříosý strapdown (orientace kvaterniony, mechanizace NED (sever-východ-dolů), coning/sculling); ROADMAP „Inertial“ |
| OC-4 | „Integrace hybridního PNT (určování polohy, navigace a času)“ naznačovala svázaný filtr GNSS/INS (GNSS: globální družicový navigační systém); byl to rozpočet chyb dead-reckoningu | Odtvrzeno → Překonáno: přerámováno na dead-reckoning s nastavitelným opětovným zachycením; následně byla dodána skutečná těsně vázaná fúze GNSS/INS | 🟢 | src/fusion/tightly_coupled17.rs (UKF (Kalmanův filtr typu unscented) s 17 stavy s dead-reckoningem quantum-CAI (CAI: atomový interferometr se studenými atomy)); CAPABILITY „Sensor fusion“ → full |
| OC-5 | „ověřeno ~2 %“ naznačovalo těsnou vynucenou bránu | Odtvrzeno: VALIDATION.md uvádí vynucenou bránu (20–25 % průměrováno přes seedy); „~2 %“ bylo označeno jako typické pozorování, nikoli jako brána |
🟢 | docs/VALIDATION.md záhlaví „On tolerances“ |
| OC-6 | „deterministické napříč platformami“ bez doloženého důkazu | Odtvrzeno: toolchain připnut na přesné vydání; hashe zlatých hodnot pro jednotlivé scénáře jsou zapsány s bránou reprodukovatelnosti. (Bitová shoda napříč OS/architekturami (OS: operační systém) zůstává otevřenou položkou, uvedenou poctivě.) | 🟢 | rust-toolchain.toml (kanál 1.93.0); tests/golden.rs (číselné hodnoty na 1e-6); tests/cross_platform_golden.rs (hash vstupního otisku a tvaru každého výsledku, spouštěný v matici CI pro Linux, macOS a Windows); scripts/check-reproducible.sh |
| OC-7 | „hybridní kvantově-klasický simulátor PNT“ naznačoval kvantovou fyziku z prvních principů | Odtvrzeno → Překonáno: přerámováno na simulátor odolnosti PNT používající modely výkonu kvantových senzorů; následně přibyla fyzika CAI typu Mach–Zehnder z prvních principů | 🟢 | src/inertial/quantum_imu.rs (26 testů: fáze Mach–Zehnder, projekční šum 1/√(N·C²·T²), přenosová funkce vibrací, Coriolis + systematické chyby AC-Stark (AC: střídavý proud)); docs/QUANTUM.md |
| OC-8 | ukazatel kvality „Integrity Performance“ naznačoval letecký typ integrity HPL/VPL/RAIM | Odtvrzeno + Překonáno (vrstveně): ukazatel kvality scénáře pro jednotlivý běh je poctivě označen jako vnitřní konzistence filtru (nikoli letecká integrita); skutečné ARAIM HPL/VPL je zpřístupněno zvlášť, aby se obojí nikdy nezaměňovalo | 🟢 | src/fom.rs:80 (integrity: vnitřní konzistence, s výhradou); src/raim.rs + docs/INTEGRITY.md (skutečné ARAIM) |
| OC-9 | ukazatel kvality Security prezentovaný jako vždy smysluplný, i bez útoku | Odtvrzeno: ukazatel kvality Security (1 − P_md) je zasazen do kontextu detektoru spoofingu a je smysluplný jen tehdy, když je nastaven scénář s útokem |
🟢 | řádek „Resilience“ v README; ukazatel kvality Security je definován v provozně škodlivém specifikačním bodě |
| OC-10 | ukazatel kvality „Positioning Performance“ naznačoval plnou přesnost v oblasti polohy | Odtvrzeno: u inerciálního a hybridního balíčku označeno jako jednoosé (1-DOF) pos_rms_m, výslovně nikoli jako 2D CEP/2DRMS (CEP: kruhová pravděpodobná chyba) ani přesnost vážená DOP (DOP: zhoršení přesnosti) |
🟢 | tabulka ukazatelů kvality v README (řádek „Positioning Performance“) |
| OC-11 | čísla inerciálních ukazatelů kvality čtená jako statistika souboru z jednotlivých seedů | Odtvrzeno: jediný běh je označen monte_carlo: false; runs = N uvádí průměr, rozptyl a bootstrapový 95% interval spolehlivosti |
🟢 | tabulka ukazatelů kvality v README; testy obálky pokrytí scénářů |
| OC-12 | scénář „konstelace SGP4 (Simplified General Perturbations 4) GPS (Global Positioning System)“ používal syntetické zástupné TLE (dvouřádkové sady elementů) | Překonáno: scénář nyní vkládá skutečný datovaný snímek Celestraku gps-ops se striktními kontrolními součty |
🟢 | scenarios/orbit-sgp4-gps.toml (skutečné gps-ops, strict_checksum); tests/scenario_coverage.rs |
| OC-13 | řetězec verze v README se rozcházel s Cargo.toml |
Odtvrzeno: brána CI ověřuje, že stavový odznak v README odpovídá Cargo.toml |
🟢 | scripts/check-version-sync.sh |
0,35: tvrzení udržena úzká a jedna oprava#
Funkce verze 0,35 byly napsány s výslovně uvedenými limity vedle tvrzení a tytéž ochrany (tests/no_overclaims.rs a ochrana formulací v tests/compliance_report.rs) prohledávají stránky, které je popisují. Tato tabulka není součástí čtrnáctiřádkového registru výše; zaznamenává pro nové plochy, co se tvrdí a co ne.
| Povrch | Co se tvrdí | Co se netvrdí |
|---|---|---|
Skóre důvěryhodnosti plavidla (receiver_trust, $PKSHT, brána, Signal K, OpenCPN) |
skóre 0–100 a důvody z vlastního NMEA přijímače, MODELLED | poradní charakter, nikoli typově schválené navigační zařízení; skóre jednoho záznamu nevypovídá o jiných přijímačích; nezpřesňuje fixaci |
| Proudy NMEA pro výcvik posádek | syntetické mostové NMEA se skriptovanými událostmi a záznamem instruktora | pouze text, žádný výstup v rádiovém kmitočtu; nikdy pro živé navigační systémy plavidla; poradní charakter, nikoli typově schválené navigační zařízení |
| Balíčky důkazů | podepsaný technický záznam, který lze ověřit offline | není právním stanoviskem; neříká, co událost způsobilo, kdo za ni odpovídal ani že záznam ukazuje, co přijímač skutečně přijal |
| Mapa interference | souhrnné buňky zhoršené navigace z otevřeně licencovaných hlášení | není předpověď; expozice trasy je podíl buněk, nikoli riziko |
| Export pro testovací bench | pohyb vozidla a události scénáře v souborech, které umí číst laboratorní simulátor | nezapisuje se žádný signál; netvrdí se žádný výkon simulátoru ani přijímače |
| Mapování na veřejné rámce (compliance) | které řádky sada běhů podporuje důkazy pro (supports evidence for), s mezerou u každého řádku | nikdy že je rámec splněn nebo produkt schválen; samotný štítek druhu není důkazem |
Oprava zaznamenaná ve verzi 0,35. Dřívější verze docs/RESILIENCE-CROSSWALK.md a komentářů modulu odolnosti popisovaly sedm „kategorií technik“ rámce DHS Resilient PNT Conformance Framework. Verze 2,0 tohoto rámce definuje základní funkce (Prevent, Respond, Recover), úrovně 0 až 4 a osm číslovaných požadavků, nikoli seznam sedmi kategorií. Sedm názvů dílčích skóre, které bodovací engine vydává, jsou vlastní názvy Kshana a křížová tabulka to nyní uvádí.
Jak řádek zůstává GREEN#
Silná tvrzení (OC-0/2/7/8 a překonané poloviny OC-1/3/4/12) jsou GREEN, protože schopnost je dodána a otestována, nikoli proto, že by se formulace změkčila. Odtvrzené řádky jsou GREEN, protože živá formulace odpovídá kódu. Ochranný test činí druhou kategorii vynutitelnou: pokud se vyřazená přehnaná formulace vrátí na veřejnou plochu, CI zčervená. Viz tests/no_overclaims.rs.