Wo jede Fähigkeit erreichbar ist
Jede Fähigkeit steht auf den Oberflächen zur Verfügung, auf denen sie sinnvoll ist; wo eine Oberfläche eine Fähigkeit nicht tragen kann, steht in der Zelle N/A und der Grund. Hinter jeder Oberfläche läuft dieselbe Engine: Die Einstiegspunkte für Python, WebAssembly und MCP für die Fähigkeiten von 0,35 sind dünne Wrapper über kshana::surface, das den Code aufruft, den die Kommandozeile ausführt.
Eine Passage, die KI-Clients von Drittanbietern nennt, ist hier ausgelassen; sie steht in docs/SURFACES.md auf GitHub.
| Fähigkeit | CLI | Rust | Python | WASM | MCP | Plugin | JetBrains | Notebook | Studio |
|---|---|---|---|---|---|---|---|---|---|
| Empfänger-Vertrauen für Schiffe, Stapel-Log (Wert 0-100, Gründe) | receiver-trust |
receiver_trust::assess::assess_vessel_log |
receiver_trust, assess_vessel_log |
receiver_trust, assess_vessel_log |
assess_receiver_log, assess_vessel_log |
/kshana-assess-receiver, Skill vessel-receiver-trust |
Assess Receiver Trust | vessel-trust-and-training |
Seite für maritimes Vertrauen |
| Empfänger-Vertrauen an einem begrenzten Stromausschnitt (Werte, Zustände, Gründe; kein Gate) | receiver-trust live |
receiver_trust::assess::assess_stream_excerpt |
receiver_trust_replay |
receiver_trust_replay |
assess_vessel_stream |
gleich | Assess Receiver Stream (ein gespeichertes Log) | vessel-trust-and-training |
Seite für maritimes Vertrauen |
Satellitengeometrie und Abzugsklassen (0,36: geometry gut/herabgesetzt/unbekannt mit Gründen und DOP, ein immer gemeldetes label gut/mittel/schlecht, der Monitor geometry (nichts, solange die Geometrie nicht schlecht ist, dann bis zu 15 Punkte; in monitors_run zuletzt aufgeführt, wenn er entschieden hat, sodass die Monitorzahl des Urteils die Geometrie einschließt), eine class bei jedem Abzug, geometry_model, geometry_summary) |
receiver-trust, receiver-trust live (im Ergebnis-JSON und in jeder JSON-Zeile; CSV, SVG, Ein-Zeilen-Urteil und $PKSHT tragen einen Geometrie-Abzug wie jeden anderen und sind sonst unverändert) |
receiver_trust::geometry, auf EpochTrust, Deduction und EpochReport |
receiver_trust, assess_vessel_log, receiver_trust_replay (in den zurückgegebenen Dicts) |
dieselben drei (im zurückgegebenen JSON) | assess_receiver_log, assess_vessel_log, assess_vessel_stream (in der Antwort; die Antwort eines Schiffs-Logs behält geometry_model und geometry_summary); trust_telemetry stellt es dar |
gleich, Skills vessel-receiver-trust, trust-telemetry |
die obigen Aktionen geben die CLI-Ausgabe aus, die es enthält | vessel-trust-and-training (im Ergebnis, das es lädt) |
ausstehend: Die Seite für maritimes Vertrauen zeigt es noch nicht (Felder aufgeführt in docs/MARITIME-TRUST.md, Studio-Ansicht Punkt 6) |
receiver-trust live als laufender Prozess (stdin, verfolgte Datei, TCP, UDP, --gate, --listen) |
receiver-trust live |
receiver_trust::live::LiveEngine |
N/A | N/A | N/A | N/A | N/A | N/A | Tools: Karte Kommandozeile (der auszuführende Befehl; ein Browser ist kein Prozess im Datenpfad) |
Nachweispaket: erstellen (signiert, Fenster eines Logs; 0,38: ein optionales lab-attestation, die Erklärung des Betreibers zu einem Laboraufbau, im signierten Manifest festgehalten, nie verifiziert) |
receiver-trust evidence (--lab-attestation <file.toml>) |
evidence::create_bundle, evidence::create_bundle_attested, surface::evidence_create, surface::evidence_create_attested |
evidence_create (lab_attestation) |
N/A (Signaturschlüssel) | create_evidence_pack (lab_attestation_toml) |
/kshana-evidence-pack, Skill evidence-pack |
Create Evidence Pack (kein Attestierungsfeld im Dialog in 0,38: ausstehend; die Kommandozeile nimmt es entgegen) | vessel-trust-and-training |
N/A (ein Signaturschlüssel gehört nicht auf eine Seite); Tools: Karte Kommandozeile |
Jammertest als Schiedsrichter (0,38): der veröffentlichte NPRA-Katalog und Sendeplan, gelesen als geplante Wahrheit (import), ein Empfänger-Log, je Test dagegen bewertet (score: Erkennungslatenz, verpasst, Fehlalarme, Zeit bis zur Erholung; MODELLED) |
jammertest import, jammertest score |
jammertest::plan, jammertest::score, surface::jammertest_import_json, surface::jammertest_score_json |
jammertest_import, jammertest_score |
jammertest_import, jammertest_score |
jammertest_import, jammertest_score |
/kshana-jammertest, Skill jammertest |
N/A (braucht die Plandateien und ein Log auf der Platte; von einem Terminal ausführen) | N/A (noch kein Notebook) | ausstehend: eine Tools-Karte für die Kommandozeile (der Studio-Streifen und die Ansichten gehören zu WS-A) |
Signiertes Jammertest-Bewertungspaket (jammertest score --key: das Nachweispaket zum Empfänger-Vertrauen mit dem Bewertungsbogen und dem Zeitplan in config.json) |
jammertest score --key <keyfile> --out <dir> |
jammertest::score_pack |
N/A (Signaturschlüssel) | N/A (Signaturschlüssel) | N/A (Signaturschlüssel: create_evidence_pack auf einem Fenster verwenden oder die Kommandozeile) |
N/A | N/A | N/A | N/A (ein Signaturschlüssel gehört nicht auf eine Seite); Tools: Karte Kommandozeile |
Selbstauskunft des Empfängers (0,38): UBX-NAV-STATUS spoofDetState und UBX-SEC-SIG, bei jeder Epoche in self_report gelesen, und der Vergleich receiver_self_report (beide / nur Empfänger / nur Kshana / keiner) im Ergebnis; löst keinen Alarm aus und ändert keinen Wert |
receiver-trust (im Ergebnis-JSON; jammertest score) |
receiver_trust::ReceiverSelfReport, monitors::SelfReportEpoch, monitors::SelfReportSummary |
receiver_trust, assess_receiver_log (in den zurückgegebenen Dicts) |
receiver_trust (im zurückgegebenen JSON) |
assess_receiver_log (in der Antwort) |
/kshana-assess-receiver |
die obigen Aktionen geben die CLI-Ausgabe aus, die es enthält | N/A | ausstehend: der Streifen der Vertrauensseite (WS-A; das Feld ist epochs[].self_report) |
| Septentrio-SBF-Logformat (0,38, nur lesen: PVTGeodetic, MeasEpoch, RFStatus) | receiver-trust mit [log] format = "sbf" |
receiver_trust::ingest::read_sbf, LogFormat::Sbf |
receiver_trust, assess_receiver_log (format = "sbf", Log als base64) |
dasselbe | assess_receiver_log (base64) |
/kshana-assess-receiver |
die obigen Aktionen | N/A | N/A (das Hochladen binärer Logs wird auf der Vertrauensseite in 0,38 nicht angeboten) |
receiver-trust live --serial <device> [--baud n]: ein serieller oder USB-NMEA-Feed, nur lesend (öffnet das Gerät zum Lesen, schreibt nie auf den Empfänger; --configure wird zurückgewiesen) |
receiver-trust live --serial |
N/A (ein Gerät und ein Prozess) | N/A | N/A | N/A | N/A | N/A | N/A | Tools: Karte Kommandozeile (der auszuführende Befehl; ein Browser ist kein Prozess im Datenpfad) |
| Nachweispaket: erstellen (signiert, Fenster eines Logs) | receiver-trust evidence |
evidence::create_bundle, surface::evidence_create |
evidence_create |
N/A (Signaturschlüssel) | create_evidence_pack |
/kshana-evidence-pack, Skill evidence-pack |
Create Evidence Pack | vessel-trust-and-training |
N/A (ein Signaturschlüssel gehört nicht auf eine Seite); Tools: Karte Kommandozeile |
| Labor-Rundlaufpaket (Szenario, Testbedingungen, Empfänger-Log und Bewertung, per Hash verknüpft) | evidence round-trip |
evidence::build_round_trip_pack, surface::evidence_round_trip |
evidence_round_trip |
N/A (Signaturschlüssel) | create_round_trip_pack |
/kshana-evidence-pack |
N/A (JetBrains-Aktionen sind an eine ausgewählte Datei gebunden; das Paket braucht ein Szenario, Bedingungen, ein Log und einen Schlüssel: im IDE-Terminal ausführen) | N/A (ein Signaturschlüssel gehört nicht auf eine Seite); Tools: Karte Kommandozeile | |
| Nachweispaket: verifizieren | evidence verify |
evidence::verify_bundle |
evidence_verify |
evidence_verify |
verify_evidence_pack |
gleich | Verify Evidence Pack (nur festgelegter Schlüssel) | vessel-trust-and-training |
Tools: Nachweispakete (verifizieren, Zeitstempel anhängen) |
Vertrauens-Telemetrie (Prometheus, Syslog CEF/LEEF, OTLP; 0,38: format = "mqtt", Home-Assistant-Erkennung und Zustandszeilen; --mqtt-tcp veröffentlicht aus der CLI) |
trust-telemetry |
telemetry |
trust_telemetry |
trust_telemetry (Textausgabe; kein Socket) |
trust_telemetry |
/kshana-trust-telemetry, Skill trust-telemetry |
Render Trust Telemetry (ein gespeichertes Ergebnis) | vessel-trust-and-training |
Tools: Telemetrie-Karte (Tab Kommandozeile; nur Formate, keine Sockets) |
Maschinen- und Sensoreingaben (0,38): receiver-trust-Formate rtklib-pos, novatel, gnss-sdr und [log.imu] (csv, euroc) |
receiver-trust (Szenario [log] format) |
receiver_trust::machines |
receiver_trust, assess_receiver_log (inline) |
receiver_trust (inline) |
assess_receiver_log (Inline-Text/base64; ein path wird zurückgewiesen) |
/kshana-assess-receiver |
Assess Receiver Trust | vessel-trust-and-training |
N/A (die Vertrauensseite des Studios liest die Formate, die sie auflistet; neue Formate folgen mit ihrer nächsten Portierung) |
IMU-Log zu Hybrid-/Fusions-Sensorparametern (Tabelle [accel_classical] aus einem Log im Stillstand, Allan-Anpassung) |
imu-fit |
surface::imu_fit, receiver_trust::machines::imu_fit |
imu_fit |
imu_fit |
fit_imu_log |
/kshana-fit-imu |
N/A (noch keine IDE-Aktion) | N/A | N/A (der Szenario-Editor des Studios nimmt die eingefügte Tabelle entgegen) |
ROS-2-Knoten, GNSS-SDR-UDP-Relay, trust-telemetry --mqtt-tcp (integrations/ros2, integrations/gnss-sdr) |
Prozesse | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A (langlaufende Prozesse und Sockets; Textformen: trust_telemetry mit mqtt) |
Galileo-OSNMA-Verifikation von I/NAV-Seiten oder eines UBX-Stroms (docs/OSNMA.md) |
osnma verify |
osnma::cli::verify_report, surface::osnma_verify |
osnma_verify |
osnma_verify |
N/A (ein langer roher Empfängerstrom passt zur CLI und zu Python; ein Agentenwerkzeug würde eine Oberfläche für große Eingaben ohne Nutzen hinzufügen) | N/A (Plugin-Befehle laufen über den MCP-Server, der aus dem Grund in der MCP-Zelle kein OSNMA-Werkzeug hat; kshana osnma verify ausführen) |
N/A (das Ergebnis bedeutet nichts ohne eine vertrauenswürdige Merkle-Wurzel oder einen öffentlichen Schlüssel, die auf anderem Weg aus dem ICD bezogen wurden, und, für die Aktualität, eine unabhängige Referenzzeit; eine Rechtsklick-Aktion hat keinen Ort, sie aufzunehmen, und ein nicht festgelegter Standard würde als Verifikation gelesen; kshana osnma verify ausführen) |
N/A (ein Strom hinein, ein JSON-Bericht heraus; kein Notebook) | Tools: OSNMA |
| Trainings-NMEA mit einem Ausbilder-Log | nmea-scenario |
nmea_synth::generate_from_toml |
nmea_training |
nmea_training |
generate_training_nmea |
/kshana-training-scenario, Skill training-nmea-scenario |
Generate Training NMEA | vessel-trust-and-training |
Seite für die Nachbesprechung des Trainings |
| Trainings-NMEA, gestreamt an eine TCP- oder UDP-Adresse | nmea-scenario --tcp/--udp |
nmea_synth::stream |
N/A | N/A | N/A | N/A | N/A | N/A | Tools: Karte Kommandozeile (streamt an eine Adresse) |
| Störungskarte (ADS-B, AIS) | interference-map adsb|ais |
interference_map::api |
interference_map |
interference_map |
build_interference_map |
/kshana-interference-map, Skill interference-map-route-exposure |
Build Interference Map | interference-map-route-exposure |
Seite der Störungskarte |
| Senderregion (ADS-B, AIS; MODELLED) | interference-map locate |
interference_map::api::emitter_regions_from_adsb_csv, emitter_regions_from_readsb_traces, emitter_regions_from_ais_csv |
interference_emitter_regions |
interference_emitter_regions |
N/A (noch nicht getragen; die Oberflächen Rust, Python und WASM decken es ab) | N/A | N/A | N/A (das Veröffentlichen von Senderregionen im öffentlichen Observatorium ist eine gesonderte Entscheidung des Eigentümers und ist ausgeschaltet) | |
| Routenexposition | route-exposure |
interference_map::api::route_exposure |
route_exposure |
route_exposure |
route_exposure |
gleich | Route Exposure | interference-map-route-exposure |
Seite der Störungskarte |
Signal-K-Plugin und OpenCPN-Gate-Feed (docs/MARINE-INTEGRATIONS.md) |
integrations/, receiver-trust live --gate --listen |
N/A (Prozesse) | N/A | N/A | N/A | nur Anleitung: /kshana-marine-integrations, Skill marine-integrations |
N/A | N/A | Tools: Karte Kommandozeile (Anleitung; eine Bereitstellung) |
| Test-bench-Export (Bewegungs-CSV, NMEA, Wegpunkte, Ereignisse für einen Laborsimulator) | bench-export |
interop::testbench::export_with_notes, surface::bench_export |
bench_export |
bench_export |
export_test_bench |
/kshana-bench-export, Skill test-bench-export |
Export Test-Bench Files | compliance-and-test-bench |
Tools: Test-bench-Export |
| Compliance-Mapping aus Läufen (für welche Zeilen öffentlicher Frameworks die Läufe Belege liefern) | compliance-report |
compliance::assess_texts, surface::compliance_report |
compliance_report |
compliance_report |
compliance_report |
/kshana-compliance-report, Skill compliance-mapping |
Build Compliance Report | compliance-and-test-bench |
Tools: Compliance-Mapping |
| Tabellen und Quellen des Compliance-Mappings | compliance-report --mapping, --sources |
compliance::mapping, surface::compliance_mapping |
compliance_mapping |
compliance_mapping |
compliance_mapping |
gleich | Show Compliance Mapping | N/A | Tools: Compliance-Mapping |
| Standardpakete (bewertete Szenariosätze mit vor dem Lauf festgelegten Zielwerten: DHS-RPCF-Testprofile, IMO MSC.1/Circ.1575, ICAO Doc 9849 Anhang F) | standards-pack |
standards_pack, surface::standards_pack_list, surface::standards_pack_run |
standards_pack_list, standards_pack_run |
standards_pack_list, standards_pack_run |
list_standards_packs, run_standards_pack |
/kshana-standards-pack |
N/A (JetBrains-Aktionen sind an eine ausgewählte Datei gebunden; Pakete sind eingebettet und brauchen keine: kshana standards-pack im IDE-Terminal ausführen) |
N/A (Tools-Karten des Studios für Pakete gehören zum Studio-Arbeitsstrang; die CLI oder die Ausgabe jeder Oberfläche speist die Karte Compliance-Mapping) | |
Prüfung der Einreichung eines Datenpartners (Format und Metadaten einer Einreichung gemessener Daten, kshana.partner-submission/1; bewertet nichts) |
partner check |
partner::check_file, partner::check |
N/A (die Prüfung liest lokale Dateien und ihre SHA-256; die Rust-API ist die Bibliotheksoberfläche und die CLI das Werkzeug) | N/A (kein Dateisystem im Browser-Build) | N/A (MCP lehnt Dateiquellen bewusst ab (nur Inline-Text)) | N/A (Slash-Befehle rufen MCP-Werkzeuge auf, und diese Prüfung braucht Dateien auf dem Datenträger) | N/A (JetBrains-Aktionen sind an eine ausgewählte Datei gebunden; eine Einreichung ist ein Ordner) | N/A (noch kein Notebook) | N/A (das Studio hat keinen Dateisystemzugriff; führen Sie den Befehl aus) |
LunaNet Augmented Forward Signal: Codes, SB1/CRC/Interleaver und eine Prüfung gegen LSIS-AFS V1.0 (docs/LUNANET-AFS.md) |
lunanet-afs-check; Signale lunanet-afs-i, lunanet-afs-q in iq scene/acquire/track/sweep |
iq::signals::lunanet, iq::lunanet_afs, surface::lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate |
lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate; iq_scene usw. mit den beiden Signalnamen |
lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate; iq_scene usw. über die kurzen Läufe im Arbeitsspeicher |
lunanet_afs_check |
/kshana-lunanet-afs-check |
N/A (JetBrains-Aktionen sind an eine ausgewählte Datei gebunden; kshana lunanet-afs-check im IDE-Terminal ausführen) |
N/A (eine Studio-Karte ist ein Punkt des Studio-Arbeitsstrangs; die CLI und jede andere Oberfläche tragen es) | |
Himmelsgeometrie unter einer Skyline: sichtbare und maskierte Satelliten, DOP, ENU-Kovarianz, Fehlerellipse (docs/SKYLINE.md) |
sky |
geometry::sky_geometry, surface::sky_geometry |
sky_geometry |
sky_geometry |
sky_geometry |
/kshana-run (verweist auf das Werkzeug) |
N/A (ein interaktiver Skyplot ist eine Browseransicht; kshana sky deckt die Zahlen ab) |
notebooks/geometry.ipynb |
– (die Geometrieansicht des Studios wird in 0,36 gesondert hinzugefügt) |
| Monte-Carlo-Wolke des Himmels (geseedete Kleinste-Quadrate-Fehler, RMS, 95 % Einschluss) | sky --monte-carlo <n> --seed <s> |
geometry::sky_monte_carlo |
sky_monte_carlo |
sky_monte_carlo |
N/A (Massenstichproben, die ein Agent zusammenfassen und nicht mitführen sollte) | N/A (kein MCP-Werkzeug) | N/A (siehe oben) | N/A | – (siehe oben) |
Skyline-Voreinstellungen und -Profile (docs/SKYLINE.md) |
skyline --preset <name>, --presets, --profile <file> |
geometry::skyline_presets, geometry::skyline_profile |
skyline_presets, skyline_profile |
skyline_presets, skyline_profile |
sky_geometry (skyline_preset) |
gleich | N/A (siehe oben) | N/A | – (siehe oben) |
| Skyplot als SVG | sky --svg |
geometry::skyplot_svg |
skyplot_svg |
skyplot_svg |
N/A (ein Agent liest die Zahlen aus sky_geometry) |
N/A | N/A (siehe oben) | N/A | – (siehe oben) |
Skyline-Abschnitt in einem Szenario ([skyline]: orbit und integrity mit user_site, gnss-sim, jamming, leo-pvt, leo-pass, nmea-scenario) |
die Szenariodatei | skyline::SkylineCfg |
run, nmea_training |
run, nmea_training |
run_scenario, generate_training_nmea |
/kshana-run |
Run Kshana Scenario | N/A | — |
Optische Zeitverbindung durch die Atmosphäre: Verfügbarkeit je Standort, Standortdiversität, Verbesserungstechniken, Kopplung von Ausfall und Holdover (Szenarioart optical-atmosphere; docs/OPTICAL-ATMOSPHERE.md; MODELLED, ILLUSTRATIVE Standorte, beratend) |
kshana scenarios/optical-atmosphere-network.toml, scenarios/optical-atmosphere-techniques.toml |
optical_atmosphere, optical_weather, optical_sitediv, optical_techniques, optical_outage_holdover |
run, run_typed |
run |
run_scenario |
/kshana-run |
Run Kshana Scenario | optical-atmosphere |
ausstehend: noch keine Studio-Ansicht; das Szenario läuft im Szenario-Runner des Studios und auf der Tools-Karte Kommandozeile |
Holdover-Test, bewertet an einer vom Betreiber gelieferten Zeitfehler-Aufzeichnung: Basislinie, vom Betreiber entferntes GNSS, Holdover, Erholung, gemessen an ITU-T-Masken (Szenarioart holdover-test; docs/TIMING-HIL.md; MODELLED, beratend; Kshana sendet und steuert nichts) |
kshana scenarios/holdover-test-example.toml, scenarios/holdover-test-ptp4l.toml |
holdover_test, telecom_timing |
run, run_typed |
run (inline samples oder clock_log.text; die Dateischlüssel werden zurückgewiesen) |
run_scenario (nur inline) |
/kshana-run |
Run Kshana Scenario | N/A (kein Notebook in 0,38; die Beispielszenarien laufen in jedem Notebook über run) |
ausstehend: noch keine Studio-Ansicht; das Szenario läuft im Szenario-Runner des Studios und auf der Tools-Karte Kommandozeile |
Fehlerbudget für Navigation und Zeitgebung einer Kette von Missionsphasen vom Start bis zum Wiedereintritt: acht Phasenarten, Übergaberegeln, Umrechnungen von Bezugssystem und Zeitskala, eine Bodennetz-Überlagerung, Marge gegenüber genannten Anforderungen und das schwächste Glied (Szenarioart mission-thread; docs/MISSION-THREAD.md; MODELLED, ILLUSTRATIVE Eingaben, beratend; nur öffentliche Quellen, keine Billigung) |
kshana scenarios/mission-thread-artemis-class.toml (aus einem Checkout: Es liest einen eingecheckten Ausschnitt des Mondkernels) |
mission_thread |
run, run_typed |
run (moon_kernel_path ist ein Dateischlüssel und wird abgelehnt; ohne Kernel ist der Mond die analytische Reihe, und die Umrechnungszeile sagt das) |
run_scenario (nur Inline; der Kernel-Schlüssel wird abgelehnt) |
/kshana-run |
Run Kshana Scenario | N/A (kein Notebook; das Beispiel läuft in jedem Notebook über run aus einem Checkout) |
ausstehend: noch keine Studio-Ansicht; das Szenario läuft im Szenario-Runner des Studios und auf der Tools-Karte Kommandozeile |
GNSS jenseits der Konstellation: Verfügbarkeit von Signalen von GPS, GLONASS, Galileo, BDS, QZSS und NavIC für einen Nutzer auf einer Kugelschale oder auf einer Trajektorie von LEO bis zum Mondtransfer (Booklet-, parametrisches oder gemessenes Sendediagramm, Medium des Randstrahls, Entwurf eines Empfängers für schwache Signale), ein GNSS-EKF an Bord für Fahrzeuge auf hoher Bahn und im Mondtransfer sowie relative Formationsnavigation (Szenarioart gnss-ssv; docs/SSV.md; MODELLED, beratend; unter einer Vorregistrierung mit dem ICG-SSV-Booklet verglichen, xval/gnss-ssv/RESULTS.md) |
kshana scenarios/gnss-ssv-shell.toml, gnss-ssv-heo.toml, gnss-ssv-lunar-weak.toml, gnss-ssv-nav-lunar.toml, gnss-ssv-formation-heo.toml |
ssv |
run, run_typed |
run (inline; transmit.pattern_text trägt ein gemessenes Diagramm inline) |
run_scenario (nur inline; transmit.pattern_csv wird zurückgewiesen) |
/kshana-run |
Run Kshana Scenario | N/A (kein Notebook in 0,38; die Szenarien laufen in jedem Notebook über run) |
ausstehend: noch keine Studio-Ansicht; das Szenario läuft im Szenario-Runner des Studios und auf der Tools-Karte Kommandozeile |
Mondbahn und Mondoberfläche als Navigations- und geodätische Infrastruktur: Konsistenz der Bahnbestimmung, Auflösung der Trägerphasen-Mehrdeutigkeit, gemeinsame Schätzung des Bezugssystems, Sensitivität von Space-Tie und Love-Zahl (Szenarioart lunar-infrastructure, study = ...; docs/LUNAR-INFRASTRUCTURE.md; MODELLED, ILLUSTRATIVE Eingaben, beratend) |
kshana scenarios/lunar-infrastructure-od-consistency.toml (und die fünf Geschwisterbeispiele) |
lunar_infra |
run, run_typed |
run |
run_scenario |
/kshana-run |
Run Kshana Scenario | N/A (kein Notebook; die Beispiele laufen in jedem Notebook über run) |
ausstehend: noch keine Studio-Ansicht; die Szenarien laufen im Szenario-Runner des Studios und auf der Tools-Karte Kommandozeile |
Gemessene Uhren-Logs, gelesen zu einer Phasenreihe: linuxptp ptp4l, phc2sys, ts2phc, chrony tracking und statistics, neben RINEX-Uhr, TimeLab und TICC ([clock_log] / [series.clock_log]; docs/CLOCK-LOG-FORMATS.md; MODELLED, keine unabhängige Referenz vergleicht eine Auswertung mit einem anderen Leser) |
ein Szenario mit [clock_log] |
clock_log::read_input |
run |
run (text nur inline; keine Dateizugriffe in einem Browser) |
run_scenario (text nur inline; path wird zurückgewiesen) |
/kshana-run |
Run Kshana Scenario | N/A (kein Notebook; ein Log ist eine Datei, die der Nutzer liefert) | ausstehend: keine Studio-Ansicht; der Szenario-Runner des Studios nimmt den Szenariotext entgegen |
Optische Zeitverbindung durch die Atmosphäre: Verfügbarkeit je Standort, Standortdiversität, Verbesserungstechniken, Kopplung von Ausfall und Holdover (Szenarioart optical-atmosphere; docs/OPTICAL-ATMOSPHERE.md; MODELLED, ILLUSTRATIVE Standorte, beratend) |
kshana scenarios/optical-atmosphere-network.toml, scenarios/optical-atmosphere-techniques.toml |
optical_atmosphere, optical_weather, optical_sitediv, optical_techniques, optical_outage_holdover |
run, run_typed |
run |
run_scenario |
/kshana-run |
Run Kshana Scenario | optical-atmosphere |
die Ansicht Optical PNT des Studios (/studio/optical/, 0,38) stellt die aufgezeichneten Ergebnisse der beiden mitgelieferten Szenarien dar, einschließlich der geseedeten Zeitreihe; das Szenario läuft außerdem im Szenario-Runner des Studios und auf der Tools-Karte Kommandozeile |
Download der Landpolygone (interference-map fetch-land) |
--allow-network |
CLI-Code | N/A | N/A | N/A | N/A | N/A | N/A | Tools: Karte Kommandozeile (braucht --allow-network) |
Benchmark (kshana-bench v1: eine Einreichung gegen eine Wahrheitsdatei bewerten, Bestenlisten-Seite; docs/BENCH.md, MODELLED, beratend) |
bench score, bench leaderboard |
bench::score, bench::site::leaderboard_html, surface::bench_score, surface::bench_leaderboard |
bench_score, bench_leaderboard |
bench_score, bench_leaderboard |
score_benchmark, render_leaderboard |
N/A (die beiden MCP-Werkzeuge tragen es; ein Slash-Befehl über zwei JSON-Dateien fügt nichts hinzu) | N/A (keine IDE-Aktion) | N/A (Lehr-Notebooks sind ein eigener Arbeitsstrang) | N/A (die Bestenliste ist die statische Seite bench/site/, unverändert auf die Website portiert; das Studio berechnet nichts) |
Benchmark-Daten und Werkzeuge für zurückgehaltene Datensätze (bench truth|cases|baseline|seal|reveal-check|manifest|verify-manifest|validate) |
dasselbe | bench::tasks, bench::seal |
N/A | N/A | N/A | N/A | N/A | N/A | N/A (die CLI liest Datensatzverzeichnisse und Uhrendateien und, für seal, eine geheime Seed-Datei; ein Seed darf weder durch einen Agenten noch durch eine Seite laufen) |
Tagesprodukt des Observatoriums und Sensitivitätsstudie (interference-map daily|sensitivity; docs/observatory/METHOD.md) |
interference-map daily, interference-map sensitivity |
interference_map::observatory |
N/A | N/A | N/A | N/A | N/A | N/A | N/A (die Befehle lesen ein Archivverzeichnis mit Hunderttausenden Dateien, schreiben vier Dateien, darunter ein PNG, und setzen die Veröffentlichungsverzögerung von 24 h gegen die Uhr des Rechners durch, der veröffentlicht; die CSV-Karte steht auf jeder Oberfläche in der Zeile oben) |
Studio#
Kshana Studio ist die Web-App, die auf dem WebAssembly-Build aufbaut, daher gibt es eine Studio-Ansicht dort, wo die WASM-Spalte einen Einstiegspunkt hat, und wo nicht, verweist die Zelle auf eine Karte Kommandozeile (den auszuführenden Befehl mit seinen Argumenten), nie auf ein vom Studio berechnetes Ergebnis. Seiten (kshana.dev/studio/, clientseitig): Maritimes Vertrauen (trust/), Nachbesprechung des Trainings (training/), Störungskarte (interference/), Geometrie (geometry/: ein repräsentativer Skyplot, eine Skyline, DOP, Fehlerellipse und Monte-Carlo-Wolke aus der Engine; 0,36), Mondstation (lunar/: die modellierte Abdeckung einer lunaren Referenzstation aus der Art lunar-station-coverage; 0,36) und die Seite Tools, deren Abschnitte OSNMA (#osnma), Nachweispakete (#evidence), Test-bench-Export (#bench), Compliance-Mapping (#compliance), der Tab Kommandozeile (Telemetrie-Karte, IQ, maritime Integrationen: auszuführende Befehle) und Aus Ihrem KI-Assistenten nutzen (#ai) sind. Ein — in der Studio-Spalte der Unterbefehlstabelle ist ein Befehl, der nicht zu den Fähigkeiten von 0,35 gehört, die das Studio darstellt.
Warum die N/A-Zellen N/A sind#
Signal K und OpenCPN. Sie sind Konsumenten des laufenden Live-Prozesses und seines TCP-Gates, also Kommandozeilen-Bereitstellungen; das Plugin bringt einen Anleitungsbefehl und einen Skill mit, die auf
docs/MARINE-INTEGRATIONS.mdverweisen und kein Werkzeug aufrufen.Ein laufender Prozess.
receiver-trust livehält einen Strom offen, kann den gegateten Strom an beliebig viele TCP-Clients ausliefern und läuft, bis er beendet wird. Ein Python-Aufruf, ein Browser-Aufruf, ein MCP-Werkzeugaufruf und eine IDE-Aktion kehren jeweils zurück, wenn sie fertig sind, und halten keinen Socket für andere offen. Python, WASM und MCP tragen stattdessen die begrenzte Form: einen Ausschnitt, bewertet von derselben Engine, im Live-Schema (JSON-Zeilen 1,3:position, eine Aussageadvisoryund die Satelliten-geometrybei jeder Epoche, eineclassbei jedem Abzug), ohne Socket und ohne Gate (das Gate markiert bei einem Live-Strom eine Lösung als ungültig, was nur ein Prozess im Datenpfad tun kann). Zwei Verhaltensweisen gehören zum Prozess und stehen nicht in den Ausschnitt-Werkzeugen: Ein Strom, der überreceiver-trust liveohne--replayschneller als in Echtzeit wiedergegeben wird, wird als nicht vertrauenswürdig bewertet (seine Zeit weicht von der Hostuhr ab; ein Ausschnitt wird ohne Hostuhr gelesen), und--udp <port>und--listen tcp:<port>binden die Loopback-Adresse, sofern keine Adresse angegeben ist.Vertrauens-Telemetrie. WASM trägt
trust_telemetry(input, format, host, input_kind, options_json): dieselben Encoder, die Prometheus-Text, CEF- oder LEEF-Syslog-Zeilen oder die OTLP-JSON-Nutzlast für einen Strom oder ein Stapelergebnis zurückgeben, ohne Uhr (Syslog-Zeilen tragen den Nil-Zeitstempel nach RFC 5424) und ohne dass etwas gesendet wird. Python (trust_telemetry) und MCP (trust_telemetry, mit dem Plugin-Befehl/kshana-trust-telemetry) tragen sie ebenfalls. Der Rest vontrust-telemetryliefert Prometheus-Metriken aus, sendet Syslog und exportiert OpenTelemetry aus einem laufenden Strom und ist daher von Natur aus ein Prozess. Anleitung: den Live-Befehl hineinleiten oder eine Ergebnisdatei wiedergeben (kshana trust-telemetry --result session.result.json --print-metrics); sieheTRUST-TELEMETRY.md. Ein Agent oder ein Notebook, das die Werte je Epoche will, ruft stattdessen die Stapel- oder Ausschnittsfunktionen auf.Ein Paket im Browser erstellen. Das Signieren braucht einen privaten Schlüssel, der nicht durch eine Webseite laufen sollte; der Browser-Build verifiziert Pakete (
evidence_verify), und die anderen Oberflächen erstellen sie. Das MCP-Werkzeug gibt den Signatur-Seed nie zurück und protokolliert ihn nie, und ohne einen signiert es mit einem Einmalschlüssel (Integrität, nicht Identität); verwenden Sie für einen Schlüssel, auf den es ankommt, die CLI. Dasselbe gilt für das Streamen von Trainings-NMEA an eine Adresse: Python, WASM und MCP geben den erzeugten Text zurück, und die CLI sendet ihn.Studien-Suiten.
--study <suite.toml>führt ein Manifest aus, das Geschwister-Szenariodateien auf der Platte benennt. Die Oberflächen im Arbeitsspeicher nehmen Szenariotext entgegen, keinen Ordner mit Dateien, und führen daher jedes Mitglied stattdessen als Szenario aus (run,run_scenario,run_all).GNSS-IQ im Browser und Aufzeichnungen, die umgeschrieben werden. Eine Aufzeichnung besteht aus Gigabyte an Abtastwerten, die eine Seite nicht halten und das MCP-Protokoll nicht tragen darf, daher hat WASM keine IQ-Funktionen, und die MCP-Werkzeuge lesen und schreiben nur ein Arbeitsverzeichnis (
KSHANA_MCP_IQ_DIR, mit einem Abtastbudget je Aufruf).iq extract,convertunddecimatedienen dazu, Aufzeichnungen auf der Platte umzuschreiben, und bleiben auf die Kommandozeile beschränkt.iq labfitundiq conditionstragen Text, daher nimmt MCP sie inline entgegen (ein Log, das eine Datei benennt, wird zurückgewiesen).Der Land-Download. Er ist der einzige Befehl, der eine Netzwerkverbindung öffnet, er braucht das System-
curlund ein ausdrückliches--allow-network, und er prüft ein festgelegtes SHA-256. Der Browser hat keincurl, und ein KI-Agent sollte nicht im Auftrag eines Nutzers Daten holen; die anderen Oberflächen nehmen die Landdatei stattdessen als Text entgegen (land_geojson).Trace-Archive und -Verzeichnisse.
interference-map adsbauf einem readsb-Trace-Verzeichnis liest Dateien von der Platte und ist auf die Kommandozeile beschränkt; die Oberflächen im Arbeitsspeicher nehmen CSV-Text entgegen.
Jeder Unterbefehl der Kommandozeile und wer ihn abdeckt#
Eine Zeile je Unterbefehl oder Modus von kshana --help. yes nennt den Einstiegspunkt; no ist eine Lücke mit ihrem Grund; N/A ist eine Oberfläche, die ihn aus dem oben oder in der letzten Spalte genannten Grund nicht tragen kann. JetBrains-Aktionen führen die Kommandozeile aus, daher gibt ein N/A dort an, warum es keine IDE-Aktion gibt.
| Unterbefehl | Python | WASM | MCP | Plugin | JetBrains | Notebook | Studio | Anmerkung |
|---|---|---|---|---|---|---|---|---|
kshana <scenario.toml> (ausführen, Diagramm, Tabelle) |
run, run_full, run_typed |
run, chart_svg, summary, table_csv, run_all |
run_scenario, report_scenario, export_table_csv |
/kshana-run |
Run Kshana Scenario | quantum-vs-classical-gdop |
— | |
--validate <scenario.toml> |
validate_toml |
error_kind (ein Lauf wirft bei einem ungültigen Szenario) |
validate_scenario |
/kshana-run |
Validate Scenario | — | ||
--study <suite.toml> |
N/A | N/A | N/A | N/A | N/A (benennt Geschwisterdateien auf der Platte) | — | Eine Suite benennt Geschwister-Szenariodateien auf der Platte (N/A oben); jedes Mitglied als Szenario ausführen | |
--export-sp3/-omm/-oem |
export_sp3, export_omm, export_oem |
export_sp3, export_omm, export_oem |
export_sp3, export_omm, export_oem |
/kshana-run |
Export Scenario | — | ||
--export <czml,kml,geojson,stk,sigmf> |
export_scenario, export_formats |
export_scenario, export_formats |
export_interop, list_export_formats |
/kshana-run |
Export Scenario | — | Dateien kommen als Text (utf-8) oder base64 zurück (die SigMF-Abtastwerte) |
|
--import-route |
import_route |
import_route |
import_route |
/kshana-import-route |
Import Route | — | ||
--animate <svg,html,frames> |
animate_scenario |
animate_scenario |
animate_scenario |
/kshana-run |
Animate Scenario | — | Höchstens 120 Bilder je Aufruf; längere Sequenzen verwenden die CLI | |
sky <request> (oder Flags), --monte-carlo, --svg |
sky_geometry, sky_monte_carlo, skyplot_svg |
sky_geometry, sky_monte_carlo, skyplot_svg |
sky_geometry (kein Monte Carlo, kein SVG) |
/kshana-run |
N/A (siehe die Fähigkeitenzeile) | — | Geometrie MODELLED; JSON oder SVG als Ausgabe | |
skyline --preset, --presets, --profile |
skyline_presets, skyline_profile |
skyline_presets, skyline_profile |
sky_geometry (skyline_preset) |
/kshana-run |
N/A (siehe die Fähigkeitenzeile) | — | REPRESENTATIVE Voreinstellungen mit Herkunft | |
kinds [--json] |
scenario_kinds, list_kinds |
list_kinds |
list_scenario_kinds |
/kshana-run |
List Scenario Kinds | — | ||
example [<name>] |
list_examples, get_example |
list_examples, get_example |
list_example_scenarios, get_example_scenario |
/kshana-run |
Insert Example Scenario | — | Die Features python und wasm kompilieren den Beispieltext ein (etwa 0,7 MB) |
|
receiver-trust <scenario.toml> (Stapel) |
receiver_trust, assess_vessel_log |
receiver_trust, assess_vessel_log |
assess_receiver_log, assess_vessel_log |
/kshana-assess-receiver |
Assess Receiver Trust | vessel-trust-and-training |
Seite für maritimes Vertrauen | |
receiver-trust live |
Ausschnitt: receiver_trust_replay |
Ausschnitt: receiver_trust_replay |
Ausschnitt: assess_vessel_stream |
Ausschnitt | Assess Receiver Stream (ein gespeichertes Log, --file) |
Seite für maritimes Vertrauen (Ausschnitt); Karte Kommandozeile für den Prozess | Ein laufender Prozess; der Ausschnitt hat keinen Socket und kein Gate (N/A oben) | |
trust-telemetry |
trust_telemetry |
trust_telemetry |
trust_telemetry |
/kshana-trust-telemetry |
Render Trust Telemetry (ein gespeichertes Ergebnis) | vessel-trust-and-training |
Tools: Telemetrie-Karte (Tab Kommandozeile; nur Formate, keine Sockets) | Nur Text auf jeder Oberfläche, kein Socket; die laufenden Exporter sind ein Prozess (siehe oben) |
imu-fit <imu.csv> |
imu_fit |
imu_fit |
fit_imu_log |
/kshana-fit-imu |
N/A | — | Text hinein, JSON heraus; MODELLED | |
osnma verify <pages|vectors.csv|stream.ubx> |
osnma_verify |
osnma_verify |
N/A (siehe oben) | N/A (siehe oben) | N/A (siehe oben) | Tools: OSNMA | Dasselbe JSON wie --json, mit dem Hinweis in seinem Feld advisory; die Dateilesung wird zu Bytes im Arbeitsspeicher. Nur Authentifizierungsstatus: kein Dienst für Navigationsintegrität und keine Aussage zur Leistung gegen Spoofing |
|
receiver-trust evidence (ein Paket erstellen) |
evidence_create |
N/A | create_evidence_pack |
/kshana-evidence-pack |
Create Evidence Pack | vessel-trust-and-training |
Tools: Karte Kommandozeile (kein Signaturschlüssel in einer Seite) | Kein Signaturschlüssel in einem Browser |
jammertest import, jammertest score |
jammertest_import, jammertest_score |
jammertest_import, jammertest_score |
jammertest_import, jammertest_score |
/kshana-jammertest |
N/A (Terminal; braucht Dateien) | ausstehend: Tools: Karte Kommandozeile | Plan und Katalog werden als Text übergeben; das signierte Paket (--key) gibt es nur auf der Kommandozeile (Signaturschlüssel) |
|
evidence round-trip |
evidence_round_trip |
N/A | create_round_trip_pack |
/kshana-evidence-pack |
N/A (siehe oben) | Tools: Karte Kommandozeile (kein Signaturschlüssel in einer Seite) | Kein Signaturschlüssel in einem Browser; es wird kein Signal geschrieben oder wiedergegeben | |
evidence verify |
evidence_verify |
evidence_verify |
verify_evidence_pack |
/kshana-evidence-pack |
Verify Evidence Pack (nur festgelegter Schlüssel) | vessel-trust-and-training |
Tools: Nachweispakete (verifizieren, Zeitstempel anhängen) | |
evidence keygen |
evidence_keygen |
N/A | N/A | N/A | N/A (ein privater Schlüssel wird vom Plugin nie erzeugt oder gelesen) | Tools: Karte Kommandozeile | Python gibt den Schlüssel mit einer Warnung im Arbeitsspeicher zurück; ein privater Schlüssel sollte nicht durch ein Gespräch oder eine Seite laufen | |
evidence attach-timestamp |
evidence_attach_timestamp |
evidence_attach_timestamp |
attach_evidence_timestamp |
/kshana-evidence-pack |
Attach Timestamp | Tools: Nachweispakete (verifizieren, Zeitstempel anhängen) | Token als Bytes oder base64, aktualisiertes Paket im Arbeitsspeicher zurückgegeben; die Signatur der Stelle wird nicht geprüft (openssl ts -verify) |
|
nmea-scenario <scenario.toml> |
nmea_training |
nmea_training |
generate_training_nmea |
/kshana-training-scenario |
Generate Training NMEA | vessel-trust-and-training |
Seite für die Nachbesprechung des Trainings | |
nmea-scenario --tcp/--udp |
N/A | N/A | N/A | N/A | N/A (siehe Hinweis) | Tools: Karte Kommandozeile | Sendet an eine Adresse (N/A oben) | |
interference-map adsb|ais (CSV) |
interference_map |
interference_map |
build_interference_map |
/kshana-interference-map |
Build Interference Map | interference-map-route-exposure |
Seite der Störungskarte | |
interference-map adsb (Trace-Verzeichnis) |
N/A | N/A | N/A | N/A | N/A (siehe Hinweis) | Tools: Karte Kommandozeile | Liest ein Verzeichnis (N/A oben) | |
interference-map locate (CSV) |
interference_emitter_regions |
interference_emitter_regions |
N/A (noch nicht getragen) | N/A | N/A | — | Geschätzte Senderregionen, MODELLED; Spurverzeichnisse und --tdoa gibt es nur in der Befehlszeile |
|
interference-map fetch-land |
N/A | N/A | N/A | N/A | N/A (siehe Hinweis) | Tools: Karte Kommandozeile | Netzwerkzugriff (N/A oben) | |
interference-map daily, sensitivity |
N/A | N/A | N/A | N/A | N/A (siehe Hinweis) | — | Liest ein Archivverzeichnis und schreibt Dateien; die Veröffentlichungsverzögerung wird auf dem veröffentlichenden Rechner durchgesetzt (N/A oben) | |
bench score |
bench_score |
bench_score |
score_benchmark |
N/A (das MCP-Werkzeug trägt es) | N/A | — | Text hinein, Text heraus; nichts wird gelesen oder geschrieben | |
bench leaderboard |
bench_leaderboard |
bench_leaderboard |
render_leaderboard |
N/A (das MCP-Werkzeug trägt es) | N/A | die statische Seite bench/site/ |
HTML-Text | |
bench truth|cases|baseline|seal|reveal-check|manifest|verify-manifest|validate |
N/A | N/A | N/A | N/A | N/A | — | Datensatzdateien und ein geheimer Seed (N/A oben) | |
route-exposure |
route_exposure |
route_exposure |
route_exposure |
/kshana-interference-map |
Route Exposure | interference-map-route-exposure |
Seite der Störungskarte | |
bench-export |
bench_export |
bench_export |
export_test_bench |
/kshana-bench-export |
Export Test-Bench Files | Tools: Test-bench-Export | Gibt Text zurück, schreibt nichts; kein Signal | |
compliance-report |
compliance_report |
compliance_report |
compliance_report |
/kshana-compliance-report |
Build Compliance Report | Tools: Compliance-Mapping | ||
compliance-report --mapping, --sources |
compliance_mapping |
compliance_mapping |
compliance_mapping |
/kshana-compliance-report |
Show Compliance Mapping | — | ||
iq scene |
iq_scene, iq_scene_broadcast |
N/A | iq_scene |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | Abtastwerte sind Dateien. --format sdrx[:ci16_le] (oder ein Ausgabepfad, der auf .sdrx endet) schreibt ION-GNSS-SDR-Metadaten neben die Abtastwerte: Die CLI und MCP (format: "sdrx") schreiben sie; Python gibt die Abtastwerte im Arbeitsspeicher zurück und schreibt keine Datei, daher haben die Metadaten keine Python-Form (N/A) |
|
standards-pack list, run, rows, tests |
standards_pack_list, standards_pack_run |
standards_pack_list, standards_pack_run |
list_standards_packs, run_standards_pack |
/kshana-standards-pack |
N/A (siehe oben) | Tools: Karte Kommandozeile | Szenarien sind eingebettet; kein Dateisystem; rows und tests geben die eingecheckten Dokumenttabellen aus und sind nur in der CLI verfügbar |
|
partner check <submission.toml> |
N/A | N/A | N/A | N/A | N/A | — | Liest eine Einreichungsdatei und ihre Datendatei auf dem Datenträger und verifiziert den SHA-256; keine dieser Oberflächen hat den Ordner. Nur Format und Metadaten, nichts bewertet; siehe docs/PARTNER-DATA.md |
|
lunanet-afs-check spec, symbols, generate |
lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate |
lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate |
lunanet_afs_check |
/kshana-lunanet-afs-check |
N/A (siehe oben) | — | Symbolströme sind Text aus 0 und 1, höchstens 4 MiB (MCP) oder 100 erzeugte Rahmen je Aufruf; LDPC und CRC-24Q der Unterrahmen 2 bis 4 werden nicht verifiziert; es wird kein Signal geschrieben | |
iq scene |
iq_scene, iq_scene_broadcast |
N/A | iq_scene |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | Abtastwerte sind Dateien | |
iq acquire |
iq_acquire, iq_acq_surface |
N/A | iq_acquire |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | ||
iq track |
iq_track, iq_loop_designs |
N/A | iq_track |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | ||
iq sweep |
iq_sweep |
N/A | iq_sweep |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | ||
iq labfit |
iq_labfit |
N/A | iq_labfit (Logs inline, keine Dateien) |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | ||
iq frontend |
iq_frontend |
N/A | iq_frontend |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | ||
iq monitor |
iq_monitor |
N/A | iq_monitor |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | --follow [--idle-timeout <s>] liest eine SigMF-Aufzeichnung, die noch geschrieben wird, nur empfangend (iq::io::follow::open_sigmf_follow in Rust): N/A für Python und MCP, weil ein Aufruf, der darauf wartet, dass eine Datei wächst, nicht zurückkehrt, wenn die Arbeit erledigt ist, aus dem Grund, aus dem auch receiver-trust live nur auf der Kommandozeile läuft; die Aufzeichnung in ihrer aktuellen Länge läuft durch iq_monitor |
|
iq campaign, iq campaign report |
iq_campaign, iq_campaign_report |
N/A | iq_campaign, iq_campaign_status |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | ||
iq conditions |
iq_test_conditions |
N/A | iq_test_conditions (Text, inline) |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | ||
iq inventory, info |
iq_inventory, iq_info |
N/A | iq_info |
/kshana-iq |
N/A (Aufzeichnungen sind Dateien von Gigabytes; siehe Hinweis) | — | Die Inventarisierung eines Ordners ist Python und CLI; der MCP-Server liest ein Arbeitsverzeichnis | |
iq extract, convert, decimate |
N/A | N/A | N/A | N/A | N/A (siehe Hinweis) | — | Sie schreiben Aufzeichnungen auf der Platte um (N/A oben) | |
die Signalliste (iq --help) |
iq_signals |
N/A | iq_signals |
/kshana-iq |
N/A (eine Liste; kshana iq --help ausführen) |
— |
Hilfsfunktionen#
Kleine Einstiegspunkte, die keine Fähigkeitenzeile sind, und wo jeder liegt:
| Funktion | Oberfläche | Was es ist |
|---|---|---|
version |
Python (kshana.version(), kshana.__version__), WASM (version), CLI (--version), MCP (die Serverinformation) |
Die Engine-Version |
iq_read_epochs |
Python | Liest eine Binärdatei kshana.track-epoch/1, die kshana iq track --epochs geschrieben hat. N/A anderswo: Sie liest eine Datei von der Platte (WASM hat kein Dateisystem, MCP liest nur ein Arbeitsverzeichnis über die Werkzeuge iq_*) |
encode_permalink, decode_permalink |
WASM | Der Codec ?s= für Teilen-Links des Browser-Playgrounds (Szenario-TOML zu einem URL-sicheren Token und zurück). N/A anderswo: Ein Link auf eine Webseite hat für eine Kommandozeile, einen Python-Aufruf oder einen Agenten keine Bedeutung |
Grenzen, die sich je Oberfläche unterscheiden#
| Oberfläche | Eingabegrenze | Dateien |
|---|---|---|
| MCP | 4 MiB je Texteingabe (2 MiB und 20.000 Epochen für einen Stromausschnitt); Antworten tragen höchstens 2000 NMEA-Zeilen, 200 Zeilen nicht nominaler Epochen und 4 MiB an GeoJSON- oder Paketdateien | nur Inline-Inhalt: Ein Szenariofeld, das eine Datei benennt, wird zurückgewiesen; die Werkzeuge iq_* verwenden ein einziges per Opt-in aktiviertes Arbeitsverzeichnis, auf das jeder Pfad beschränkt ist |
MCP über HTTP (--http, selbst gehostet) |
wie MCP, mit einem Anfragekörper von 5 MiB, 120 s je Anfrage und standardmäßig 8 gleichzeitigen Anfragen | keine: Die Dateiwerkzeuge iq_* sind aus; jedes andere Werkzeug nimmt Inline-Inhalt entgegen |
| Python, Rust | 64 MiB je Texteingabe | receiver_trust darf einen path benennen, den der Prozess lesen kann |
| WASM | 64 MiB je Texteingabe, innerhalb des eigenen Speichers des Browsers | keine: Der Browser hat kein Dateisystem, nichts wird hochgeladen |
Evidenzstufen und Vorbehalte auf jeder Oberfläche#
- Ein Nachweispaket ist eine technische Aufzeichnung dessen, was die Engine unter angegebenen Einstellungen aus einem Log berechnet hat, mit jedem Hash und einer Signatur darüber. Es ist kein Rechtsgutachten, keine Tatsachenfeststellung zu irgendeinem Ereignis und keine Zulassung. Ein bestandenes Verify besagt, dass die Aufzeichnung unverändert ist; ohne einen vertrauenswürdigen öffentlichen Schlüssel belegt es nur die Integrität gegenüber dem Schlüssel, den das Paket selbst benennt.
- Die Monitore des Empfänger-Vertrauens und der Vertrauenswert sind MODELLED: Schwellen sind angegebene Eingaben, und nichts behauptet, wie sie sich gegen reale Störungen verhalten. Die Ausgabe ist beratend; Kshana ist keine typzugelassene Navigationsausrüstung (IEC 61108, IEC 61162), und der Betreiber bleibt verantwortlich. Ein hoher Wert ist kein Beweis für eine echte Lösung.
- Die Störungskarte ist MODELLED (vorab registrierte Schwellen, nicht gegen eine Bodenwahrheitsmessung validiert). Eine herabgesetzte Zelle weist Störung nicht als Ursache aus; eine nicht beobachtete Zelle ist kein Beleg für eine freie Route; sie beschreibt vergangene Meldungen und ist keine Vorhersage. Sie ist nur aggregiert: Es wird keine Kennung zurückgegeben.
- Trainings-NMEA ist nur Text: Es wird kein HF-Signal, kein IQ und keine Wellenform synthetisiert, nichts wird gesendet, und es ist nie für die Live-Navigationssysteme eines Schiffes bestimmt.
Die Nachweiskennzeichnung und die Ausgaben, die keine tragen#
Jede Zahl und Tabelle, die ein Lauf schreibt, trägt ihre Evidenzstufe (VALIDATED, MODELLED oder PARTNER, die schwächste der Registerzeilen dahinter) und die Kennungen dieser Zeilen, auf jeder Oberfläche, die ein Szenario ausführt: das Ergebnis-JSON (Schlüssel evidence), die Diagramm-SVG (Metadatenelement und eine Zeile unter der Grafik) und die CSV-Tabelle (Kommentarzeilen # evidence:). Dieselbe Kennzeichnung steht auf den Ausgaben von receiver-trust (CLI, MCP, Python), jammertest score --json, iq acquire, iq sweep, iq track --summary, iq monitor --json, dem Routenbericht der Störungskarte und innerhalb von config.json jedes Nachweispakets (signiert; kshana evidence verify meldet sie). Die Zeilenkennungen sind stabil (VM- und acht Hexadezimalziffern, die Spalte ID von docs/VERIFICATION-MATRIX.md).
Diese Ausgaben tragen keine Kennzeichnung, jede aus einem genannten Grund (die Liste ist UNLABELLED_WRITERS in tests/evidence_labels_doc_sync.rs, das bei einem Schreiber fehlschlägt, der weder gekennzeichnet noch aufgelistet ist):
| Ausgabe | Warum sie keine Kennzeichnung trägt |
|---|---|
| Ergebnisdateien von kshana-bench | ein festes Schema, das durch die Verpflichtungen der zurückgehaltenen Datensätze festgelegt ist; jede trägt ihr eigenes label (MODELLED oder gemessen) |
| tägliche Produkte des Störungsobservatoriums (GeoJSON, PNG, Vorfall-JSON) | ein eingefrorenes, veröffentlichtes Schema; die Einschränkungen des Methodenhinweises reisen mit ihnen |
| Zellen-, Scorecard- und Berichtsdateien der IQ-Kampagne | per Digest festgelegt; jede nennt die Kampagnen-Scorecard, die sie wiedergibt |
| IQ-Abtastwerte, SigMF- und SDR-Metadaten, Szenenwahrheit, Epochen- und Ereignisströme der Verfolgung, Logs von Live-Sitzungen | formatgebundene Dateien und Aufzeichnungsströme, die von anderen Werkzeugen gelesen werden |
| SP3-, OMM-, OEM-, CZML-, KML-, GeoJSON-, STK-, Prüfstandsbewegungs- und NMEA-Exporte; der NMEA-Schulungsstrom | formatgebundene Dateien, die von Werkzeugen Dritter gelesen werden |
| Telemetrie-Übertragungsformate (Prometheus, OTLP, CEF, LEEF) | durch ihre Übertragungsformate festgelegt |
| erzeugte Dokumente (das Register selbst, die eingecheckten Studien- und Datentabellen) | nicht die Ausgabe eines Laufs |