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 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. 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 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.
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
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="[email protected]" -c commit.gpgsign=false commit -qm "Record failing baseline"
python3 -m unittestObserved 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
uv --version
uv tool install reflection-mirror
uv tool list
mirror --helpExpected: 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
git status --short
python3 -m unittestThe 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:
- 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 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:
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:
python3 -m unittest
git diff -- stats.py
git status --shortExpected 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
uvmissing: use official installation instructions; don't paste unreviewed installation scripts.mirrornot 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.pyretainslen(nums) + 1and test discovery seestest_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 · License · Installation and sample task · Approvals and limitations · Beam availability on 16 October.
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.