Onde cada capacidade é acessível
Todas as capacidades estão disponíveis nas superfícies onde fazem sentido; onde uma superfície não pode suportar uma capacidade, a célula diz N/A e porquê. O mesmo motor corre por trás de todas as superfícies: os pontos de entrada Python, WebAssembly e MCP das capacidades da 0,35 são invólucros finos sobre kshana::surface, que chama o código que a linha de comandos executa.
Uma passagem que nomeia clientes de IA de terceiros é omitida aqui; consta de docs/SURFACES.md no GitHub.
| Capacidade | CLI | Rust | Python | WASM | MCP | Plugin | JetBrains | Notebook | Studio |
|---|---|---|---|---|---|---|---|---|---|
| Confiança do recetor de embarcação, registo em lote (pontuação 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 |
Avaliar a confiança do recetor | vessel-trust-and-training |
Página de confiança marítima |
| Confiança do recetor num excerto limitado de um fluxo (pontuações, estados, motivos; sem gate) | receiver-trust live |
receiver_trust::assess::assess_stream_excerpt |
receiver_trust_replay |
receiver_trust_replay |
assess_vessel_stream |
igual | Avaliar fluxo do recetor (um registo guardado) | vessel-trust-and-training |
Página de confiança marítima |
Geometria dos satélites e classes de dedução (0,36: geometry boa/degradada/desconhecida com motivos e DOP, uma label boa/razoável/fraca sempre reportada, o monitor geometry (nada, a menos que a geometria seja fraca, e então até 15 pontos; listado em último em monitors_run quando decidiu, pelo que a contagem de monitores do veredicto inclui a geometria), uma class em cada dedução, geometry_model, geometry_summary) |
receiver-trust, receiver-trust live (no JSON de resultado e em cada linha JSON; o CSV, o SVG, o veredicto de uma linha e $PKSHT trazem uma dedução de geometria como qualquer outra e, no mais, não se alteram) |
receiver_trust::geometry, em EpochTrust, Deduction e EpochReport |
receiver_trust, assess_vessel_log, receiver_trust_replay (nos dicionários devolvidos) |
os mesmos três (no JSON devolvido) | assess_receiver_log, assess_vessel_log, assess_vessel_stream (na resposta; a resposta de um registo de embarcação mantém geometry_model e geometry_summary); trust_telemetry apresenta-o |
igual, skills vessel-receiver-trust, trust-telemetry |
as ações acima imprimem a saída da CLI, que o transporta | vessel-trust-and-training (no resultado que carrega) |
pendente: a página de confiança marítima ainda não o mostra (campos listados em docs/MARITIME-TRUST.md, item 6 da vista Studio) |
receiver-trust live como processo em execução (stdin, ficheiro seguido, TCP, UDP, --gate, --listen) |
receiver-trust live |
receiver_trust::live::LiveEngine |
N/A | N/A | N/A | N/A | N/A | N/A | Ferramentas: cartão Linha de comandos (o comando a executar; um navegador não é um processo no percurso dos dados) |
Pacote de evidências: criar (assinado, janela de um registo; 0,38: um lab-attestation opcional, a declaração do operador sobre uma montagem de laboratório, registada no manifesto assinado, 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 (chave de assinatura) | create_evidence_pack (lab_attestation_toml) |
/kshana-evidence-pack, skill evidence-pack |
Criar pacote de evidências (sem campo de atestação na caixa de diálogo na 0,38: pendente; a linha de comandos aceita-o) | vessel-trust-and-training |
N/A (uma chave de assinatura não deve estar numa página); Ferramentas: cartão Linha de comandos |
Jammertest como árbitro (0,38): o catálogo e o plano de transmissão publicados da NPRA lidos como referência agendada (import), um registo de recetor pontuado face a ela por ensaio (score: latência de deteção, falhas, falsos alarmes, tempo de recuperação; 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 (precisa dos ficheiros do plano e de um registo em disco; execute-o a partir de um terminal) | N/A (ainda sem notebook) | pendente: um cartão de Ferramentas para a linha de comandos (a faixa e as vistas do Studio são da WS-A) |
Pacote de pontuação Jammertest assinado (jammertest score --key: o pacote de evidências de confiança do recetor com a folha de pontuação e o calendário dentro de config.json) |
jammertest score --key <keyfile> --out <dir> |
jammertest::score_pack |
N/A (chave de assinatura) | N/A (chave de assinatura) | N/A (chave de assinatura: utilize create_evidence_pack numa janela, ou a linha de comandos) |
N/A | N/A | N/A | N/A (uma chave de assinatura não deve estar numa página); Ferramentas: cartão Linha de comandos |
Autorrelato do recetor (0,38): UBX-NAV-STATUS spoofDetState e UBX-SEC-SIG lidos para self_report em cada época, e a comparação receiver_self_report (ambos / só o recetor / só o Kshana / nenhum) no resultado; não dispara qualquer alarme e não altera qualquer pontuação |
receiver-trust (no JSON de resultado; jammertest score) |
receiver_trust::ReceiverSelfReport, monitors::SelfReportEpoch, monitors::SelfReportSummary |
receiver_trust, assess_receiver_log (nos dicionários devolvidos) |
receiver_trust (no JSON devolvido) |
assess_receiver_log (na resposta) |
/kshana-assess-receiver |
as ações acima imprimem a saída da CLI, que o transporta | N/A | pendente: a faixa da página Confiança (WS-A; o campo é epochs[].self_report) |
| Formato de registo SBF da Septentrio (0,38, só de leitura: PVTGeodetic, MeasEpoch, RFStatus) | receiver-trust com [log] format = "sbf" |
receiver_trust::ingest::read_sbf, LogFormat::Sbf |
receiver_trust, assess_receiver_log (format = "sbf", registo como base64) |
igual | assess_receiver_log (base64) |
/kshana-assess-receiver |
as ações acima | N/A | N/A (o carregamento de registos binários não é oferecido na página Confiança na 0,38) |
receiver-trust live --serial <device> [--baud n]: um fluxo NMEA série ou USB, só de leitura (abre o dispositivo para leitura, nunca escreve no recetor; --configure é recusado) |
receiver-trust live --serial |
N/A (um dispositivo e um processo) | N/A | N/A | N/A | N/A | N/A | N/A | Ferramentas: cartão Linha de comandos (o comando a executar; um navegador não é um processo no percurso dos dados) |
| Pacote de evidências: criar (assinado, janela de um registo) | receiver-trust evidence |
evidence::create_bundle, surface::evidence_create |
evidence_create |
N/A (chave de assinatura) | create_evidence_pack |
/kshana-evidence-pack, skill evidence-pack |
Criar pacote de evidências | vessel-trust-and-training |
N/A (uma chave de assinatura não deve estar numa página); Ferramentas: cartão Linha de comandos |
| Pacote de ida e volta de laboratório (cenário, condições de ensaio, registo do recetor e pontuação ligados por resumo criptográfico) | evidence round-trip |
evidence::build_round_trip_pack, surface::evidence_round_trip |
evidence_round_trip |
N/A (chave de assinatura) | create_round_trip_pack |
/kshana-evidence-pack |
N/A (as ações do JetBrains estão associadas a um único ficheiro selecionado; o pacote precisa de um cenário, de condições, de um registo e de uma chave: execute-o a partir do terminal do IDE) | N/A (uma chave de assinatura não deve estar numa página); Ferramentas: cartão Linha de comandos | |
| Pacote de evidências: verificar | evidence verify |
evidence::verify_bundle |
evidence_verify |
evidence_verify |
verify_evidence_pack |
igual | Verificar pacote de evidências (apenas chave fixada) | vessel-trust-and-training |
Ferramentas: Pacotes de evidências (verificar, anexar marca temporal) |
Telemetria de confiança (Prometheus, syslog CEF/LEEF, OTLP; 0,38: format = "mqtt", deteção do Home Assistant e linhas de estado; --mqtt-tcp publica a partir da CLI) |
trust-telemetry |
telemetry |
trust_telemetry |
trust_telemetry (saída de texto; sem socket) |
trust_telemetry |
/kshana-trust-telemetry, skill trust-telemetry |
Apresentar telemetria de confiança (um resultado guardado) | vessel-trust-and-training |
Ferramentas: cartão Telemetria (separador Linha de comandos; apenas formatos, sem sockets) |
Entradas de máquina e de sensor (0,38): formatos rtklib-pos, novatel, gnss-sdr de receiver-trust, e [log.imu] (csv, euroc) |
receiver-trust (cenário [log] format) |
receiver_trust::machines |
receiver_trust, assess_receiver_log (em linha) |
receiver_trust (em linha) |
assess_receiver_log (texto/base64 em linha; um path é recusado) |
/kshana-assess-receiver |
Avaliar a confiança do recetor | vessel-trust-and-training |
N/A (a página Confiança do Studio lê os formatos que lista; os novos formatos seguem-se com a sua próxima portagem) |
Registo de IMU para parâmetros de sensor híbrido/de fusão (tabela [accel_classical] a partir de um registo estacionário, 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 (ainda sem ação no IDE) | N/A | N/A (o editor de cenários do Studio aceita a tabela colada) |
Nó ROS 2, retransmissor UDP do GNSS-SDR, trust-telemetry --mqtt-tcp (integrations/ros2, integrations/gnss-sdr) |
processos | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A (processos de longa duração e sockets; formas em texto: trust_telemetry com mqtt) |
Verificação Galileo OSNMA de páginas I/NAV ou de um fluxo UBX (docs/OSNMA.md) |
osnma verify |
osnma::cli::verify_report, surface::osnma_verify |
osnma_verify |
osnma_verify |
N/A (um fluxo longo e bruto de recetor convém à CLI e ao Python; uma ferramenta de agente acrescentaria uma superfície de entradas grandes sem benefício) | N/A (os comandos do plugin correm sobre o servidor MCP, que não tem ferramenta OSNMA pelo motivo indicado na célula do MCP; execute kshana osnma verify) |
N/A (o resultado nada significa sem uma raiz de Merkle ou uma chave pública de confiança obtidas do ICD por outra via e, para a atualidade, um tempo de referência independente; uma ação de clique com o botão direito não tem onde as obter, e uma predefinição sem fixação seria lida como verificação; execute kshana osnma verify) |
N/A (um fluxo à entrada, um relatório JSON à saída; sem notebook) | Ferramentas: OSNMA |
| NMEA de treino com um registo do instrutor | nmea-scenario |
nmea_synth::generate_from_toml |
nmea_training |
nmea_training |
generate_training_nmea |
/kshana-training-scenario, skill training-nmea-scenario |
Gerar NMEA de treino | vessel-trust-and-training |
Página de debriefing de formação |
| NMEA de treino transmitido para um endereço TCP ou UDP | nmea-scenario --tcp/--udp |
nmea_synth::stream |
N/A | N/A | N/A | N/A | N/A | N/A | Ferramentas: cartão Linha de comandos (transmite para um endereço) |
| Mapa de interferência (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 |
Construir mapa de interferência | interference-map-route-exposure |
Página do mapa de interferência |
| Região do emissor (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 (ainda não incluído; as superfícies Rust, Python e WASM o cobrem) | N/A | N/A | N/A (a publicação de regiões de emissores no observatório público é uma decisão separada do responsável e está desativada) | |
| Exposição de rota | route-exposure |
interference_map::api::route_exposure |
route_exposure |
route_exposure |
route_exposure |
igual | Exposição do percurso | interference-map-route-exposure |
Página do mapa de interferência |
Plugin Signal K e alimentação de gate do OpenCPN (docs/MARINE-INTEGRATIONS.md) |
integrations/, receiver-trust live --gate --listen |
N/A (processos) | N/A | N/A | N/A | apenas guia prático: /kshana-marine-integrations, skill marine-integrations |
N/A | N/A | Ferramentas: cartão Linha de comandos (guia prático; uma implementação) |
| Exportação de test bench (CSV de movimento, NMEA, pontos de passagem, eventos para um simulador de laboratório) | bench-export |
interop::testbench::export_with_notes, surface::bench_export |
bench_export |
bench_export |
export_test_bench |
/kshana-bench-export, skill test-bench-export |
Exportar ficheiros de test bench | compliance-and-test-bench |
Ferramentas: exportação de test bench |
| Mapeamento de compliance a partir de execuções (para que linhas de quadros públicos as execuções fornecem elementos de prova em apoio de) | compliance-report |
compliance::assess_texts, surface::compliance_report |
compliance_report |
compliance_report |
compliance_report |
/kshana-compliance-report, skill compliance-mapping |
Construir relatório de compliance | compliance-and-test-bench |
Ferramentas: mapeamento de compliance |
| Tabelas e fontes do mapeamento de compliance | compliance-report --mapping, --sources |
compliance::mapping, surface::compliance_mapping |
compliance_mapping |
compliance_mapping |
compliance_mapping |
igual | Mostrar mapeamento de compliance | N/A | Ferramentas: mapeamento de compliance |
| Pacotes de normas (conjuntos de cenários pontuados com limiares declarados antes da execução: perfis de ensaio DHS RPCF, IMO MSC.1/Circ.1575, ICAO Doc 9849 Appendix 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 (as ações do JetBrains estão associadas a um ficheiro selecionado; os pacotes estão incorporados e não precisam de nenhum: execute kshana standards-pack a partir do terminal do IDE) |
N/A (os cartões de Ferramentas do Studio para pacotes pertencem à frente de trabalho do Studio; a CLI ou a saída de qualquer superfície alimenta o cartão Mapeamento de compliance) | |
Verificação de envio de parceiro de dados (formato e metadados de um envio de dados medidos, kshana.partner-submission/1; não pontua nada) |
partner check |
partner::check_file, partner::check |
N/A (a verificação lê ficheiros locais e os seus SHA-256; a API Rust é a superfície de biblioteca e a CLI é a ferramenta) | N/A (sem sistema de ficheiros na build para navegador) | N/A (o MCP recusa fontes de ficheiro por projeto (apenas texto embutido)) | N/A (os comandos com barra chamam ferramentas do MCP, e esta verificação precisa de ficheiros em disco) | N/A (as ações do JetBrains estão ligadas a um ficheiro selecionado; um envio é uma pasta) | N/A (ainda sem notebook) | N/A (o Studio não tem acesso ao sistema de ficheiros; execute o comando) |
LunaNet Augmented Forward Signal: códigos, SB1/CRC/entrelaçador, e uma verificação face à LSIS-AFS V1.0 (docs/LUNANET-AFS.md) |
lunanet-afs-check; sinais lunanet-afs-i, lunanet-afs-q em 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. com os dois nomes de sinal |
lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate; iq_scene etc. através das execuções curtas em memória |
lunanet_afs_check |
/kshana-lunanet-afs-check |
N/A (as ações do JetBrains estão associadas a um ficheiro selecionado; execute kshana lunanet-afs-check a partir do terminal do IDE) |
N/A (um cartão do Studio é um item da frente de trabalho do Studio; a CLI e todas as outras superfícies suportam-no) | |
Geometria do céu sob uma linha de horizonte: satélites visíveis e mascarados, DOP, covariância ENU, elipse de erro (docs/SKYLINE.md) |
sky |
geometry::sky_geometry, surface::sky_geometry |
sky_geometry |
sky_geometry |
sky_geometry |
/kshana-run (aponta para a ferramenta) |
N/A (um gráfico de céu interativo é uma vista de navegador; kshana sky cobre os números) |
notebooks/geometry.ipynb |
— (a vista Geometria do Studio é acrescentada em separado na 0,36) |
| Nuvem de Monte Carlo do céu (erros de mínimos quadrados com semente, RMS, contenção de 95 %) | sky --monte-carlo <n> --seed <s> |
geometry::sky_monte_carlo |
sky_monte_carlo |
sky_monte_carlo |
N/A (amostras em massa que um agente deve resumir, e não transportar) | N/A (sem ferramenta MCP) | N/A (como acima) | N/A | — (como acima) |
Predefinições e perfis de linha 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 acima) | N/A | — (como acima) |
| Gráfico de céu em SVG | sky --svg |
geometry::skyplot_svg |
skyplot_svg |
skyplot_svg |
N/A (um agente lê os números a partir de sky_geometry) |
N/A | N/A (como acima) | N/A | — (como acima) |
Secção de linha de horizonte num cenário ([skyline]: orbit e integrity com user_site, gnss-sim, jamming, leo-pvt, leo-pass, nmea-scenario) |
o ficheiro do cenário | skyline::SkylineCfg |
run, nmea_training |
run, nmea_training |
run_scenario, generate_training_nmea |
/kshana-run |
Executar cenário Kshana | N/A | — |
Ligação ótica de temporização através da atmosfera: disponibilidade por local, diversidade de locais, técnicas de melhoria, acoplamento de interrupção a holdover (tipo de cenário optical-atmosphere; docs/OPTICAL-ATMOSPHERE.md; MODELLED, locais ILLUSTRATIVE, consultivo) |
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 |
Executar cenário Kshana | optical-atmosphere |
pendente: ainda sem vista no Studio; o cenário corre no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas |
Teste de holdover pontuado a partir de um registo de erro de tempo fornecido pelo operador: linha de base, GNSS retirado pelo operador, holdover, recuperação, medidos face a máscaras ITU-T (tipo de cenário holdover-test; docs/TIMING-HIL.md; MODELLED, consultivo; o Kshana não transmite nem aciona nada) |
kshana scenarios/holdover-test-example.toml, scenarios/holdover-test-ptp4l.toml |
holdover_test, telecom_timing |
run, run_typed |
run (samples ou clock_log.text em linha; as chaves de ficheiro são recusadas) |
run_scenario (apenas em linha) |
/kshana-run |
Executar cenário Kshana | N/A (sem notebook na 0,38; os cenários de exemplo correm em qualquer notebook através de run) |
pendente: ainda sem vista no Studio; o cenário corre no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas |
Orçamento de erro de navegação e temporização de uma cadeia de fases de missão do lançamento à reentrada: oito tipos de fase, regras de transferência, conversões de referencial e de escala de tempo, uma sobreposição de rede terrestre, margem face aos requisitos declarados e o elo mais fraco (tipo de cenário mission-thread; docs/MISSION-THREAD.md; MODELLED, entradas ILLUSTRATIVE, consultivo; apenas fontes públicas, sem aval) |
kshana scenarios/mission-thread-artemis-class.toml (a partir de um checkout: ele lê um recorte versionado de kernel da Lua) |
mission_thread |
run, run_typed |
run (moon_kernel_path é uma chave de ficheiro e é recusada; sem um kernel a Lua é a série analítica e a linha de conversão o declara) |
run_scenario (apenas embutido; a chave do kernel é recusada) |
/kshana-run |
Executar cenário Kshana | N/A (sem notebook; o exemplo é executado em qualquer notebook por meio de run a partir de um checkout) |
pendente: ainda sem vista no Studio; o cenário corre no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas |
O GNSS para além da constelação: disponibilidade de sinais GPS, GLONASS, Galileo, BDS, QZSS e NavIC para um utilizador numa casca ou numa trajetória de LEO a transferência lunar (caderno, diagrama de transmissão paramétrico ou medido, meio de raio rasante, projeto de recetor de sinal fraco), um EKF GNSS a bordo para naves de órbita alta e de transferência lunar, e navegação relativa em formação (tipo de cenário gnss-ssv; docs/SSV.md; MODELLED, consultivo; comparado com o caderno ICG SSV ao abrigo de um pré-registo, 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 (em linha; transmit.pattern_text transporta um diagrama medido em linha) |
run_scenario (apenas em linha; transmit.pattern_csv é recusado) |
/kshana-run |
Executar cenário Kshana | N/A (sem notebook na 0,38; os cenários correm em qualquer notebook através de run) |
pendente: ainda sem vista no Studio; o cenário corre no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas |
Órbita e superfície lunares como infraestrutura de navegação e geodésica: consistência da determinação de órbita, resolução da ambiguidade da fase da portadora, coestimação de referencial, ligação espacial e sensibilidade ao número de Love (tipo de cenário lunar-infrastructure, study = ...; docs/LUNAR-INFRASTRUCTURE.md; MODELLED, entradas ILLUSTRATIVE, consultivo) |
kshana scenarios/lunar-infrastructure-od-consistency.toml (e os cinco exemplos irmãos) |
lunar_infra |
run, run_typed |
run |
run_scenario |
/kshana-run |
Executar cenário Kshana | N/A (sem notebook; os exemplos correm em qualquer notebook através de run) |
pendente: ainda sem vista no Studio; os cenários correm no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas |
Registos de relógio medidos lidos para uma série de fase: linuxptp ptp4l, phc2sys, ts2phc, chrony tracking e statistics, além de RINEX clock, TimeLab e TICC ([clock_log] / [series.clock_log]; docs/CLOCK-LOG-FORMATS.md; MODELLED, nenhuma referência independente compara uma análise com outro leitor) |
um cenário com [clock_log] |
clock_log::read_input |
run |
run (text apenas em linha; sem leitura de ficheiros num navegador) |
run_scenario (text apenas em linha; path é recusado) |
/kshana-run |
Executar cenário Kshana | N/A (sem notebook; um registo é um ficheiro que o utilizador fornece) | pendente: sem vista no Studio; o executor de cenários do Studio aceita o texto do cenário |
Ligação ótica de temporização através da atmosfera: disponibilidade por local, diversidade de locais, técnicas de melhoria, acoplamento de interrupção a holdover (tipo de cenário optical-atmosphere; docs/OPTICAL-ATMOSPHERE.md; MODELLED, locais ILLUSTRATIVE, consultivo) |
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 |
Executar cenário Kshana | optical-atmosphere |
a vista PNT ótica do Studio (/studio/optical/, 0,38) desenha os resultados registados dos dois cenários incluídos, incluindo a série temporal com semente; o cenário corre também no executor de cenários do Studio e no cartão Linha de comandos das Ferramentas |
Descarregamento de polígonos de terra (interference-map fetch-land) |
--allow-network |
Código da CLI | N/A | N/A | N/A | N/A | N/A | N/A | Ferramentas: cartão Linha de comandos (precisa de --allow-network) |
Benchmark (kshana-bench v1: pontuar uma submissão face a um ficheiro de referência, página de classificação; docs/BENCH.md, MODELLED, consultivo) |
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 (as duas ferramentas MCP suportam-no; um comando de barra sobre dois ficheiros JSON não acrescenta nada) | N/A (não é uma ação de IDE) | N/A (os notebooks educativos são uma frente de trabalho separada) | N/A (a classificação é a página estática bench/site/, portada para o sítio tal como está; o Studio não calcula nada) |
Dados de benchmark e ferramentas de conjunto reservado (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 (a CLI lê diretórios de conjuntos de dados e ficheiros de relógio e, para seal, um ficheiro de semente secreta; uma semente não deve passar por um agente nem por uma página) |
Produto diário e estudo de sensibilidade do observatório (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 (os comandos leem um diretório de arquivo com centenas de milhares de ficheiros, escrevem quatro ficheiros, incluindo um PNG, e impõem o atraso de publicação de 24 h face ao relógio da máquina que publica; o mapa CSV está em todas as superfícies na linha acima) |
Studio#
O Kshana Studio é a aplicação web construída sobre a compilação WebAssembly, pelo que existe uma vista do Studio onde a coluna WASM tem um ponto de entrada, e onde não tem a célula aponta para um cartão Linha de comandos (o comando a executar, com os seus argumentos), nunca para um resultado que o Studio tenha calculado. Páginas (kshana.dev/studio/, do lado do cliente): Confiança marítima (trust/), Debriefing de formação (training/), Mapa de interferência (interference/), Geometria (geometry/: um gráfico de céu representativo, linha de horizonte, DOP, elipse de erro e nuvem de Monte Carlo a partir do motor; 0,36), Estação lunar (lunar/: a cobertura modelada de uma estação de referência lunar a partir do tipo de cenário lunar-station-coverage; 0,36) e a página de Ferramentas, cujas secções são OSNMA (#osnma), Pacotes de evidências (#evidence), Exportação de test bench (#bench), Mapeamento de compliance (#compliance), o separador Linha de comandos (cartão de telemetria, IQ, integrações marítimas: comandos a executar) e Utilização a partir do seu assistente de IA (#ai). Um — na coluna Studio da tabela de subcomandos é um comando que não é uma das capacidades da 0,35 que o Studio apresenta.
Porque é que as células N/A são N/A#
Signal K e OpenCPN. São consumidores do processo em direto e da sua gate TCP, pelo que são implementações de linha de comandos; o plugin traz um comando de guia prático e uma skill que apontam para
docs/MARINE-INTEGRATIONS.mde não chamam nenhuma ferramenta.Um processo em execução.
receiver-trust livemantém um fluxo aberto, pode servir o fluxo filtrado a qualquer número de clientes TCP e corre até ser parado. Uma chamada Python, uma chamada de navegador, uma chamada de ferramenta MCP e uma ação de IDE devolvem cada uma o resultado quando terminam e não mantêm um socket aberto para outros. Python, WASM e MCP suportam, em vez disso, a forma limitada: um excerto pontuado pelo mesmo motor, no esquema em direto (linhas JSON 1,3:position, uma declaraçãoadvisorye ageometrydos satélites em cada época, umaclassem cada dedução), sem socket e sem gate (a gate marca uma solução de posição como inválida num fluxo em direto, o que só um processo no percurso dos dados pode fazer). Dois comportamentos pertencem ao processo e não estão nas ferramentas de excerto: um fluxo repetido mais depressa do que em tempo real através dereceiver-trust livesem--replayé pontuado como não fiável (o seu tempo discorda do relógio do anfitrião; um excerto é lido sem relógio do anfitrião), e--udp <port>e--listen tcp:<port>ligam-se ao endereço de loopback, a menos que seja indicado um endereço.Telemetria de confiança. O WASM suporta
trust_telemetry(input, format, host, input_kind, options_json): os mesmos codificadores, devolvendo texto Prometheus, linhas syslog CEF ou LEEF, ou a carga OTLP em JSON para um fluxo ou um resultado em lote, sem relógio (as linhas syslog trazem a marca temporal nula do RFC 5424) e sem nada enviado. O Python (trust_telemetry) e o MCP (trust_telemetry, com o comando de plugin/kshana-trust-telemetry) também o suportam. O resto detrust-telemetryserve métricas Prometheus, envia syslog e exporta OpenTelemetry a partir de um fluxo em execução, pelo que é um processo por natureza. Guia prático: encaminhe o comando em direto para ele, ou repita um ficheiro de resultado (kshana trust-telemetry --result session.result.json --print-metrics); verTRUST-TELEMETRY.md. Um agente ou um notebook que queira as pontuações por época chama antes as funções de lote ou de excerto.Criar um pacote no navegador. A assinatura precisa de uma chave privada, que não deve passar por uma página web; a compilação para navegador verifica pacotes (
evidence_verify) e as outras superfícies criam-nos. A ferramenta MCP nunca devolve nem regista a semente de assinatura e, sem uma, assina com uma chave de uso único (integridade, não identidade); para uma chave que importe, utilize a CLI. O mesmo se aplica à transmissão de NMEA de treino para um endereço: Python, WASM e MCP devolvem o texto gerado, e a CLI envia-o.Conjuntos de estudo.
--study <suite.toml>executa um manifesto que nomeia ficheiros de cenário irmãos em disco. As superfícies em memória aceitam texto de cenário, e não uma pasta de ficheiros, pelo que executam cada membro como um cenário (run,run_scenario,run_all).IQ de GNSS no navegador, e gravações que são reescritas. Uma gravação tem gigabytes de amostras, que uma página não consegue conter e que o protocolo MCP não deve transportar, pelo que o WASM não tem funções de IQ e as ferramentas MCP leem e escrevem apenas um diretório de trabalho (
KSHANA_MCP_IQ_DIR, com um orçamento de amostras por chamada).iq extract,convertedecimateexistem para reescrever gravações em disco e ficam apenas na linha de comandos.iq labfiteiq conditionstransportam texto, pelo que o MCP os aceita em linha (um registo que nomeia um ficheiro é recusado).O descarregamento de terra. É o único comando que abre uma ligação de rede, precisa do
curldo sistema e de um--allow-networkexplícito, e verifica um SHA-256 fixado. O navegador não temcurl, e um agente de IA não deve obter dados em nome de um utilizador; as outras superfícies aceitam, em vez disso, o ficheiro de terra como texto (land_geojson).Arquivos e diretórios de traços.
interference-map adsbsobre um diretório de traços readsb lê ficheiros do disco e é apenas de linha de comandos; as superfícies em memória aceitam texto CSV.
Todos os subcomandos da linha de comandos, e quem os cobre#
Uma linha por subcomando ou modo de kshana --help. sim nomeia o ponto de entrada; não é uma lacuna com o seu motivo; N/A é uma superfície que não o pode suportar pelo motivo indicado acima ou na última coluna. As ações do JetBrains executam a linha de comandos, pelo que um N/A aí indica porque não existe uma ação de IDE.
| Subcomando | Python | WASM | MCP | Plugin | JetBrains | Notebook | Studio | Nota |
|---|---|---|---|---|---|---|---|---|
kshana <scenario.toml> (executar, gráfico, tabela) |
run, run_full, run_typed |
run, chart_svg, summary, table_csv, run_all |
run_scenario, report_scenario, export_table_csv |
/kshana-run |
Executar cenário Kshana | quantum-vs-classical-gdop |
— | |
--validate <scenario.toml> |
validate_toml |
error_kind (uma execução gera uma exceção perante um cenário inválido) |
validate_scenario |
/kshana-run |
Validar cenário | — | ||
--study <suite.toml> |
N/A | N/A | N/A | N/A | N/A (nomeia ficheiros irmãos em disco) | — | Um conjunto de estudo nomeia ficheiros de cenário irmãos em disco (N/A acima); execute cada membro como um cenário | |
--export-sp3/-omm/-oem |
export_sp3, export_omm, export_oem |
export_sp3, export_omm, export_oem |
export_sp3, export_omm, export_oem |
/kshana-run |
Exportar cenário | — | ||
--export <czml,kml,geojson,stk,sigmf> |
export_scenario, export_formats |
export_scenario, export_formats |
export_interop, list_export_formats |
/kshana-run |
Exportar cenário | — | Os ficheiros regressam como texto (utf-8) ou base64 (as amostras SigMF) |
|
--import-route |
import_route |
import_route |
import_route |
/kshana-import-route |
Importar percurso | — | ||
--animate <svg,html,frames> |
animate_scenario |
animate_scenario |
animate_scenario |
/kshana-run |
Animar cenário | — | No máximo 120 fotogramas por chamada; sequências mais longas usam a CLI | |
sky <request> (ou opções), --monte-carlo, --svg |
sky_geometry, sky_monte_carlo, skyplot_svg |
sky_geometry, sky_monte_carlo, skyplot_svg |
sky_geometry (sem Monte Carlo, sem SVG) |
/kshana-run |
N/A (ver a linha da capacidade) | — | Geometria MODELLED; saída em JSON ou SVG | |
skyline --preset, --presets, --profile |
skyline_presets, skyline_profile |
skyline_presets, skyline_profile |
sky_geometry (skyline_preset) |
/kshana-run |
N/A (ver a linha da capacidade) | — | Predefinições REPRESENTATIVE com proveniência | |
kinds [--json] |
scenario_kinds, list_kinds |
list_kinds |
list_scenario_kinds |
/kshana-run |
Listar tipos de cenário | — | ||
example [<name>] |
list_examples, get_example |
list_examples, get_example |
list_example_scenarios, get_example_scenario |
/kshana-run |
Inserir cenário de exemplo | — | As funcionalidades python e wasm compilam o texto de exemplo no binário (cerca de 0,7 MB) |
|
receiver-trust <scenario.toml> (em lote) |
receiver_trust, assess_vessel_log |
receiver_trust, assess_vessel_log |
assess_receiver_log, assess_vessel_log |
/kshana-assess-receiver |
Avaliar a confiança do recetor | vessel-trust-and-training |
Página de confiança marítima | |
receiver-trust live |
excerto: receiver_trust_replay |
excerto: receiver_trust_replay |
excerto: assess_vessel_stream |
excerto | Avaliar fluxo do recetor (um registo guardado, --file) |
Página de confiança marítima (excerto); cartão Linha de comandos para o processo | Um processo em execução; o excerto não tem socket nem gate (N/A acima) | |
trust-telemetry |
trust_telemetry |
trust_telemetry |
trust_telemetry |
/kshana-trust-telemetry |
Apresentar telemetria de confiança (um resultado guardado) | vessel-trust-and-training |
Ferramentas: cartão Telemetria (separador Linha de comandos; apenas formatos, sem sockets) | Apenas texto em todas as superfícies, sem socket; os exportadores em execução são um processo (ver acima) |
imu-fit <imu.csv> |
imu_fit |
imu_fit |
fit_imu_log |
/kshana-fit-imu |
N/A | — | Texto à entrada, JSON à saída; MODELLED | |
osnma verify <pages|vectors.csv|stream.ubx> |
osnma_verify |
osnma_verify |
N/A (ver acima) | N/A (ver acima) | N/A (ver acima) | Ferramentas: OSNMA | O mesmo JSON que --json, com o aviso consultivo no seu campo advisory; a leitura de ficheiro passa a bytes em memória. Apenas estado de autenticação: não é um serviço de integridade da navegação, e não há qualquer afirmação de desempenho anti-spoofing |
|
receiver-trust evidence (criar um pacote) |
evidence_create |
N/A | create_evidence_pack |
/kshana-evidence-pack |
Criar pacote de evidências | vessel-trust-and-training |
Ferramentas: cartão Linha de comandos (sem chave de assinatura numa página) | Sem chave de assinatura num navegador |
jammertest import, jammertest score |
jammertest_import, jammertest_score |
jammertest_import, jammertest_score |
jammertest_import, jammertest_score |
/kshana-jammertest |
N/A (terminal; precisa de ficheiros) | pendente: Ferramentas: cartão Linha de comandos | O plano e o catálogo são dados como texto; o pacote assinado (--key) só existe na linha de comandos (chave de assinatura) |
|
evidence round-trip |
evidence_round_trip |
N/A | create_round_trip_pack |
/kshana-evidence-pack |
N/A (como acima) | Ferramentas: cartão Linha de comandos (sem chave de assinatura numa página) | Sem chave de assinatura num navegador; nenhum sinal é escrito nem repetido | |
evidence verify |
evidence_verify |
evidence_verify |
verify_evidence_pack |
/kshana-evidence-pack |
Verificar pacote de evidências (apenas chave fixada) | vessel-trust-and-training |
Ferramentas: Pacotes de evidências (verificar, anexar marca temporal) | |
evidence keygen |
evidence_keygen |
N/A | N/A | N/A | N/A (uma chave privada nunca é criada nem lida pelo plugin) | Ferramentas: cartão Linha de comandos | O Python devolve a chave em memória com um aviso; uma chave privada não deve passar por uma conversa nem por uma página | |
evidence attach-timestamp |
evidence_attach_timestamp |
evidence_attach_timestamp |
attach_evidence_timestamp |
/kshana-evidence-pack |
Anexar marca temporal | Ferramentas: Pacotes de evidências (verificar, anexar marca temporal) | Token como bytes ou base64, pacote atualizado devolvido em memória; a assinatura da autoridade não é verificada (openssl ts -verify) |
|
nmea-scenario <scenario.toml> |
nmea_training |
nmea_training |
generate_training_nmea |
/kshana-training-scenario |
Gerar NMEA de treino | vessel-trust-and-training |
Página de debriefing de formação | |
nmea-scenario --tcp/--udp |
N/A | N/A | N/A | N/A | N/A (ver Nota) | Ferramentas: cartão Linha de comandos | Envia para um endereço (N/A acima) | |
interference-map adsb|ais (CSV) |
interference_map |
interference_map |
build_interference_map |
/kshana-interference-map |
Construir mapa de interferência | interference-map-route-exposure |
Página do mapa de interferência | |
interference-map adsb (diretório de traços) |
N/A | N/A | N/A | N/A | N/A (ver Nota) | Ferramentas: cartão Linha de comandos | Lê um diretório (N/A acima) | |
interference-map locate (CSV) |
interference_emitter_regions |
interference_emitter_regions |
N/A (ainda não incluído) | N/A | N/A | — | Regiões estimadas de emissores, MODELLED; diretórios de rastos e --tdoa são apenas de linha de comandos |
|
interference-map fetch-land |
N/A | N/A | N/A | N/A | N/A (ver Nota) | Ferramentas: cartão Linha de comandos | Acesso à rede (N/A acima) | |
interference-map daily, sensitivity |
N/A | N/A | N/A | N/A | N/A (ver Nota) | — | Lê um diretório de arquivo e escreve ficheiros; o atraso de publicação é imposto na máquina que publica (N/A acima) | |
bench score |
bench_score |
bench_score |
score_benchmark |
N/A (a ferramenta MCP suporta-o) | N/A | — | Texto à entrada, texto à saída; nada é lido nem escrito | |
bench leaderboard |
bench_leaderboard |
bench_leaderboard |
render_leaderboard |
N/A (a ferramenta MCP suporta-o) | N/A | a 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 | — | Ficheiros de conjuntos de dados e uma semente secreta (N/A acima) | |
route-exposure |
route_exposure |
route_exposure |
route_exposure |
/kshana-interference-map |
Exposição do percurso | interference-map-route-exposure |
Página do mapa de interferência | |
bench-export |
bench_export |
bench_export |
export_test_bench |
/kshana-bench-export |
Exportar ficheiros de test bench | Ferramentas: exportação de test bench | Devolve texto, não escreve nada; sem sinal | |
compliance-report |
compliance_report |
compliance_report |
compliance_report |
/kshana-compliance-report |
Construir relatório de compliance | Ferramentas: mapeamento de compliance | ||
compliance-report --mapping, --sources |
compliance_mapping |
compliance_mapping |
compliance_mapping |
/kshana-compliance-report |
Mostrar mapeamento de compliance | — | ||
iq scene |
iq_scene, iq_scene_broadcast |
N/A | iq_scene |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | As amostras são ficheiros. --format sdrx[:ci16_le] (ou um caminho de saída terminado em .sdrx) escreve metadados ION GNSS SDR junto das amostras: a CLI e o MCP (format: "sdrx") escrevem-nos; o Python devolve as amostras em memória e não escreve ficheiro, pelo que os metadados não têm forma em 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 acima) | Ferramentas: cartão Linha de comandos | Os cenários estão incorporados; sem sistema de ficheiros; rows e tests imprimem as tabelas da documentação registadas e são apenas de CLI |
|
partner check <submission.toml> |
N/A | N/A | N/A | N/A | N/A | — | Lê um ficheiro de envio e o seu ficheiro de dados em disco e verifica o SHA-256; nenhuma dessas superfícies tem a pasta. Apenas formato e metadados, nada pontuado; veja 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 acima) | — | Os fluxos de símbolos são texto de 0 e 1, no máximo 4 MiB (MCP) ou 100 tramas geradas por chamada; o LDPC e o CRC-24Q das subtramas 2 a 4 não são verificados; nenhum sinal é escrito | |
iq scene |
iq_scene, iq_scene_broadcast |
N/A | iq_scene |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | As amostras são ficheiros | |
iq acquire |
iq_acquire, iq_acq_surface |
N/A | iq_acquire |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | ||
iq track |
iq_track, iq_loop_designs |
N/A | iq_track |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | ||
iq sweep |
iq_sweep |
N/A | iq_sweep |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | ||
iq labfit |
iq_labfit |
N/A | iq_labfit (registos em linha, sem ficheiros) |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | ||
iq frontend |
iq_frontend |
N/A | iq_frontend |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | ||
iq monitor |
iq_monitor |
N/A | iq_monitor |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | --follow [--idle-timeout <s>] lê uma gravação SigMF que ainda está a ser escrita, apenas em receção (iq::io::follow::open_sigmf_follow em Rust): N/A para Python e MCP, porque uma chamada que espera que um ficheiro cresça não regressa quando o trabalho está feito, o motivo pelo qual receiver-trust live é também apenas de linha de comandos; a gravação no seu comprimento atual passa por iq_monitor |
|
iq campaign, iq campaign report |
iq_campaign, iq_campaign_report |
N/A | iq_campaign, iq_campaign_status |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | ||
iq conditions |
iq_test_conditions |
N/A | iq_test_conditions (texto, em linha) |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | ||
iq inventory, info |
iq_inventory, iq_info |
N/A | iq_info |
/kshana-iq |
N/A (as gravações são ficheiros de gigabytes; ver Nota) | — | O inventário de uma pasta é Python e CLI; o servidor MCP lê um único diretório de trabalho | |
iq extract, convert, decimate |
N/A | N/A | N/A | N/A | N/A (ver Nota) | — | Reescrevem gravações em disco (N/A acima) | |
a lista de sinais (iq --help) |
iq_signals |
N/A | iq_signals |
/kshana-iq |
N/A (uma lista; execute kshana iq --help) |
— |
Funções utilitárias#
Pequenos pontos de entrada que não são uma linha de capacidade, e onde está cada um:
| Função | Superfície | O que é |
|---|---|---|
version |
Python (kshana.version(), kshana.__version__), WASM (version), CLI (--version), MCP (as informações do servidor) |
A versão do motor |
iq_read_epochs |
Python | Lê um ficheiro binário kshana.track-epoch/1 que kshana iq track --epochs escreveu. N/A nos restantes: lê um ficheiro do disco (o WASM não tem sistema de ficheiros, o MCP lê apenas um diretório de trabalho através das ferramentas iq_*) |
encode_permalink, decode_permalink |
WASM | O codec de ligações de partilha ?s= do playground do navegador (TOML de cenário para um token seguro para URL e vice-versa). N/A nos restantes: uma ligação para uma página web não tem significado para uma linha de comandos, uma chamada Python ou um agente |
Limites que diferem por superfície#
| Superfície | Limite de entrada | Ficheiros |
|---|---|---|
| MCP | 4 MiB por entrada de texto (2 MiB e 20 000 épocas para um excerto de fluxo); as respostas trazem no máximo 2000 linhas NMEA, 200 linhas de épocas não nominais e 4 MiB de ficheiros GeoJSON ou de pacotes | apenas conteúdo em linha: um campo de cenário que nomeia um ficheiro é recusado; as ferramentas iq_* usam um único diretório de trabalho opcional, com todos os caminhos confinados a ele |
MCP sobre HTTP (--http, alojado pelo próprio utilizador) |
como o MCP, com um corpo de pedido de 5 MiB, 120 s por pedido e 8 pedidos em simultâneo por predefinição | nenhum: as ferramentas de ficheiros iq_* estão desativadas; todas as outras ferramentas aceitam conteúdo em linha |
| Python, Rust | 64 MiB por entrada de texto | receiver_trust pode nomear um path que o processo consiga ler |
| WASM | 64 MiB por entrada de texto, dentro da própria memória do navegador | nenhum: o navegador não tem sistema de ficheiros, nada é carregado |
Níveis de evidência e ressalvas em todas as superfícies#
- Um pacote de evidências é um registo técnico do que o motor calculou a partir de um registo sob definições declaradas, com todos os resumos criptográficos e uma assinatura sobre eles. Não é um parecer jurídico, uma constatação de facto sobre qualquer evento nem uma aprovação. Um resultado positivo da verificação diz que o registo não foi alterado; sem uma chave pública de confiança, prova apenas a integridade face à chave que o próprio pacote nomeia.
- Os monitores de confiança do recetor e a pontuação de confiança são MODELLED: os limiares são entradas declaradas e nada afirma como se comportam face a interferência real. A saída é consultiva; o Kshana não é um equipamento de navegação homologado (IEC 61108, IEC 61162) e o operador continua a ser responsável. Uma pontuação elevada não prova uma solução de posição genuína.
- O mapa de interferência é MODELLED (limiares fixados antecipadamente, não validados face a uma medição de referência no terreno). Uma célula degradada não identifica a interferência como causa; uma célula não observada não é evidência de um percurso livre; descreve relatos passados e não é uma previsão. É apenas agregado: nenhum identificador é devolvido.
- O NMEA de treino é apenas texto: nenhum RF, IQ ou forma de onda é sintetizado, nada é transmitido, e nunca se destina aos sistemas de navegação em funcionamento de uma embarcação.
A etiqueta de evidência e as saídas que não trazem nenhuma#
Cada figura e tabela que uma execução escreve traz o seu nível de evidência (VALIDATED, MODELLED ou PARTNER, o mais fraco das linhas do registo por trás dele) e os ids dessas linhas, em toda superfície que executa um cenário: o JSON de resultado (chave evidence), o SVG do gráfico (elemento de metadados e uma linha sob o gráfico) e a tabela CSV (linhas de comentário # evidence:). A mesma etiqueta está nas saídas de receiver-trust (CLI, MCP, Python), jammertest score --json, iq acquire, iq sweep, iq track --summary, iq monitor --json, no relatório de rota do mapa de interferência, e dentro do config.json de cada pacote de evidências (assinado; kshana evidence verify indica-a). Os ids das linhas são estáveis (VM- e oito dígitos hexadecimais, a coluna ID de docs/VERIFICATION-MATRIX.md).
Estas saídas não trazem etiqueta, cada uma por um motivo declarado (a lista é UNLABELLED_WRITERS em tests/evidence_labels_doc_sync.rs, que falha diante de um escritor que não está etiquetado nem listado):
| Saída | Por que não traz etiqueta |
|---|---|
| ficheiros de resultado do kshana-bench | um esquema fixo, fixado pelos compromissos do conjunto reservado; cada um traz o seu próprio label (MODELLED ou measured) |
| produtos diários do observatório de interferência (GeoJSON, PNG, JSON de incidentes) | um esquema congelado e publicado; as ressalvas da nota de método os acompanham |
| ficheiros de célula, de pontuação e de relatório da campanha IQ | fixados por resumo; cada um declara a pontuação da campanha que reapresenta |
| amostras IQ, metadados SigMF e SDR, referência de cena, fluxos de épocas e de eventos de seguimento, registos de sessões ao vivo | ficheiros presos a um formato e fluxos de registos lidos por outras ferramentas |
| exportações SP3, OMM, OEM, CZML, KML, GeoJSON, STK, de movimento para test bench e NMEA; o fluxo NMEA de treino | ficheiros presos a um formato lidos por ferramentas de terceiros |
| formatos de transmissão de telemetria (Prometheus, OTLP, CEF, LEEF) | definidos pelos seus formatos de transmissão |
| documentos gerados (o próprio registo, as tabelas de estudo e de dados versionadas) | não são a saída de uma execução |