Skip to content
Agentmart
Submit a tool

gala-testing

Test Gala programs — property testing, conformance, unit tests, CI integration

Skill by gala-pl

IndexedApache-2.0★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/gala-pl-gala-testing

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Test Gala programs — property testing, conformance, unit tests, CI integration

Use cases: testing, devops

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/gala-testing

Tools it pre-approves 10

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash(cargo
  • run
  • --bin
  • gala
  • *)
  • Read
  • Write
  • Edit
  • Glob
  • Grep

What's inside

Skill name
gala-testing
Description
Test Gala programs — property testing, conformance, unit tests, CI integration
License
Apache-2.0
Allowed tools
Bash(cargo, run, --bin, gala, *), Read, Write, Edit, Glob, Grep
Instructions
253 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands

Files (1)

  • SKILL.md

SKILL.md (first lines)

## Task

$ARGUMENTS

## Overview

Testing in Gala is a **language feature**. The compiler provides quantum-aware property testing that verifies physical invariants, not just example assertions.

## Property Testing (Signature Feature)

Add attributes to functions to enable automatic property verification:

```gala
#[property(unitary)]        // f†f = I (for quantum functions)
#[property(reversible)]     // adjoint(f) ∘ f = identity
#[property(uncomputes)]     // Ancillae return to |0⟩
#[property(grad_matches)]   // grad ≈ finite difference
#[property(effect_honesty)] // quantum fn has no measurement
```

### Example: Testing a Circuit

```gala
// src/adder.gala
#[property(unitary)]
#[property(reversible)]
#[property(uncomputes)]
fn ripple_adder(a: Qubits<4>, b: Qubits<4>) -> (Qubits<4>, Qubits<4>) quantum {
    // ... adder circuit with ancilla ...
    (a, b)  // ancilla auto-uncomputed
}

// Run property tests
gala test src/adder.gala --property unitary
gala test src/adder.gala --property reversible
gala test src/adder.gala --property uncomputes
```

### How It Works

1. **Compiler generates** randomized input states
2. **Simulator executes** circuit and properties
3. **Property checker** verifies invariant
4. **On failure:** shrinks to minimal counterexample

### Output
```
PASS: property(unitary) on ripple_adder
  Tested 100 random states, max ||f†f - I|| = 2.3e-15

FAIL: property(uncomputes) on bad_adder
  Counterexample: input |1010⟩|0000⟩
  Ancilla q4: |0.001⟩ + |0.999⟩  (should be |0⟩)
  Shrinking...
  Minimal: missing adjoint on q4
```

## Property Types

| Property | Checks | Applicable To |
|----------|--------|---------------|
| `unitary` | Matrix is unitary | `quantum` functions |
| `reversible` | `adjoint(f)(f(x)) ≈ x` | `quantum` functions |
| `uncomputes` | Ancillae ≈ \|0⟩ at scope exit | Functions with ancilla |
| `grad_matches` | `grad(f) ≈ finite_diff(f)` | Hybrid functions with `grad` |
| `effect_honesty` | No `measure` in `quantum` | `quantum` functions |

## Unit Testing

### Classical Pure Functions
```gala
// src/math.gala
fn add(a: Int, b: Int) -> Int pure { a + b }
fn mul(a: Int, b: Int) -> Int pure { a * b }

// Tests in same file or test/ directory
#[test]
fn test_add() {
    assert(add(2, 3) == 5)
    assert(add(-1, 1) == 0)
}

#[test]
fn test_mul() {
    assert(mul(3, 4) == 12)
}
```

Run: `gala test src/math.gala`

### Quantum Functions (with simulator)
```gala
#[test]
fn test_bell_pair() {
    let (a, b) = bell()
    let m1 = measure(a)
    let m2 = measure(b)
    // Perfect correlation
    assert(m1 == m2)  // With enough shots
}

// Run with shots
gala test src/bell_test.gala --shots 1000
```

## Conformance Testing

Gala includes a **conformance suite** (`tests/conformance/`) that defines expected language behavior. You can run it on your programs:

```bash
# Run full conformance suite
gala test --conformance

# Run specific category
gala test --conformance linearity
gala test --conformance effects
gala test --conformance uncompute
```

From gala-pl/gala, Apache-2.0.

More from gala-pl/gala

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Oct 23, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from gala-pl

Cite this page

gala-testing skill. Agent Mart. https://agentmart.dev/skills/gala-pl-gala-testing (last updated 2026-10-24)