SPB Git forge

spb/metrika

Public

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

21commits 1branches 1releases
2.2 MBsize
maindefault branch
1 mo agolast push
Swift 92.4% HTML 3.3% R 3% Shell 1.3%

History of Metrika.xcodeproj/project.pbxproj · clear filter

  1. Sun, Aug 9, 2026 1

    1. Simon-Pierre Boucher committed 1 mo ago · 1 file +2 −2
  2. Wed, Aug 5, 2026 6

    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 1 mo ago · 1 file +2 −2
    2. feat: v1.0 features — sample datasets, docs site, Metal 2M-point renderer
      …
      - sysuse command with bundled samples (sales: 200-firm x 5-year panel;
        mtcars) shipped as ZQEngine resources, generated by
        scripts/make_samples.R
      - metrika-cli docs: static documentation site rendered from the shared
        command registry (docs/index.html, 38 commands, light/dark); CLI
        restructured with a default 'run' subcommand
      - Metal point-sprite renderer (CLAUDE.md §7 pane 4): packed 12-byte
        vertices, unified-memory buffer written once, scroll-pan /
        pinch-zoom / double-click-reset touching only a 24-byte uniform;
        takes over scatter plots past 100k points (METRIKA_METAL_THRESHOLD
        override for tests); verified rendering 2,000,000 points in-app
      - METRIKA_AUTORUN debug hook for headless app driving
      - MARKETING_VERSION 1.0.0
      - 116 kit tests + 4 UI tests green
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      simon-pierre boucher committed 1 mo ago · 1 file +8
    3. 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 1 mo ago · 1 file +4
    4. 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 1 mo ago · 1 file +8
    5. test(ui): add XCUITest console smoke per CLAUDE.md §9
      …
      - MetrikaUITests target (xcodegen scheme test action)
      - launch-environment hook (DEBUG only): sandboxed app materializes the
        test CSV in its own container, since the runner cannot stage files
        across the sandbox boundary reliably
      - queries predicate on AX 'value' (SwiftUI Text exposes value, not label)
      - smoke: launch, auto-load dataset, type gen + reg robust, assert
        regression table and sidebar variable
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      simon-pierre boucher committed 1 mo ago · 1 file +119
    6. 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 1 mo ago · 1 file +383