SPB Git

spb/metrika Public

Stata-class statistics, GPU-accelerated by Apple Silicon. Native Swift — no Electron, no Python runtime, no compromises.

Swift 92.4% HTML 3.3% R 3% Shell 1.3%

History of MetrikaKit/Tests/MetrikaKitTests/PluginTests.swift · clear filter

  1. feat(plugins): harden the user-command protocol
    - fix: script-command verbs were routed AFTER parsing, which rejects
      unknown verbs — .zyq commands could never run; they now route before
      the parser with raw macro arguments
    - .zyq scripts: ado-style 'args name…' declaration with backtick macro
      substitution (`0', `k', `name'); scratch-variable scripts verified
      end-to-end against the built-in path
    - ZQPluginRegistry: verb-keyed native plugin registry; verbs shadowing
      built-ins rejected at session start; parsed commands validated against
      the declared ZQSyntaxSpec (varlist/if/in/weights/options)
    - mutation gating: plugins return a replacement dataset via
      ZQResult.replacementFrame, installed only under 'mutates: true' — a
      non-mutating plugin returning one is an error and the dataset is
      untouched (ZQContext is now a plain value, no writable back-channel)
    - ZScorePlugin ships as the reference native plugin, registered by the
      app ('zscore varname' -> standardized z_varname)
    - CLAUDE.md: document the mlx-swift build quirks (xcodebuild for GPU
      tests, -skipPackagePluginValidation everywhere)
    - 87 tests green (swift test and xcodebuild with GPU suites); app builds
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    simon-pierre boucher committed 6 days ago (Aug 5, 2026) · 1 file changed +142