Traducción automática, no revisada por un hablante nativo. El inglés es la referencia.

API e integracionesEditar en GitHubFuente: docs/SURFACES.md

Dónde se puede acceder a cada capacidad

Cada capacidad está disponible en las superficies donde tiene sentido; donde una superficie no puede soportar una capacidad, la celda indica N/A y el motivo. El mismo motor funciona detrás de todas las superficies: los puntos de entrada de Python, WebAssembly y MCP para las 0,35 capacidades son envoltorios finos sobre kshana::surface, que llama al código que ejecuta la línea de comandos.

Aquí se omite un pasaje que nombra clientes de IA de terceros; está en docs/SURFACES.md en GitHub.

Capacidad CLI Rust Python WASM MCP Plugin JetBrains Notebook Studio
Confianza del receptor de un buque, registro por lotes (puntuación de 0-100, motivos) 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 Página de confianza marítima
Confianza del receptor sobre un fragmento acotado de flujo (puntuaciones, estados, motivos; sin compuerta) receiver-trust live receiver_trust::assess::assess_stream_excerpt receiver_trust_replay receiver_trust_replay assess_vessel_stream igual Assess Receiver Stream (un registro almacenado) vessel-trust-and-training Página de confianza marítima
Geometría de satélites y clases de deducción (0,36: geometry buena/degradada/desconocida con motivos y DOP, una label buena/aceptable/mala que siempre se informa, el monitor geometry (nada salvo que la geometría sea mala, y entonces hasta 15 puntos; figura el último en monitors_run cuando decidió, de modo que el recuento de monitores del veredicto incluye la geometría), una class en cada deducción, geometry_model, geometry_summary) receiver-trust, receiver-trust live (en el JSON de resultado y en cada línea JSON; el CSV, el SVG, el veredicto de una línea y $PKSHT llevan una deducción de geometría como cualquier otra y, por lo demás, no cambian) receiver_trust::geometry, en EpochTrust, Deduction y EpochReport receiver_trust, assess_vessel_log, receiver_trust_replay (en los diccionarios devueltos) los mismos tres (en el JSON devuelto) assess_receiver_log, assess_vessel_log, assess_vessel_stream (en la respuesta; la respuesta de un registro de buque conserva geometry_model y geometry_summary); trust_telemetry lo representa igual, skills vessel-receiver-trust, trust-telemetry las acciones anteriores imprimen la salida de la CLI, que lo incluye vessel-trust-and-training (en el resultado que carga) pending: la página de confianza marítima aún no lo muestra (campos enumerados en docs/MARITIME-TRUST.md, elemento 6 de la vista de Studio)
receiver-trust live como proceso en ejecución (stdin, archivo seguido, TCP, UDP, --gate, --listen) receiver-trust live receiver_trust::live::LiveEngine N/A N/A N/A N/A N/A N/A Tools: tarjeta Command line (el comando que se ejecuta; un navegador no es un proceso en la ruta de los datos)
Paquete de evidencias: crear (firmado, ventana de un registro; 0,38: un lab-attestation opcional, la declaración del operador sobre una configuración de laboratorio, registrada en el manifiesto firmado y nunca verificada) 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 (clave de firma) create_evidence_pack (lab_attestation_toml) /kshana-evidence-pack, skill evidence-pack Create Evidence Pack (sin campo de atestación en el cuadro de diálogo en 0,38: pending; la línea de comandos lo admite) vessel-trust-and-training N/A (una clave de firma no debe estar en una página); Tools: tarjeta Command line
Jammertest como árbitro (0,38): el catálogo publicado de NPRA y el plan de transmisión se leen como verdad programada (import), y un registro de receptor se puntúa frente a ellos por ensayo (score: latencia de detección, omisiones, falsas alarmas, tiempo de recuperación; 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 (necesita los archivos del plan y un registro en disco; ejecútelo desde un terminal) N/A (todavía no hay notebook) pending: una tarjeta Tools para la línea de comandos (la franja y las vistas de Studio son de WS-A)
Paquete firmado de puntuación de Jammertest (jammertest score --key: el paquete de evidencias de confianza del receptor con el cuadro de puntuación y el calendario dentro de config.json) jammertest score --key <keyfile> --out <dir> jammertest::score_pack N/A (clave de firma) N/A (clave de firma) N/A (clave de firma: use create_evidence_pack sobre una ventana, o la línea de comandos) N/A N/A N/A N/A (una clave de firma no debe estar en una página); Tools: tarjeta Command line
Autoinforme del receptor (0,38): UBX-NAV-STATUS spoofDetState y UBX-SEC-SIG se leen en self_report en cada época, y la comparación receiver_self_report (ambos / solo el receptor / solo Kshana / ninguno) en el resultado; no genera ninguna alarma y no cambia ninguna puntuación receiver-trust (en el JSON de resultado; jammertest score) receiver_trust::ReceiverSelfReport, monitors::SelfReportEpoch, monitors::SelfReportSummary receiver_trust, assess_receiver_log (en los diccionarios devueltos) receiver_trust (en el JSON devuelto) assess_receiver_log (en la respuesta) /kshana-assess-receiver las acciones anteriores imprimen la salida de la CLI, que lo incluye N/A pending: la franja de la página Trust (WS-A; el campo es epochs[].self_report)
Formato de registro SBF de Septentrio (0,38, solo lectura: PVTGeodetic, MeasEpoch, RFStatus) receiver-trust con [log] format = "sbf" receiver_trust::ingest::read_sbf, LogFormat::Sbf receiver_trust, assess_receiver_log (format = "sbf", registro como base64) igual assess_receiver_log (base64) /kshana-assess-receiver las acciones anteriores N/A N/A (la página Trust no ofrece la carga de registros binarios en 0,38)
receiver-trust live --serial <device> [--baud n]: una fuente NMEA serie o USB, solo lectura (abre el dispositivo para leer, nunca escribe en el receptor; --configure se rechaza) receiver-trust live --serial N/A (un dispositivo y un proceso) N/A N/A N/A N/A N/A N/A Tools: tarjeta Command line (el comando que se ejecuta; un navegador no es un proceso en la ruta de los datos)
Paquete de evidencias: crear (firmado, ventana de un registro) receiver-trust evidence evidence::create_bundle, surface::evidence_create evidence_create N/A (clave de firma) create_evidence_pack /kshana-evidence-pack, skill evidence-pack Create Evidence Pack vessel-trust-and-training N/A (una clave de firma no debe estar en una página); Tools: tarjeta Command line
Paquete de ida y vuelta de laboratorio (escenario, condiciones de ensayo, registro del receptor y puntuación vinculados por hash) evidence round-trip evidence::build_round_trip_pack, surface::evidence_round_trip evidence_round_trip N/A (clave de firma) create_round_trip_pack /kshana-evidence-pack N/A (las acciones de JetBrains están ligadas a un único archivo seleccionado; el paquete necesita un escenario, unas condiciones, un registro y una clave: ejecútelo desde el terminal del IDE) N/A (una clave de firma no debe estar en una página); Tools: tarjeta Command line
Paquete de evidencias: verificar evidence verify evidence::verify_bundle evidence_verify evidence_verify verify_evidence_pack igual Verify Evidence Pack (solo con clave fijada) vessel-trust-and-training Tools: Evidence packs (verificar, adjuntar marca de tiempo)
Telemetría de confianza (Prometheus, syslog CEF/LEEF, OTLP; 0,38: format = "mqtt", descubrimiento de Home Assistant y líneas de estado; --mqtt-tcp publica desde la CLI) trust-telemetry telemetry trust_telemetry trust_telemetry (salida de texto; sin socket) trust_telemetry /kshana-trust-telemetry, skill trust-telemetry Render Trust Telemetry (un resultado almacenado) vessel-trust-and-training Tools: tarjeta Telemetry (pestaña Command line; solo formatos, sin sockets)
Entradas de máquina y de sensor (0,38): receiver-trust formatos rtklib-pos, novatel, gnss-sdr y [log.imu] (csv, euroc) receiver-trust (escenario [log] format) receiver_trust::machines receiver_trust, assess_receiver_log (en línea) receiver_trust (en línea) assess_receiver_log (texto/base64 en línea; un path se rechaza) /kshana-assess-receiver Assess Receiver Trust vessel-trust-and-training N/A (la página Trust de Studio lee los formatos que enumera; los formatos nuevos llegarán con su próximo traslado)
Registro IMU a parámetros de sensor híbrido/de fusión (tabla [accel_classical] a partir de un registro estacionario, ajuste de Allan) imu-fit surface::imu_fit, receiver_trust::machines::imu_fit imu_fit imu_fit fit_imu_log /kshana-fit-imu N/A (todavía no hay acción de IDE) N/A N/A (el editor de escenarios de Studio admite la tabla pegada)
Nodo ROS 2, repetidor UDP de GNSS-SDR, trust-telemetry --mqtt-tcp (integrations/ros2, integrations/gnss-sdr) procesos N/A N/A N/A N/A N/A N/A N/A N/A (procesos de larga duración y sockets; formas de texto: trust_telemetry con mqtt)
Verificación OSNMA de Galileo de páginas I/NAV o de un flujo UBX (docs/OSNMA.md) osnma verify osnma::cli::verify_report, surface::osnma_verify osnma_verify osnma_verify N/A (un flujo largo de receptor sin procesar conviene a la CLI y a Python; una herramienta de agente añadiría una superficie de entrada grande sin ningún beneficio) N/A (los comandos del plugin se ejecutan sobre el servidor MCP, que no tiene herramienta OSNMA por el motivo indicado en la celda de MCP; ejecute kshana osnma verify) N/A (el resultado no significa nada sin una raíz de Merkle o una clave pública de confianza obtenidas del ICD por otra vía y, para la vigencia, una hora de referencia independiente; una acción de clic derecho no tiene dónde recibirlas, y un valor predeterminado sin fijar se leería como verificación; ejecute kshana osnma verify) N/A (entra un flujo, sale un informe JSON; sin notebook) Tools: OSNMA
NMEA de entrenamiento con un registro del instructor 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 Página de análisis posterior del entrenamiento
NMEA de entrenamiento transmitido a una dirección TCP o UDP nmea-scenario --tcp/--udp nmea_synth::stream N/A N/A N/A N/A N/A N/A Tools: tarjeta Command line (transmite a una dirección)
Mapa de interferencias (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 Página del mapa de interferencias
Región del emisor (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 (aún no incluido; las superficies de Rust, Python y WASM lo cubren) N/A N/A N/A (la publicación de regiones de emisores en el observatorio público es una decisión aparte del propietario y está desactivada)
Exposición de ruta route-exposure interference_map::api::route_exposure route_exposure route_exposure route_exposure igual Route Exposure interference-map-route-exposure Página del mapa de interferencias
Plugin de Signal K y alimentación de compuerta de OpenCPN (docs/MARINE-INTEGRATIONS.md) integrations/, receiver-trust live --gate --listen N/A (procesos) N/A N/A N/A solo guía práctica: /kshana-marine-integrations, skill marine-integrations N/A N/A Tools: tarjeta Command line (guía práctica; un despliegue)
Exportación de test-bench (CSV de movimiento, NMEA, puntos de ruta, eventos para un simulador de laboratorio) 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
Correspondencia de compliance a partir de ejecuciones (a qué filas de marcos públicos aportan evidencias a favor las ejecuciones) 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
Tablas y fuentes de la correspondencia de compliance compliance-report --mapping, --sources compliance::mapping, surface::compliance_mapping compliance_mapping compliance_mapping compliance_mapping igual Show Compliance Mapping N/A Tools: Compliance mapping
Paquetes de normas (conjuntos de escenarios puntuados con umbrales fijados antes de la ejecución: perfiles de ensayo DHS RPCF, IMO MSC.1/Circ.1575, ICAO Doc 9849 Apéndice 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 (las acciones de JetBrains están ligadas a un archivo seleccionado; los paquetes están incorporados y no necesitan ninguno: ejecute kshana standards-pack desde el terminal del IDE) N/A (las tarjetas Tools de Studio para paquetes pertenecen al flujo de trabajo de Studio; la CLI o la salida de cualquier superficie alimenta la tarjeta Compliance mapping)
Comprobación de envíos de socios de datos (formato y metadatos de un envío de datos medidos, kshana.partner-submission/1; no puntúa nada) partner check partner::check_file, partner::check N/A (la comprobación lee archivos locales y su SHA-256; la API de Rust es la superficie de biblioteca y la CLI es la herramienta) N/A (no hay sistema de archivos en la compilación para navegador) N/A (MCP rechaza por diseño las fuentes de archivo (solo texto en línea)) N/A (los comandos de barra llaman a herramientas MCP, y esta comprobación necesita archivos en disco) N/A (las acciones de JetBrains están ligadas a un archivo seleccionado; un envío es una carpeta) N/A (todavía no hay notebook) N/A (Studio no tiene acceso al sistema de archivos; ejecute el comando)
LunaNet Augmented Forward Signal: códigos, SB1/CRC/entrelazador y una comprobación frente a LSIS-AFS V1.0 (docs/LUNANET-AFS.md) lunanet-afs-check; señales lunanet-afs-i, lunanet-afs-q en 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 etc. con los dos nombres de señal lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate; iq_scene etc. mediante las ejecuciones breves en memoria lunanet_afs_check /kshana-lunanet-afs-check N/A (las acciones de JetBrains están ligadas a un archivo seleccionado; ejecute kshana lunanet-afs-check desde el terminal del IDE) N/A (una tarjeta de Studio es un elemento del flujo de trabajo de Studio; la CLI y todas las demás superficies lo incluyen)
Geometría del cielo bajo un perfil del horizonte: satélites visibles y enmascarados, DOP, covarianza ENU, elipse de error (docs/SKYLINE.md) sky geometry::sky_geometry, surface::sky_geometry sky_geometry sky_geometry sky_geometry /kshana-run (remite a la herramienta) N/A (un skyplot interactivo es una vista de navegador; kshana sky cubre los números) notebooks/geometry.ipynb — (la vista Geometry de Studio se añade por separado en 0,36)
Nube Monte Carlo del cielo (errores de mínimos cuadrados con semilla, RMS, contención del 95 %) sky --monte-carlo <n> --seed <s> geometry::sky_monte_carlo sky_monte_carlo sky_monte_carlo N/A (muestras en bloque que un agente debe resumir, no transportar) N/A (sin herramienta MCP) N/A (como arriba) N/A — (como arriba)
Preajustes y perfiles de horizonte (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) igual N/A (como arriba) N/A — (como arriba)
Skyplot como SVG sky --svg geometry::skyplot_svg skyplot_svg skyplot_svg N/A (un agente lee los números de sky_geometry) N/A N/A (como arriba) N/A — (como arriba)
Sección de horizonte en un escenario ([skyline]: órbita e integridad con user_site, gnss-sim, jamming, leo-pvt, leo-pass, nmea-scenario) el archivo de escenario skyline::SkylineCfg run, nmea_training run, nmea_training run_scenario, generate_training_nmea /kshana-run Run Kshana Scenario N/A —
Enlace óptico de temporización a través de la atmósfera: disponibilidad por emplazamiento, diversidad de emplazamientos, técnicas de mejora, acoplamiento entre interrupción y holdover (tipo de escenario optical-atmosphere; docs/OPTICAL-ATMOSPHERE.md; MODELLED, emplazamientos ILLUSTRATIVE, orientativo) 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 pending: aún no hay vista de Studio; el escenario se ejecuta en el ejecutor de escenarios de Studio y en la tarjeta Command line de Tools
Prueba de holdover puntuada a partir de un registro de error de tiempo aportado por el operador: línea base, GNSS retirado por el operador, holdover, recuperación, medidos frente a las máscaras de la ITU-T (tipo de escenario holdover-test; docs/TIMING-HIL.md; MODELLED, orientativo; Kshana no transmite ni controla nada) kshana scenarios/holdover-test-example.toml, scenarios/holdover-test-ptp4l.toml holdover_test, telecom_timing run, run_typed run (samples o clock_log.text en línea; las claves de archivo se rechazan) run_scenario (solo en línea) /kshana-run Run Kshana Scenario N/A (no hay notebook en 0,38; los escenarios de ejemplo se ejecutan en cualquier notebook mediante run) pending: aún no hay vista de Studio; el escenario se ejecuta en el ejecutor de escenarios de Studio y en la tarjeta Command line de Tools
Presupuesto de errores de navegación y temporización de una cadena de fases de misión desde el lanzamiento hasta la entrada: ocho tipos de fase, reglas de traspaso, conversiones de marco y de escala de tiempo, una superposición de la red terrestre, el margen frente a los requisitos indicados y el eslabón más débil (tipo de escenario mission-thread; docs/MISSION-THREAD.md; MODELLED, entradas ILLUSTRATIVE, de carácter consultivo; solo fuentes públicas, sin respaldo) kshana scenarios/mission-thread-artemis-class.toml (desde una copia del repositorio: lee un recorte confirmado del kernel de la Luna) mission_thread run, run_typed run (moon_kernel_path es una clave de archivo y se rechaza; sin un kernel la Luna es la serie analítica y la fila de conversión lo indica) run_scenario (solo en línea; la clave del kernel se rechaza) /kshana-run Run Kshana Scenario N/A (no hay cuaderno; el ejemplo se ejecuta en cualquier cuaderno mediante run desde una copia del repositorio) pending: aún no hay vista de Studio; el escenario se ejecuta en el ejecutor de escenarios de Studio y en la tarjeta Command line de Tools
GNSS más allá de la constelación: disponibilidad de señales de GPS, GLONASS, Galileo, BDS, QZSS y NavIC para un usuario en una capa o en una trayectoria de LEO a transferencia lunar (folleto, patrón de transmisión paramétrico o medido, medio de rayo rasante, diseño de receptor de señal débil), un EKF GNSS a bordo para naves de órbita alta y de transferencia lunar, y navegación relativa en formación (tipo de escenario gnss-ssv; docs/SSV.md; MODELLED, orientativo; comparado con el folleto SSV del ICG bajo un preregistro, 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 (en línea; transmit.pattern_text lleva en línea un patrón medido) run_scenario (solo en línea; transmit.pattern_csv se rechaza) /kshana-run Run Kshana Scenario N/A (no hay notebook en 0,38; los escenarios se ejecutan en cualquier notebook mediante run) pending: aún no hay vista de Studio; el escenario se ejecuta en el ejecutor de escenarios de Studio y en la tarjeta Command line de Tools
Órbita y superficie lunares como infraestructura de navegación y geodésica: coherencia de la determinación de órbita, resolución de ambigüedades de fase de portadora, coestimación de marcos, vínculo espacial y sensibilidad a los números de Love (tipo de escenario lunar-infrastructure, study = ...; docs/LUNAR-INFRASTRUCTURE.md; MODELLED, entradas ILLUSTRATIVE, orientativo) kshana scenarios/lunar-infrastructure-od-consistency.toml (y los otros cinco ejemplos hermanos) lunar_infra run, run_typed run run_scenario /kshana-run Run Kshana Scenario N/A (no hay notebook; los ejemplos se ejecutan en cualquier notebook mediante run) pending: aún no hay vista de Studio; los escenarios se ejecutan en el ejecutor de escenarios de Studio y en la tarjeta Command line de Tools
Registros de reloj medidos leídos a una serie de fase: linuxptp ptp4l, phc2sys, ts2phc, chrony tracking y statistics, junto con reloj RINEX, TimeLab y TICC ([clock_log] / [series.clock_log]; docs/CLOCK-LOG-FORMATS.md; MODELLED, ninguna referencia independiente compara un análisis con otro lector) un escenario con [clock_log] clock_log::read_input run run (text solo en línea; sin lecturas de archivos en un navegador) run_scenario (text solo en línea; path se rechaza) /kshana-run Run Kshana Scenario N/A (no hay notebook; un registro es un archivo que aporta el usuario) pending: no hay vista de Studio; el ejecutor de escenarios de Studio admite el texto del escenario
Enlace óptico de temporización a través de la atmósfera: disponibilidad por emplazamiento, diversidad de emplazamientos, técnicas de mejora, acoplamiento entre interrupción y holdover (tipo de escenario optical-atmosphere; docs/OPTICAL-ATMOSPHERE.md; MODELLED, emplazamientos ILLUSTRATIVE, orientativo) 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 la vista Optical PNT de Studio (/studio/optical/, 0,38) dibuja los resultados registrados de los dos escenarios incluidos, con la serie temporal con semilla; el escenario también se ejecuta en el ejecutor de escenarios de Studio y en la tarjeta Command line de Tools
Descarga de polígonos de tierra (interference-map fetch-land) --allow-network Código de la CLI N/A N/A N/A N/A N/A N/A Tools: tarjeta Command line (necesita --allow-network)
Benchmark (kshana-bench v1: puntuar una entrega frente a un archivo de verdad, página de clasificación; docs/BENCH.md, MODELLED, orientativo) 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 (las dos herramientas MCP lo incluyen; un comando de barra sobre dos archivos JSON no aporta nada) N/A (no es una acción de IDE) N/A (los notebooks educativos son un flujo de trabajo aparte) N/A (la clasificación es la página estática bench/site/, trasladada al sitio tal cual; Studio no calcula nada)
Herramientas de datos y de conjunto reservado del benchmark (bench truth|cases|baseline|seal|reveal-check|manifest|verify-manifest|validate) igual bench::tasks, bench::seal N/A N/A N/A N/A N/A N/A N/A (la CLI lee directorios de conjuntos de datos y archivos de reloj y, para seal, un archivo de semilla secreta; una semilla no debe pasar por un agente ni por una página)
Producto diario del observatorio y estudio de sensibilidad (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 (los comandos leen un directorio de archivo con cientos de miles de archivos, escriben cuatro archivos, entre ellos un PNG, y aplican el retraso de publicación de 24 h frente al reloj de la máquina que publica; el mapa CSV está en todas las superficies de la fila anterior)

Studio#

Kshana Studio es la aplicación web construida sobre la compilación WebAssembly, de modo que existe una vista de Studio donde la columna WASM tiene un punto de entrada, y donde no lo tiene la celda remite a una tarjeta Command line (el comando que se ejecuta, con sus argumentos), nunca a un resultado calculado por Studio. Páginas (kshana.dev/studio/, en el cliente): Maritime trust (trust/), Training debrief (training/), Interference map (interference/), Geometry (geometry/: un skyplot representativo, perfil del horizonte, DOP, elipse de error y nube Monte Carlo del motor; 0,36), Lunar station (lunar/: la cobertura modelada de una estación de referencia lunar a partir del tipo lunar-station-coverage; 0,36) y la página Tools, cuyas secciones son OSNMA (#osnma), Evidence packs (#evidence), Test-bench export (#bench), Compliance mapping (#compliance), la pestaña Command line (tarjeta de telemetría, IQ, integraciones marinas: comandos que se ejecutan) y Use from your AI assistant (#ai). Un — en la columna de Studio de la tabla de subcomandos es un comando que no es una de las 0,35 capacidades que presenta Studio.

Por qué las celdas N/A son N/A#

  • Signal K y OpenCPN. Son consumidores del proceso en vivo en ejecución y de su compuerta TCP, de modo que son despliegues de línea de comandos; el plugin lleva un comando de guía práctica y una skill que remiten a docs/MARINE-INTEGRATIONS.md y no llaman a ninguna herramienta.

  • Un proceso en ejecución. receiver-trust live mantiene abierto un flujo, puede servir el flujo con compuerta a cualquier número de clientes TCP y se ejecuta hasta que se detiene. Una llamada de Python, una llamada de navegador, una llamada a una herramienta MCP y una acción de IDE devuelven cada una su resultado al terminar y no mantienen abierto un socket para otros. Python, WASM y MCP llevan en su lugar la forma acotada: un fragmento puntuado por el mismo motor, en el esquema en vivo (líneas JSON 1,3: position, una declaración advisory y la geometry de satélites en cada época, una class en cada deducción), sin socket y sin compuerta (la compuerta marca una posición como no válida en un flujo en vivo, algo que solo un proceso situado en la ruta de los datos puede hacer). Dos comportamientos pertenecen al proceso y no están en las herramientas de fragmentos: un flujo reproducido más rápido que el tiempo real mediante receiver-trust live sin --replay se puntúa como no fiable (su hora no coincide con el reloj del anfitrión; un fragmento se lee sin reloj del anfitrión), y --udp <port> y --listen tcp:<port> se enlazan a la dirección de bucle local salvo que se indique una dirección.

  • Telemetría de confianza. WASM lleva trust_telemetry(input, format, host, input_kind, options_json): los mismos codificadores, que devuelven texto de Prometheus, líneas de syslog CEF o LEEF, o la carga JSON de OTLP para un flujo o un resultado por lotes, sin reloj (las líneas de syslog llevan la marca de tiempo nula de la RFC 5424) y sin enviar nada. Python (trust_telemetry) y MCP (trust_telemetry, con el comando del plugin /kshana-trust-telemetry) también la llevan. El resto de trust-telemetry sirve métricas de Prometheus, envía syslog y exporta OpenTelemetry desde un flujo en ejecución, por lo que es un proceso por naturaleza. Guía práctica: canalice el comando en vivo hacia él, o reproduzca un archivo de resultado (kshana trust-telemetry --result session.result.json --print-metrics); véase TRUST-TELEMETRY.md. Un agente o un notebook que quiera las puntuaciones por época llama en su lugar a las funciones por lotes o de fragmentos.

  • Crear un paquete en el navegador. Firmar necesita una clave privada, que no debe pasar por una página web; la compilación para navegador verifica paquetes (evidence_verify) y las demás superficies los crean. La herramienta MCP nunca devuelve ni registra la semilla de firma y, sin ella, firma con una clave de un solo uso (integridad, no identidad); para una clave que importe, use la CLI. Lo mismo vale para transmitir NMEA de entrenamiento a una dirección: Python, WASM y MCP devuelven el texto generado, y la CLI lo envía.

  • Suites de estudio. --study <suite.toml> ejecuta un manifiesto que nombra archivos de escenario hermanos en disco. Las superficies en memoria admiten texto de escenario, no una carpeta de archivos, de modo que ejecutan cada miembro como un escenario (run, run_scenario, run_all).

  • IQ de GNSS en el navegador y grabaciones que se reescriben. Una grabación son gigabytes de muestras, que una página no puede contener y que el protocolo MCP no debe transportar, de modo que WASM no tiene funciones de IQ y las herramientas MCP leen y escriben en un único directorio de trabajo (KSHANA_MCP_IQ_DIR, con un presupuesto de muestras por llamada). iq extract, convert y decimate existen para reescribir grabaciones en disco y siguen siendo solo de línea de comandos. iq labfit y iq conditions llevan texto, por lo que MCP los admite en línea (se rechaza un registro que nombra un archivo).

  • La descarga de tierra. Es el único comando que abre una conexión de red, necesita el curl del sistema y un --allow-network explícito, y comprueba un SHA-256 fijado. El navegador no tiene curl, y un agente de IA no debe obtener datos en nombre de un usuario; las demás superficies admiten en su lugar el archivo de tierra como texto (land_geojson).

  • Archivos de trazas y directorios. interference-map adsb sobre un directorio de trazas de readsb lee archivos del disco y es solo de línea de comandos; las superficies en memoria admiten texto CSV.

Cada subcomando de la línea de comandos y quién lo cubre#

Una fila por subcomando o modo de kshana --help. yes indica el punto de entrada; no es una laguna con su motivo; N/A es una superficie que no puede soportarlo por el motivo indicado arriba o en la última columna. Las acciones de JetBrains ejecutan la línea de comandos, de modo que un N/A ahí indica por qué no existe una acción de IDE.

Subcomando Python WASM MCP Plugin JetBrains Notebook Studio Nota
kshana <scenario.toml> (ejecutar, gráfico, tabla) 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 (una ejecución lanza un error ante un escenario no válido) validate_scenario /kshana-run Validate Scenario —
--study <suite.toml> N/A N/A N/A N/A N/A (nombra archivos hermanos en disco) — Una suite nombra archivos de escenario hermanos en disco (N/A arriba); ejecute cada miembro como un escenario
--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 — Los archivos se devuelven como texto (utf-8) o como base64 (las muestras SigMF)
--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 — Como máximo 120 fotogramas por llamada; las secuencias más largas usan la CLI
sky <request> (o indicadores), --monte-carlo, --svg sky_geometry, sky_monte_carlo, skyplot_svg sky_geometry, sky_monte_carlo, skyplot_svg sky_geometry (sin Monte Carlo, sin SVG) /kshana-run N/A (véase la fila de la capacidad) — Geometría MODELLED; salida en JSON o SVG
skyline --preset, --presets, --profile skyline_presets, skyline_profile skyline_presets, skyline_profile sky_geometry (skyline_preset) /kshana-run N/A (véase la fila de la capacidad) — Preajustes REPRESENTATIVE con procedencia
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 — Las características python y wasm compilan el texto de ejemplo en el binario (unos 0,7 MB)
receiver-trust <scenario.toml> (por lotes) 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 Página de confianza marítima
receiver-trust live fragmento: receiver_trust_replay fragmento: receiver_trust_replay fragmento: assess_vessel_stream fragmento Assess Receiver Stream (un registro almacenado, --file) Página de confianza marítima (fragmento); tarjeta Command line para el proceso Un proceso en ejecución; el fragmento no tiene socket ni compuerta (N/A arriba)
trust-telemetry trust_telemetry trust_telemetry trust_telemetry /kshana-trust-telemetry Render Trust Telemetry (un resultado almacenado) vessel-trust-and-training Tools: tarjeta Telemetry (pestaña Command line; solo formatos, sin sockets) Solo texto en todas las superficies, sin socket; los exportadores en ejecución son un proceso (véase arriba)
imu-fit <imu.csv> imu_fit imu_fit fit_imu_log /kshana-fit-imu N/A — Entra texto, sale JSON; MODELLED
osnma verify <pages|vectors.csv|stream.ubx> osnma_verify osnma_verify N/A (véase arriba) N/A (véase arriba) N/A (véase arriba) Tools: OSNMA El mismo JSON que --json, con la declaración orientativa en su campo advisory; la lectura del archivo pasa a ser bytes en memoria. Solo estado de autenticación: no es un servicio de integridad de la navegación, y no se afirma ningún rendimiento antisuplantación
receiver-trust evidence (crear un paquete) evidence_create N/A create_evidence_pack /kshana-evidence-pack Create Evidence Pack vessel-trust-and-training Tools: tarjeta Command line (ninguna clave de firma en una página) Ninguna clave de firma en un navegador
jammertest import, jammertest score jammertest_import, jammertest_score jammertest_import, jammertest_score jammertest_import, jammertest_score /kshana-jammertest N/A (terminal; necesita archivos) pending: Tools: tarjeta Command line El plan y el catálogo se dan como texto; el paquete firmado (--key) es solo de línea de comandos (clave de firma)
evidence round-trip evidence_round_trip N/A create_round_trip_pack /kshana-evidence-pack N/A (como arriba) Tools: tarjeta Command line (ninguna clave de firma en una página) Ninguna clave de firma en un navegador; no se escribe ni se reproduce ninguna señal
evidence verify evidence_verify evidence_verify verify_evidence_pack /kshana-evidence-pack Verify Evidence Pack (solo con clave fijada) vessel-trust-and-training Tools: Evidence packs (verificar, adjuntar marca de tiempo)
evidence keygen evidence_keygen N/A N/A N/A N/A (el plugin nunca crea ni lee una clave privada) Tools: tarjeta Command line Python devuelve la clave en memoria con una advertencia; una clave privada no debe pasar por una conversación ni por una página
evidence attach-timestamp evidence_attach_timestamp evidence_attach_timestamp attach_evidence_timestamp /kshana-evidence-pack Attach Timestamp Tools: Evidence packs (verificar, adjuntar marca de tiempo) Token como bytes o base64, paquete actualizado devuelto en memoria; no se comprueba la firma de la autoridad (openssl ts -verify)
nmea-scenario <scenario.toml> nmea_training nmea_training generate_training_nmea /kshana-training-scenario Generate Training NMEA vessel-trust-and-training Página de análisis posterior del entrenamiento
nmea-scenario --tcp/--udp N/A N/A N/A N/A N/A (véase la Nota) Tools: tarjeta Command line Envía a una dirección (N/A arriba)
interference-map adsb|ais (CSV) interference_map interference_map build_interference_map /kshana-interference-map Build Interference Map interference-map-route-exposure Página del mapa de interferencias
interference-map adsb (directorio de trazas) N/A N/A N/A N/A N/A (véase la Nota) Tools: tarjeta Command line Lee un directorio (N/A arriba)
interference-map locate (CSV) interference_emitter_regions interference_emitter_regions N/A (aún no incluido) N/A N/A — Regiones estimadas del emisor, MODELLED; los directorios de trazas y --tdoa son solo de línea de comandos
interference-map fetch-land N/A N/A N/A N/A N/A (véase la Nota) Tools: tarjeta Command line Acceso a la red (N/A arriba)
interference-map daily, sensitivity N/A N/A N/A N/A N/A (véase la Nota) — Lee un directorio de archivo y escribe archivos; el retraso de publicación se aplica en la máquina que publica (N/A arriba)
bench score bench_score bench_score score_benchmark N/A (la herramienta MCP lo incluye) N/A — Entra texto, sale texto; no se lee ni se escribe nada
bench leaderboard bench_leaderboard bench_leaderboard render_leaderboard N/A (la herramienta MCP lo incluye) N/A la página estática bench/site/ Texto HTML
bench truth|cases|baseline|seal|reveal-check|manifest|verify-manifest|validate N/A N/A N/A N/A N/A — Archivos de conjuntos de datos y una semilla secreta (N/A arriba)
route-exposure route_exposure route_exposure route_exposure /kshana-interference-map Route Exposure interference-map-route-exposure Página del mapa de interferencias
bench-export bench_export bench_export export_test_bench /kshana-bench-export Export Test-Bench Files Tools: Test-bench export Devuelve texto, no escribe nada; sin señal
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 (las grabaciones son gigabytes de archivos; véase la Nota) — Las muestras son archivos. --format sdrx[:ci16_le] (o una ruta de salida que termine en .sdrx) escribe metadatos ION GNSS SDR junto a las muestras: la CLI y MCP (format: "sdrx") los escriben; Python devuelve las muestras en memoria y no escribe ningún archivo, de modo que los metadatos no tienen forma en Python (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 (como arriba) Tools: tarjeta Command line Los escenarios están incorporados; no hay sistema de archivos; rows y tests imprimen las tablas de documentación confirmadas y son solo de CLI
partner check <submission.toml> N/A N/A N/A N/A N/A — Lee un archivo de envío y su archivo de datos en disco y verifica el SHA-256; ninguna de esas superficies tiene la carpeta. Solo formato y metadatos, nada puntuado; véase 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 (como arriba) — Los flujos de símbolos son texto de 0 y 1, de 4 MiB como máximo (MCP) o 100 fotogramas generados por llamada; no se verifican LDPC ni CRC-24Q de las subtramas 2 a 4; no se escribe ninguna señal
iq scene iq_scene, iq_scene_broadcast N/A iq_scene /kshana-iq N/A (las grabaciones son gigabytes de archivos; véase la Nota) — Las muestras son archivos
iq acquire iq_acquire, iq_acq_surface N/A iq_acquire /kshana-iq N/A (las grabaciones son gigabytes de archivos; véase la Nota) —
iq track iq_track, iq_loop_designs N/A iq_track /kshana-iq N/A (las grabaciones son gigabytes de archivos; véase la Nota) —
iq sweep iq_sweep N/A iq_sweep /kshana-iq N/A (las grabaciones son gigabytes de archivos; véase la Nota) —
iq labfit iq_labfit N/A iq_labfit (registros en línea, sin archivos) /kshana-iq N/A (las grabaciones son gigabytes de archivos; véase la Nota) —
iq frontend iq_frontend N/A iq_frontend /kshana-iq N/A (las grabaciones son gigabytes de archivos; véase la Nota) —
iq monitor iq_monitor N/A iq_monitor /kshana-iq N/A (las grabaciones son gigabytes de archivos; véase la Nota) — --follow [--idle-timeout <s>] lee una grabación SigMF que todavía se está escribiendo, solo recepción (iq::io::follow::open_sigmf_follow en Rust): N/A para Python y MCP, porque una llamada que espera a que un archivo crezca no devuelve su resultado cuando termina el trabajo, el mismo motivo por el que receiver-trust live también es solo de línea de comandos; la grabación con su longitud actual se procesa mediante iq_monitor
iq campaign, iq campaign report iq_campaign, iq_campaign_report N/A iq_campaign, iq_campaign_status /kshana-iq N/A (las grabaciones son gigabytes de archivos; véase la Nota) —
iq conditions iq_test_conditions N/A iq_test_conditions (texto, en línea) /kshana-iq N/A (las grabaciones son gigabytes de archivos; véase la Nota) —
iq inventory, info iq_inventory, iq_info N/A iq_info /kshana-iq N/A (las grabaciones son gigabytes de archivos; véase la Nota) — El inventario de una carpeta es de Python y de la CLI; el servidor MCP lee un único directorio de trabajo
iq extract, convert, decimate N/A N/A N/A N/A N/A (véase la Nota) — Reescriben grabaciones en disco (N/A arriba)
la lista de señales (iq --help) iq_signals N/A iq_signals /kshana-iq N/A (una lista; ejecute kshana iq --help) —

Funciones de utilidad#

Pequeños puntos de entrada que no son una fila de capacidad, y dónde reside cada uno:

Función Superficie Qué es
version Python (kshana.version(), kshana.__version__), WASM (version), CLI (--version), MCP (la información del servidor) La versión del motor
iq_read_epochs Python Lee un archivo binario kshana.track-epoch/1 que escribió kshana iq track --epochs. N/A en los demás sitios: lee un archivo del disco (WASM no tiene sistema de archivos, MCP lee un único directorio de trabajo solo mediante las herramientas iq_*)
encode_permalink, decode_permalink WASM El códec de enlaces para compartir ?s= del playground del navegador (TOML del escenario a un token apto para URL y viceversa). N/A en los demás sitios: un enlace a una página web no tiene sentido para una línea de comandos, una llamada de Python o un agente

Límites que difieren según la superficie#

Superficie Límite de entrada Archivos
MCP 4 MiB por entrada de texto (2 MiB y 20.000 épocas para un fragmento de flujo); las respuestas llevan como máximo 2000 líneas NMEA, 200 líneas de épocas no nominales y 4 MiB de GeoJSON o de archivos de paquete solo contenido en línea: se rechaza un campo de escenario que nombre un archivo; las herramientas iq_* usan un único directorio de trabajo opcional, con cada ruta confinada en él
MCP sobre HTTP (--http, autoalojado) como MCP, con un cuerpo de solicitud de 5 MiB, 120 s por solicitud y 8 solicitudes simultáneas de forma predeterminada ninguno: las herramientas de archivos iq_* están desactivadas; todas las demás herramientas admiten contenido en línea
Python, Rust 64 MiB por entrada de texto receiver_trust puede nombrar un path que el proceso pueda leer
WASM 64 MiB por entrada de texto, dentro de la propia memoria del navegador ninguno: el navegador no tiene sistema de archivos, no se sube nada

Niveles de evidencia y salvedades en todas las superficies#

  • Un paquete de evidencias es un registro técnico de lo que el motor calculó a partir de un registro con unos ajustes indicados, con cada hash y una firma sobre ellos. No es un dictamen jurídico, una constatación de hechos sobre ningún suceso ni una aprobación. Un resultado superado de verify indica que el registro no ha cambiado; sin una clave pública de confianza, prueba solo la integridad frente a la clave que el propio paquete nombra.
  • Los monitores de confianza del receptor y la puntuación de confianza son MODELLED: los umbrales son entradas declaradas y nada afirma cómo se comportan frente a una interferencia real. La salida es orientativa; Kshana no es un equipo de navegación homologado (IEC 61108, IEC 61162) y el operador sigue siendo responsable. Una puntuación alta no es prueba de una posición genuina.
  • El mapa de interferencias es MODELLED (umbrales fijados de antemano, no validados frente a una medición de verdad de referencia). Una celda degradada no identifica la interferencia como causa; una celda no observada no es evidencia de una ruta despejada; describe informes pasados y no es una previsión. Es solo agregado: no se devuelve ningún identificador.
  • El NMEA de entrenamiento es solo texto: no se sintetiza RF, IQ ni forma de onda, no se transmite nada, y nunca está destinado a los sistemas de navegación en vivo de un buque.

La etiqueta de evidencia y las salidas que no llevan ninguna#

Cada figura y tabla que escribe una ejecución lleva su nivel de evidencia (VALIDATED, MODELLED o PARTNER, el más débil de las filas del registro que la respaldan) y los identificadores de esas filas, en cada superficie que ejecuta un escenario: el JSON de resultados (clave evidence), el SVG del gráfico (elemento de metadatos y una línea bajo el trazado) y la tabla CSV (líneas de comentario # evidence:). La misma etiqueta está en las salidas de receiver-trust (CLI, MCP, Python), jammertest score --json, iq acquire, iq sweep, iq track --summary, iq monitor --json, el informe de ruta del mapa de interferencias, y dentro del config.json de cada paquete de evidencias (firmado; kshana evidence verify lo informa). Los identificadores de fila son estables (VM- y ocho dígitos hexadecimales, la columna ID de docs/VERIFICATION-MATRIX.md).

Estas salidas no llevan etiqueta, cada una por un motivo indicado (la lista es UNLABELLED_WRITERS en tests/evidence_labels_doc_sync.rs, que falla con un escritor que ni está etiquetado ni figura en la lista):

Salida Por qué no lleva etiqueta
archivos de resultados de kshana-bench un esquema fijo fijado por los compromisos de datos reservados; cada uno lleva su propio label (MODELLED o medido)
productos diarios del observatorio de interferencias (GeoJSON, PNG, JSON de incidentes) un esquema publicado y congelado; las salvedades de la nota del método los acompañan
archivos de celda, de tabla de puntuación y de informe de la campaña de iq fijados por resumen criptográfico; cada uno indica la tabla de puntuación de la campaña que reexpone
muestras IQ, metadatos de SigMF y SDR, referencia de escena, flujos de épocas y de eventos de seguimiento, registros de sesiones en vivo archivos ligados a un formato y flujos de registros que leen otras herramientas
exportaciones SP3, OMM, OEM, CZML, KML, GeoJSON, STK, de movimiento de test bench y NMEA; el flujo de formación NMEA archivos ligados a un formato que leen herramientas de terceros
formatos de transmisión de telemetría (Prometheus, OTLP, CEF, LEEF) definidos por sus formatos de transmisión
documentos generados (el propio registro, el estudio confirmado y las tablas de datos) no son la salida de una ejecución