# Try reflection-oss/mirror: review a failing-test repair — 17 October 2026

**Tested status:** Primary repository, Apache-2.0 license and official Mirror documentation reviewed for the 17 October edition. Editorial correction checked on 19 October: the Python fixture, local Git baseline, independent test and resulting one-line diff were executed in a disposable folder. **Not executed:** Mirror installation, Mirror inference, GitHub Actions or any model experiment. Mirror-specific outputs below remain expected, not observed.

## Why this matters

[Mirror](https://github.com/reflection-oss/mirror) is a terminal coding agent with built-in file tools, edit/command approvals and worktree support. The open-source Apache-2.0 repository accompanied Reflection's October 16 [Beam release](https://reflection.ai/blog/beam-is-available). This lab separates a model's claim that it fixed a bug from a passing independent test and a reviewed Git diff. Mirror's manual approval mode is **not a sandbox**.

## Requirements and exact costs

Use Python 3, Git and [uv](https://docs.astral.sh/uv/) in a throwaway **personal** folder, never work code. Official Mirror wheels support macOS 15+ (Apple Silicon) and Linux glibc 2.28+ (x86-64 or ARM64); no native Windows build. Installation is free and may download dependencies. Mirror software is [Apache-2.0](https://github.com/reflection-oss/mirror/blob/main/LICENSE).

**Steps 1–3 require no account, API key, model request, paid service or GPU.** Step 4 is entirely optional: running a model requires a compatible provider key and may be metered. Do not purchase, upgrade, add payment information, or enable API billing. Without *already authorized and verified zero-cost model access*, report the optional step as NOT RUN. No local computer is needed to publish Agent Signal; these are optional reader instructions.

## 1. Reproduce the bug without an agent

```sh
mkdir mirror-lab-2026-10-17
cd mirror-lab-2026-10-17
git init -q
cat > stats.py <<'PY'
def average(nums):
    return sum(nums) / (len(nums) + 1)
PY
cat > test_stats.py <<'PY'
import unittest
from stats import average

class TestAverage(unittest.TestCase):
    def test_three(self):
        self.assertEqual(average([2, 4, 6]), 4)

if __name__ == "__main__":
    unittest.main()
PY
printf '__pycache__/\n' > .gitignore
git add stats.py test_stats.py .gitignore
git -c user.name="Agent Signal Lab" -c user.email="lab@example.invalid" -c commit.gpgsign=false commit -qm "Record failing baseline"
python3 -m unittest
```

**Observed in the 19 October correction check:** the baseline commit is created, then one test fails with `AssertionError: 3.0 != 4`; the denominator is deliberately wrong. Keeping the failing version in Git makes the later repair diff meaningful. The commit identity above applies only to that disposable lab commit.

## 2. Try Mirror's free install and CLI inspection

```sh
uv --version
uv tool install reflection-mirror
uv tool list
mirror --help
```

**Expected:** `reflection-mirror` listed and help for the `mirror` command. This checks the installed harness without running inference. Note the version and options shown; CLI is still a beta and may change. Do not start a model session merely for this check.

## 3. Record an independent acceptance criterion

```sh
git status --short
python3 -m unittest
```

The baseline should still fail. A successful agent repair, **if optionally run**, means the test becomes green, the changed file is `stats.py`, and the only necessary code adjustment is:

```diff
-    return sum(nums) / (len(nums) + 1)
+    return sum(nums) / len(nums)
```

Write down the initial failure, installed version and baseline score. A failing test before agent work is expected.

## 4. Optional model run, only with verified pre-existing no-charge entitlement

If you have confirmed an already authorized **zero-cost** provider allowance, follow the [official Mirror quickstart](https://developers.reflection.ai/coding-agents-quickstart) to connect it and start `mirror` in this scratch directory. Keep the **default manual** approval mode. Never switch to `--approval-mode auto` for this lab.

Enter in Mirror:

```text
Run python3 -m unittest, find and fix the failing average test, and rerun the tests. Only change stats.py. Ask before executing commands or edits.
```

Inspect every requested command/edit before approving it. Reject unexpected network access, credentials, deletion, or unrelated changes. When the agent finishes, independently run in your shell:

```sh
python3 -m unittest
git diff -- stats.py
git status --short
```

**Expected if successful:** `OK` for one test and the one-line diff above. An agent saying "done" does not count. If you skipped model inference, keep the baseline failure and label the agent stage **NOT RUN**.

## Troubleshooting

- `uv` missing: use official installation instructions; don't paste unreviewed installation scripts.
- `mirror` not on PATH: `uv tool update-shell`, then reopen your terminal.
- Unsupported system: stop; no need to rent a cloud computer.
- Baseline mysteriously passes: verify `stats.py` retains `len(nums) + 1` and test discovery sees `test_stats.py`.
- Model asks for a key, `401`, or paid access: cancel; **do not activate billing**.
- Agent proposes extra edits or commands: reject and record the reason; manual approvals are not a hardened security boundary.

## Scorecard and honest interpretation

**Free-baseline score (0–4):** 1 point each for reproducible failing test; documented Apache-2.0 license; installed Mirror help/version inspected; and a recorded acceptance criterion plus verified no-billing decision.

**Optional agent score (0–2, only if actually run):** 1 for all edits/tool calls reviewed before approval; 1 for green independent tests and the expected minimal diff. If no model ran, write **agent score N/A (not zero, not two)**. Never claim a 6/6 run from a documentation review.

## Primary sources and verification ledger

[Official Mirror repository](https://github.com/reflection-oss/mirror) · [License](https://github.com/reflection-oss/mirror/blob/main/LICENSE) · [Installation and sample task](https://developers.reflection.ai/coding-agents-quickstart) · [Approvals and limitations](https://developers.reflection.ai/mirror-overview) · [Beam availability on 16 October](https://reflection.ai/blog/beam-is-available).

**Primary sources verified:** yes. **Fixture, local Git baseline and independent repair diff checked:** 19 October editorial correction. **Mirror installed:** no. **Model/Actions experiments run:** no. **Paid access changed:** no.

