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 Metrika/Sources/MetrikaApp.swift · clear filter

  1. docs: README with badges, screenshots, and the v1.0 story
    - hero: console session showing cluster-robust factor regression and the
      GPU-batched 10k bootstrap; screenshot grid (Charts by(), Metal 2M,
      data browser, manual)
    - shields badges: release, macOS 14+, Swift 6, arm64, Metal+MLX, 116
      tests, R-validated 1e-10, notarized DMG
    - five-minute tour, feature matrix, numerical-validation section,
      architecture, build instructions, extensibility examples
    - METRIKA_AUTOPANE debug hook (headless pane selection for screenshots)
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    simon-pierre boucher committed 6 days ago (Aug 5, 2026) · 1 file changed +13 −1
  2. feat(app): user manual — in-app reference and console help
    - ZQCommandReference: one registry of every command (syntax, options,
      examples, notes) shared by the console and the app so they cannot
      drift; 35 commands across 10 categories
    - console: 'help' lists the reference by category, 'help <command>'
      (abbreviations resolve too) renders the full entry
    - app: Manual pane — searchable sidebar grouped by category, per-command
      pages (syntax/options/examples), and a 'How Metrika works' overview
      covering the command grammar, data handling, estimation conventions,
      the CPU/GPU planner, reproducibility, and user commands
    - release plumbing: real team ID + notary keychain-profile NAME in
      release.sh (both configuration, not credentials, per the security
      conventions), manual Developer ID signing with hardened runtime,
      -skipPackagePluginValidation, DMG background art
    - tests: help coverage test pins a manual entry for every implemented
      verb; UI smoke drives the Manual pane; 106 green
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    simon-pierre boucher committed 6 days ago (Aug 5, 2026) · 1 file changed +3
  3. feat(ui): data browser and do-file editor panes
    - DataBrowserPane (§7 pane 3): NSTableView bridge (natively virtualized),
      sortable columns with missing-last ordering, observation-number gutter,
      filter bar compiled to an if-expression through the real parser
      (ZQCommandParser.parseExpression + ZQSession.conditionMask are the new
      public entry points)
    - DoFileEditorPane (§7 pane 2): NSTextView bridge with ZQL highlighting
      (verbs resolved via ZQVerbTable, comments, strings), run selection or
      file with Cmd-R through the shared session path, open/save .zyq
    - ContentView: segmented Console / Data / Do-file switcher in the toolbar
    - UI smoke extended: pane switching, filter narrowing (2 of 5 obs),
      do-file run surfacing in the console and sidebar
    - 61 kit tests + 2 UI tests green
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    simon-pierre boucher committed 6 days ago (Aug 5, 2026) · 1 file changed +32 −6
  4. feat: bootstrap Metrika v0.1 skeleton with working ZQL vertical slice
    - MetrikaKit SPM package: ZQParser, ZQPlanner, ZQEngine, ZQData, ZQStats,
      ZQGPU, ZQGraphics, ZQPlugins (Swift 6, strict concurrency)
    - ZQL parser: lexer, Pratt expressions, factor variables, prefix commands,
      column-cited errors with Levenshtein verb suggestions
    - ZQData: DuckDB-backed load/save (parquet, csv, json, arrow)
    - ZQStats: OLS via LAPACK QR, HC0-HC3 and cluster-robust SE, summarize,
      t/F distributions accurate in the far tails
    - ZQGPU: Philox4x32-10 reference RNG, counter-addressable bootstrap
    - ZQEngine: session actor with use/save/gen/replace/drop/keep/summarize/
      regress/count/list/graph/bootstrap/set seed/xtset/log
    - SwiftUI app (xcodegen): console with history, variables sidebar,
      Swift Charts plots; sandboxed + hardened runtime entitlements
    - Tests: 44 green (parser golden, R fixtures at 1e-10, Philox KAT,
      end-to-end engine); Tests/Fixtures/generate.R; Tests/Bench harness
    - scripts: check_headers.sh + pre-commit hook, make_icns.sh, release.sh
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
    simon-pierre boucher committed 6 days ago (Aug 5, 2026) · 1 file changed +44