@tikoci/centrs 0.1.9-next.22 → 0.1.9-next.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/GLOSSARY.txt CHANGED
@@ -206,6 +206,8 @@ tzsp
206
206
  TZSP
207
207
  UDP
208
208
  UIA
209
+ # unscorable: a corpus observation with no device answer (failed/missing capture, unknown or ambiguous readout); `parseVerdict` in scripts/corpus-db.ts.
210
+ unscorable
209
211
  uvx
210
212
  vcs
211
213
  venv
@@ -216,6 +218,8 @@ vrf
216
218
  webproxy
217
219
  WinAppDriver
218
220
  winbox
221
+ # wiresage/routeros-lsp: third-party RouterOS checker; its 875 conformance cases are the corpus's `wiresage-conformance` collection (lsp-routeros-ts#42).
222
+ wiresage
219
223
  Wireshark
220
224
  workstream
221
225
  workstreams
@@ -318,6 +322,9 @@ REUSEADDR
318
322
  # L2 bridge frame-parsing terms (test/integration/mndp-l2-bridge.ts):
319
323
  # ethertype: 16-bit EtherType field in an Ethernet frame (0x0800 = IPv4).
320
324
  ethertype
325
+ # binpad: OpenSSL `BN_bn2binpad`, a big number as fixed-width big-endian bytes;
326
+ # MAC-Telnet's mtwei.c hashes EC-SRP `z` with it, btest does not (#516).
327
+ binpad
321
328
  # ihl: IPv4 Internet Header Length (low nibble of the first byte, in 32-bit words).
322
329
  ihl
323
330
  # PIIX: Intel PCI-ISA bridge chipset QEMU emulates; shows up in CHR's REST board-name.
@@ -409,6 +416,16 @@ globalname
409
416
  localname
410
417
  setnote
411
418
  runnumber
419
+ # addcomment/setcomment/setname/setdisabled/setnumbers/printdetail/pickbegin: the
420
+ # same IL rendering, quoted as evidence for the spaced-argument rule (GH#350) —
421
+ # "/interface set ether1 comment \"x\"" is "(evl /interface/setcomment=x;numbers=ether1)".
422
+ addcomment
423
+ setcomment
424
+ setname
425
+ setdisabled
426
+ setnumbers
427
+ printdetail
428
+ pickbegin
412
429
  # unconfigured: a freshly-flashed RouterOS device with no IP — the mac-telnet use case.
413
430
  unconfigured
414
431
  unwired
@@ -783,6 +800,8 @@ dgram # Node's `node:dgram` UDP socket module — reached by `mac-telnet`, and o
783
800
  # pair, so its spelling is load-bearing and must not be "corrected".
784
801
  elsy # the misspelled `else` in `:if (1=1) do={…} elsy {…}` — rejected as `expected end of command` on CHR 7.21.5/7.23.5/7.24.2/7.25beta3, which is what proves the bare-brace `else {` acceptance is a real device fact and not a probe artifact (#347)
785
802
  prnt # a misspelt `print` verb — `/ip/address/prnt` is the offline analyzer's ABSTENTION fixture (`verdict: warn`, not `fail`), which is what proves the two-stage validation gate passes an abstention through to the device rather than refusing it (#354)
803
+ zzznotanarg # an argument name no RouterOS command has — `/system/script add zzznotanarg beep` is `bad parameter zzznotanarg` (7.24.5) or `expected end of command` (7.22.1), which proves the device pairs a spaced `name value` against per-command schema (#350)
804
+ zzzscript # a `…script`-shaped name no command has — `zzzscript={ :beep }` is a `syntax error` on CHR 7.22.1/7.24.5, the control for the script-body brace exemption (#350)
786
805
  zzznotamenu # a menu name no RouterOS build has — `/ip { zzznotamenu { print } }` is a `syntax error` on device, so menu-scope resolution is schema-dependent and a catalog MISS must abstain rather than accept (#348)
787
806
 
788
807
  # #361 absent-menu controls. Deliberate NON-words: each names a path no RouterOS
@@ -797,3 +816,8 @@ nochr # a CLI-Reference syscap that excludes CHR — `/system/license/output` is
797
816
  # #417 CLI Reference refresh (7.26beta1).
798
817
  cmr # MikroTik's optional `cmr` controller package and the `/cmr` menu tree it adds (7.26beta1); the catalog carries `package="cmr"` as its published gate, e.g. `/cmr/device/reboot` (#417)
799
818
  apptraffic # two paths new in 7.26beta1 with different published gates: the `/tool/apptraffic` settings menu (conditions `!mmips, !powerpc, !smips`) and the `/cmr/device/apptraffic` command (package `cmr`, no conditions) (#417)
819
+
820
+ # #498 schema-5 corpus repin.
821
+ rle # the corpus's `highlight-rle-v1` response encoding: each highlight stream stored as run-length `[class, count]` pairs, decoded by `decodeHighlightRuns` in scripts/corpus-db.ts (#498)
822
+ removenumbers # the IL head `/ip/firewall/address-list/removenumbers=…` that `remove [find …]` renders as, quoted verbatim in the bracket-`=` corroboration test (#498)
823
+ vscod # the last segment of a corpus path the forum importer truncated at its slug limit (`…-editors-like-vscod/post-0014-snippet-02.rsc`); cited as the path, so the spelling must match the corpus row (#498)
@@ -530,6 +530,25 @@ has no `result`, `syntax` or `semantic`. Its stages are `offline: passed`, then
530
530
  `device: skipped` with `reason: "not reached: transport/auth-failed"`. RouterOS
531
531
  answered 401 before `:parse` could give a verdict.
532
532
 
533
+ ### V9. A stray `}` that RouterOS would silently discard is refused (#504)
534
+
535
+ A `}` or `]` that closes nothing at the top level makes RouterOS accept the
536
+ script and stop reading there: everything from that byte on is dropped without a
537
+ word. `/system identity set name=a}` sets the identity to `a`. `explain` reports
538
+ it as a `warning`, because nothing is rejected (`commands/explain/examples.md`
539
+ example 42). The gate refuses that one warning by code, because the script the
540
+ device would run is not the one that was written.
541
+
542
+ ```bash
543
+ centrs execute $R ':put "first"};:put "second"' --via rest-api --username $U --password $P --json
544
+ ```
545
+
546
+ Envelope: `ok: false`, `error.code=validation/syntax`,
547
+ `error.context.validationStage="offline"`, `error.context.span` covering the `}`
548
+ through the end of the input, and
549
+ `error.context.diagnostics[0].code="explain/canonicalizer/discarded-close"`. With
550
+ `--validate=false` the device runs it and prints only `first`.
551
+
533
552
  ## Write authorization and returned runtime faults
534
553
 
535
554
  These regressions are transport-independent and run in