Recorded repair observations
The retained six-run cold cohort mixes FreeCAD runtimes. Its after runs used PPA FreeCAD 0.21.2; two before runs used a different runtime. One before run completed the geometry, rendering and report pipeline with the documented exit code 1 (differences found), which our checker rejected. This cohort does not isolate the FreeCAD 26 fix.
A separate retained direct check on FreeCAD 26.3 reported three unpatched exit-2 runs and three patched exit-1 runs with report artifacts. These scripted regression checks are separate from cold-agent evidence.
A later direct Linux check on 20 October 2026 ran v0.4.1 on FreeCAD 26.3 with --perf, completed geometry, performance, rendering and reports, and exited 1. This is a direct release check, not a new three-before/three-after cold-agent proof or a claim about other setups.
Earlier upstream links are dated cached observations. They do not establish the current live issue, PR or release state. The original run outcomes remain in Run details below.
Retained v0.4.1 direct-check report →
Retained repair evidence. This record does not qualify for a controlled cold comparison. Its declarations are historical evidence, not a current proof badge.
Historical record (JSON) · Declared comparison (JSON) · Retained patch · Direct check report
- run ID missing from saved ledger
Repair history and test corrections
Current diagnosis: unknown · verifyingcaddiff FreeCAD 26.3 pinned via guest setup; setup extract fix
Repair record fix-recovery-caddiff-20261026 · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 17, 2026 · Unsupported in this smoke.
Current diagnosis: unknown · verifyingcaddiff FreeCAD 26.3 pinned via guest setup; setup extract fix
Repair record fix-recovery-caddiff-sudo-20261026 · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 17, 2026 · Unsupported in this smoke.
Current diagnosis: unknown · fix verification did not passcaddiff FreeCAD 26.3 pinned via guest setup; setup extract fix
Repair record fix-recovery-caddiff-patch-20261026 · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 17, 2026 · Unsupported in this smoke.
Fix verification: angel291592/caddiff · Oct 26, 2026 · Recorded operation failed.
Repo repair in progress · fix-a8bd88c3f066e4473ed3caddiff/geom_diff.py raises NameError: name 'fcenv' is not defined
Before: angel291592/caddiff · Oct 26, 2026 · Recorded operation failed
No verified fix is published. The failed run, actual patch and fresh passing verification must be linked before a fix claim is made.
Current diagnosis: unknown · resolvedsuperseded; repo angel291592/caddiff has a later non-harness result a recorded run
Repair record fix-4f8811af872d873c79a7 · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 16, 2026 · Our test failed; no repo verdict.
Test-repair rerun: angel291592/caddiff · Oct 17, 2026 · Checked operation passed.
Current diagnosis: unknown · prerequisitean expected operation error cannot prove working behavior: {"returncode": 1, "stdout": "Old version parts (before merging): 4\nNew version parts (before merging): 4\nREMOVED (old only): 0 -> []\nADDED (new only): 0 -> []\nCANDIDATE (in both, sent to the geometric diff): 4\n of which instance count differs (a difference in itself): 0 -> []\nWrote: /tmp/caddiff_probe_report/bom_diff.json\nLoaded old version: 0.0s (11 objects)\nLoaded new version: 0.0s (11 objects)\n[1/4] BASEPLATE_01... no change (0.0s)\n[2/4] BRACKET_03... 1 changes (moved=0), unpaired=[] (0.1s)\n[3/4] MovedFixture... skipped (assembly container)\n[4/4] SLIDER_02... 1 changes (moved=1), unpaired=[] (0.0s)\n\nTotal candidates: 4\nGeometric differences: 2\n BRACKET_03: 1 change(s)\n SLIDER_02: 1 change(s)\nSkipped parts (1):\n MovedFixture: assembly_container\nWrote: /tmp/caddiff_probe_report/geom_diff.json\nTraceback (most recent call last):\n File \"<string>\", line 1, in <module>\n<class 'ModuleNotFoundError'>: No module named 'AttachmentEditor'\nInitializing GUI...\nLoading new-version STP...\n 11 objects\nLoading old-version STP (to compute diff geometry for color highlighting + render the old-version side-by-side image)...\n 11 objects\n\n[Stage 1/3] Precomputing diff geometry (must run before any visibility change)...\n BRACKET_03: symmetric difference V=192.000000mm3 (removed 192.0000 / added 0.0000) 0.0s\n 1 clusters (removed 1 / added 0), 0 fragments filtered: #1rem V=192.0000\n SLIDER_02: moved diff, skipping boolean ops (translation 5.0mm / rotation 0.0\u00b0)\n\n[Stage 2/3] Injecting highlight bodies and old-version proxy objects...\n Injected 5 objects\n\n[Stage 3/3] Rendering...\n\n[1/2] BRACKET_03 [shape_changed]\n Rendering overview image (scanning candidate view directions)...\n Selected view -1+0-1 (score=0.8000 magenta_in_box=432 components=1 solidity=1.0 body_pct=0.2133 readability=0.8), runner-up +1+0+1\n !! WARNING: no font from FONT_CANDIDATES was found; in-image text will render as tofu boxes. Install a CJK font or add this machine's font path to FONT_CANDIDATES.\n Overview magenta_px=3566 rects=1\n Rendering new-version close-up...\n New close-up magenta_px=0 rects=1\n Rendering old-version close-up (reusing the new-version camera, view unchanged)...\n Old close-up magenta_px=26175\n\n[2/2] SLIDER_02 [moved]\n Rendering overview image (scanning candidate view directions)...\n Overview magenta_px=8091 view=-1+1+1\n Rendering new-position close-up...\n New-position image magenta_px=202167\n Rendering old-position close-up (reusing the new-position camera, view unchanged)...\n Old-position image magenta_px=206729\n\nRendering complete, 2 screenshot sets\nManifest: /tmp/caddiff_probe_report/images/render_manifest.json\n\n============================================================\n [Step 1/5: BOM diff]\n============================================================\n CMD: /workspace/.venv/bin/python3 /workspace/.venv/lib/python3.12/site-packages/caddiff/bom_diff.py /workspace/examples/fixtures/moved_old.stp /workspace/examples/fixtures/moved_new.stp /tmp/caddiff_probe_report/bom_diff.json\n OK (0s)\n\n============================================================\n [Step 2/5: geometric diff]\n============================================================\n CMD: /usr/bin/python3 /workspace/.venv/lib/python3.12/site-packages/caddiff/geom_diff.py /tmp/caddiff_probe_report/bom_diff.json /workspace/examples/fixtures/moved_old.stp /workspace/examples/fixtures/moved_new.stp /tmp/caddiff_probe_report/geom_diff.json --lang en\n OK (0s)\n\n============================================================\n [Step 3/5: render diff images]\n============================================================\n CMD: /usr/bin/python3 /workspace/.venv/lib/python3.12/site-packages/caddiff/render_diff.py /tmp/caddiff_probe_report/geom_diff.json /workspace/examples/fixtures/moved_old.stp /workspace/examples/fixtures/moved_new.stp /tmp/caddiff_probe_report/images --lang en\n OK (25s)\n\n============================================================\n [Step 4/5: report]\n============================================================\nReport written: /tmp/caddiff_probe_report/report.html\nReport written: /tmp/caddiff_probe_report/report.md\n\n============================================================\n Pipeline finished\n============================================================\n Output dir: /tmp/caddiff_probe_report\n Manifest : /tmp/caddiff_probe_report/diff_manifest.json\n Geometry : 2 difference(s) (shape_changed=1, moved=1)\n NOTE: 1 part(s) were not compared \u2014 see summary.skipped_parts\n", "stderr": "", "needs_credentials": false, "needs_browser": false}
Recorded action: Wait for the documented external prerequisite; keep partial grades.
Repair record fix-5af52c7a8715e17be6d1 · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 16, 2026 · Our test failed; no repo verdict.
Repair development: angel291592/caddiff · Oct 16, 2026 · Repair work (development) · not an initial-trial result.
Current diagnosis: test · resolvedsuperseded; repo angel291592/caddiff has a later non-harness result a recorded run
Repair record fix-c2c573485f4a166a98a3 · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 17, 2026 · Our test failed; no repo verdict.
Test-repair rerun: angel291592/caddiff · Oct 17, 2026 · Checked operation passed.
Current diagnosis: unknown · resolvedSuperseded by fix-g3-caddiff-pin26c (verified, a recorded run, 3 fail then 3 pass). Earlier attempt of the same caddiff fix; failed for guest/probe setup reasons.
Repair record fix-g3-caddiff-fcenv · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 17, 2026 · Unsupported in this smoke.
Fix verification: angel291592/caddiff · Oct 17, 2026 · Recorded operation failed.
Current diagnosis: unknown · resolvedSuperseded by fix-g3-caddiff-pin26c (verified, a recorded run, 3 fail then 3 pass). Earlier attempt of the same caddiff fix; failed for guest/probe setup reasons.
Repair record fix-g3-caddiff-readme · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 17, 2026 · Unsupported in this smoke.
Fix verification: angel291592/caddiff · Oct 17, 2026 · Our test failed; no repo verdict.
Current diagnosis: unknown · resolvedSuperseded by fix-g3-caddiff-pin26c (verified, a recorded run, 3 fail then 3 pass). Earlier attempt of the same caddiff fix; failed for guest/probe setup reasons.
Repair record fix-g3-caddiff-readme2 · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 17, 2026 · Unsupported in this smoke.
Fix verification: angel291592/caddiff · Oct 17, 2026 · Checked operation passed.
Current diagnosis: unknown · resolvedSuperseded by fix-g3-caddiff-pin26c (verified, a recorded run, 3 fail then 3 pass). Earlier attempt of the same caddiff fix; failed for guest/probe setup reasons.
Repair record fix-g3-caddiff-pin26 · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 17, 2026 · Unsupported in this smoke.
Fix verification: angel291592/caddiff · Oct 17, 2026 · Our test failed; no repo verdict.
- G3 repro, launch-proof/caddiff
Current diagnosis: unknown · resolvedSuperseded by fix-g3-caddiff-pin26c (verified, a recorded run, 3 fail then 3 pass). Earlier attempt of the same caddiff fix; failed for guest/probe setup reasons.
Repair record fix-g3-caddiff-pin26b · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 17, 2026 · Unsupported in this smoke.
Fix verification: angel291592/caddiff · Oct 17, 2026 · Our test failed; no repo verdict.
Current diagnosis: unknown · verifiedcaddiff FreeCAD 26.3 pinned via guest setup; setup extract fix
Repair record fix-g3-caddiff-pin26c · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 17, 2026 · Unsupported in this smoke.
Fix verification: angel291592/caddiff · Oct 17, 2026 · Checked operation passed.
Run details
Earlier attempts (1)
Luna
Native agent · Recorded operation failedOperation / attempted scope <guest-path> diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-probe-out
Agent-reported scope: caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o <fresh output>
Run details
- run
- angel291592--caddiff-gpt-6-luna-1793040944986523440
- date
- Oct 26, 2026
- time to working
- not recorded
- product hosting / execution
- Local command in the guest
- recorded operation scope
- Pinned checkout 96e0dff; Python 3.11.18 venv and supplied FreeCAD interpreter 2026.09.16; FreeCAD import confirmed.
- model
- gpt-6-luna
- agent / version
- codex / codex-cli 0.164.0
- platform
- linux
- reported cost
- not reported (not assumed free)
- Recorded source
- https://github.com/angel291592/caddiff
- Backend
- hyperv
- Tool transport
- mcp-assigned-vm
- Recorded setup
- ["sudo -n /bin/bash -c 'mkdir -p /opt/mm /usr/local/bin && curl -fsSL https://micro.mamba.pm/api/micromamba/linux-64/latest | python3 -c \"import sys,io,tarfile; tarfile.open(fileobj=io.BytesIO(sys.stdin.buffer.read()), mode='\"'\"'r:bz2'\"'\"').extract('\"'\"'bin/micromamba'\"'\"', '\"'\"'/opt/mm'\"'\"')\"'", "sudo -n /bin/bash -c 'MAMBA_ROOT_PREFIX=/opt/mamba /opt/mm/bin/micromamba create -y -q -p /opt/fc -c conda-forge python=3.11 freecad=2026.09.16 && printf '\"'\"'#!/bin/sh\\nexport PYTHONPATH=/opt/fc/lib${PYTHONPATH:+:$PYTHONPATH}\\nexec /opt/fc/bin/python \"$@\"\\n'\"'\"' > /usr/local/bin/freecad-python3 && chmod 755 /usr/local/bin/freecad-python3 && /usr/local/bin/freecad-python3 -c '\"'\"'import FreeCAD; print(FreeCAD.Version()[:2])'\"'\"''"]
- Requested source pin (not an observed revision)
- {"commit": "96e0dff158b232ae1e2c27cecca74fdcc915778f", "url": "https://github.com/angel291592/caddiff"}
- Test version
- readme-66dabac9c6775cfe0ca25cd81bdfb13489a7ff5c5f0bb645c377b3166ef04478
- revision
- 96e0dff158b232ae1e2c27cecca74fdcc915778f
Current diagnosis: repo · pendingcaddiff/geom_diff.py raises NameError: name 'fcenv' is not defined
Repair record fix-a8bd88c3f066e4473ed3 · current status JSON. Original run outcomes remain unchanged.
Failed run: angel291592/caddiff · Oct 26, 2026 · Recorded operation failed.
Double-checks failed run: angel291592/caddiff · Oct 16, 2026 (a different model than this run).
Fix: fix-a8bd88c3f066e4473ed3.
Recorded blocker / warningStep: Geometric diff
caddiff/geom_diff.py raises NameError: name 'fcenv' is not defined
Safety: No problems traced to this repository code in these checks.
No problems traced to this repository code in these checks.
Reviewed as expected for a test run: attempted writes that failed, so nothing was written.
OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.
A short run cannot establish that code is safe.
Connections show IP addresses; proxies can hide the final hostname.
Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.
Full safety evidence →
Answers recorded for this run
- Compares two STEP files and emits a change report: Real input produced the expected result: NameError: name 'fcenv' is not defined
Source: Two STEP files in, one picture of *what changed* out — plus a change list your CI can gate on.
Input: examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp
Expected: diff_manifest.json reports moved geometry
Command: <guest-path> diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-claim-out
Observed: NameError: name 'fcenv' is not defined
ERROR: step 'Step 2/5: geometric diff' failed with exit code 1
Examples
- README fixture comparison: command output contains a crash diagnostic
Source: README.md / Benchmarks (measured, not estimated)
Input: moved_old.stp and moved_new.stp fixture pair
Expected: diff_manifest.json with the moved part change
Command: <guest-path> diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-example-out
Observed: tmp/caddiff-example-out/bom_diff.json <guest-path> <guest-path> /tmp/caddiff-example-out/geom_diff.json --lang en
FAILED (exit=1, 1s)
Intermediate artifacts produced so far:
/tmp/caddiff-example-out/bom_diff.json
Traceback (most recent call last):
File "<guest-path>", line 70, in <module>
FC_BIN, FC_LIB = fcenv.derive_bin_lib(FC_PYTHON)
^^^^^
NameError: name 'fcenv' is not defined
ERROR: step 'Step 2/5: geometric diff' failed with exit code 1
Local or hosted: local
Suggested next step (agent-reported): Fix the missing fcenv binding/import in caddiff/geom_diff.py and rerun the fixture comparison.
What the agent did
caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o <fresh output>
pwd; git status --short --branch; git rev-parse HEAD; sed -n '1,240p' README.md; python3 --version; id -u; ls -la
git init; git remote add origin https://github.com/angel291592/caddiff; git fetch --depth 1 origin 96e0dff158b232ae1e2c27cecca74fdcc915778f; git reset --mixed FETCH_HEAD; git status --short --branch; /usr/local/bin/freecad-python3 --version; FREECAD_PYTHON=/usr/local/bin/freecad-python3 PYTHONPATH=/opt/fc/lib /usr/local/bin/freecad-python3 -c 'import FreeCAD; print(FreeCAD.Version())'; sed -n '1,220p' pyproject.toml; rg -n "diff_manifest|moved|exit code|pytest|fixture|script|schedule|cron|webhook" README.md docs caddiff .github/workflows
git reset --hard FETCH_HEAD; mkdir -p .coldpass; python3 -m venv .venv; .venv/bin/python -m pip install -e .; FREECAD_PYTHON=/usr/local/bin/freecad-python3 PYTHONPATH=/opt/fc/lib .venv/bin/caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-evidence; ec=$?; echo EXIT:$ec; cat /tmp/caddiff-evidence/diff_manifest.json; find /tmp/caddiff-evidence -maxdepth 2 -type f | head -30
mkdir -p .coldpass; cat /tmp/caddiff-evidence/bom_diff.json; rg -n 'python caddiff/make_moved_fixture|caddiff diff|summary\.moved|scheduler|cron|webhook|manifest' README.md caddiff docs .github/workflows 2>/dev/null || true; sed -n '1,120p' README.md; sed -n '1,150p' caddiff/geom_diff.py; cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["<guest-path>","diff","examples/fixtures/moved_old.stp","examples/fixtures/moved_new.stp","-o","/tmp/caddiff-probe-out"],"cwd":"<guest-path>","env":{"FREECAD_PYTHON":"/usr/local/bin/freecad-python3","PYTHONPATH":"/opt/fc/lib"},"expected_returncode":2,"expected_text":"NameError: name 'fcenv' is not defined"}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Compares two STEP files and emits a change report","source":"Two STEP files in, one picture of *what changed* out — plus a change list your CI can gate on.","input":"examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp","expected":"diff_manifest.json reports moved geometry","probe_kind":"cli","argv":["<guest-path>","diff","examples/fixtures/moved_old.stp","examples/fixtures/moved_new.stp","-o","/tmp/caddiff-claim-out"],"expected_returncode":2,"expected_text":"NameError: name 'fcenv' is not defined","cwd":"<guest-path>","env":{"FREECAD_PYTHON":"/usr/local/bin/freecad-python3","PYTHONPATH":"/opt/fc/lib"}}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"README fixture comparison","source":"README.md / Benchmarks (measured, not estimated)","input":"moved_old.stp and moved_new.stp fixture pair","expected":"diff_manifest.json with the moved part change","argv":["<guest-path>","diff","examples/fixtures/moved_old.stp","examples/fixtures/moved_new.stp","-o","/tmp/caddiff-example-out"],"cwd":"<guest-path>","env":{"FREECAD_PYTHON":"/usr/local/bin/freecad-python3","PYTHONPATH":"/opt/fc/lib"},"expected_returncode":2,"expected_text":"NameError: name 'fcenv' is not defined"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Inspected README and caddiff entry points; the product exposes a two-file diff command and no product scheduler, recurring loop, or webhook trigger.","checks":[]}
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"blocked","fault_owner":"repo","operation":"caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o <fresh output>","operation_scope":"Pinned checkout 96e0dff; Python 3.11.18 venv and supplied FreeCAD interpreter 2026.09.16; FreeCAD import confirmed.","steps":["Read README local install and fixture reproduction instructions.","Created .venv and installed editable package with pip install -e . (success).","Ran documented fixture caddiff diff command with FREECAD_PYTHON=/usr/local/bin/freecad-python3 and PYTHONPATH=/opt/fc/lib."],"deviations":["Git metadata initialized and pinned commit fetched/reset as requested."],"stuck_step":"Geometric diff", "main_blocker":"caddiff/geom_diff.py raises NameError: name 'fcenv' is not defined", "plain_failure":"The command writes bom_diff.json, then crashes before generating the geometric diff or diff_manifest.json. It exits 2.","suggested_fix":"Fix the missing fcenv binding/import in caddiff/geom_diff.py and rerun the fixture comparison."}
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replayrun JSON · checker evidence · agent report + check · transcript excerpt · error excerpt
No product verdict. Run record.
No product verdict. Run record.
No product verdict. Run record.
No product verdict. Run record.
No product verdict. Run record.
No product verdict. Run record.
No product verdict. Run record.
No product verdict. Run record.
Fix double-checks (4)
Luna
Native agent · Recorded operation failedOperation / attempted scope /tmp/caddiff-venv/bin/caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-replay --lang en
Agent-reported scope: README fixture pair diff to generate the HTML, Markdown, image, and manifest report
Run details
- run
- angel291592--caddiff-gpt-6-luna-1793038020354504202
- date
- Oct 26, 2026
- time to working
- not recorded
- product hosting / execution
- Local command in the guest
- recorded operation scope
- Python 3.12 supported; FreeCAD and Xvfb required for local rendering
- model
- gpt-6-luna
- agent / version
- codex / codex-cli 0.164.0
- platform
- linux
- reported cost
- not reported (not assumed free)
- Recorded source
- https://github.com/angel291592/caddiff
- Backend
- hyperv
- Tool transport
- mcp-assigned-vm
- Recorded setup
- ["sudo -n /bin/bash -c 'mkdir -p /opt/mm /usr/local/bin && curl -fsSL https://micro.mamba.pm/api/micromamba/linux-64/latest | python3 -c \"import sys,io,tarfile; tarfile.open(fileobj=io.BytesIO(sys.stdin.buffer.read()), mode='\"'\"'r:bz2'\"'\"').extract('\"'\"'bin/micromamba'\"'\"', '\"'\"'/opt/mm'\"'\"')\"'", "sudo -n /bin/bash -c 'MAMBA_ROOT_PREFIX=/opt/mamba /opt/mm/bin/micromamba create -y -q -p /opt/fc -c conda-forge python=3.11 freecad=2026.09.16 && printf '\"'\"'#!/bin/sh\\nexport PYTHONPATH=/opt/fc/lib${PYTHONPATH:+:$PYTHONPATH}\\nexec /opt/fc/bin/python \"$@\"\\n'\"'\"' > /usr/local/bin/freecad-python3 && chmod 755 /usr/local/bin/freecad-python3 && /usr/local/bin/freecad-python3 -c '\"'\"'import FreeCAD; print(FreeCAD.Version()[:2])'\"'\"''"]
- Requested source pin (not an observed revision)
- {"commit": "09807c37471b93c946554bf855ba307ccc00a7ae", "url": "https://github.com/angel291592/caddiff"}
- Test version
- readme-75599dd96144e08d511415fa47e824583a57b7fe2108d4b46ca44670aabf1db8
- revision
- 09807c37471b93c946554bf855ba307ccc00a7ae
Double-checks failed run: angel291592/caddiff · Oct 17, 2026 (a different model than this run).
Fix: fix-recovery-caddiff-patch-20261026.
Recorded blocker / warningStep: FreeCAD prerequisite installation
FreeCAD cannot be installed from available Ubuntu package sources within the allowed setup run
Safety: No problems traced to this repository code in these checks.
No problems traced to this repository code in these checks.
OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.
A short run cannot establish that code is safe.
Connections show IP addresses; proxies can hide the final hostname.
Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.
Full safety evidence →
Answers recorded for this run
- A failed diff run returns exit code 2.: Real input did not produce the expected result: FreeCAD
Source: `2` | the run failed (bad input, timeout, crash)
Input: missing STEP files
Expected: exit code 2 and FreeCAD prerequisite error
Command: /tmp/caddiff-venv/bin/caddiff diff /tmp/no-old.stp /tmp/no-new.stp -o /tmp/caddiff-claim-out
Observed: /usr/bin/xvfb-run: 184: /tmp/caddiff-venv/bin/caddiff: not found
Examples
- Documented moved fixture diff: command exited with code 127
Source: README.md, Benchmarks (measured, not estimated)
Input: examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp
Expected: diff manifest with two geometric differences
Command: /tmp/caddiff-venv/bin/caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-example-out --lang en
Observed: /usr/bin/xvfb-run: 184: /tmp/caddiff-venv/bin/caddiff: not found
Local or hosted: local
Suggested next step (agent-reported): Provide FreeCAD and Xvfb in the guest, then run the documented fixture diff.
What the agent did
README fixture pair diff to generate the HTML, Markdown, image, and manifest report
pwd; rg --files -g 'README*' -g 'AGENTS.md' -g 'pyproject.toml' -g 'package.json' -g 'Makefile' -g '.github/workflows/**' -g 'requirements*.txt' -g 'uv.lock' -g 'Cargo.toml' -g 'go.mod' | head -100; git status --short --branch; git remote -v
ls -la; find . -maxdepth 3 -type f | head -100; git init; git remote add origin https://github.com/angel291592/caddiff; git fetch --depth 1 origin 09807c37471b93c946554bf855ba307ccc00a7ae; git reset --mixed FETCH_HEAD
cat README.md; python3 --version; sed -n '1,220p' pyproject.toml; cat examples/README.md
id -u; command -v freecad || true; command -v xvfb-run || true; command -v caddiff || true; sed -n '1,240p' caddiff/cli.py; sed -n '1,160p' .github/workflows/ci.yml; ls -la .coldpass
python3 -m pip install -e .; python3 -m pip install --upgrade pip; python3 -m pip install -e '.[test,pptx]'; python3 -m caddiff --version; python3 -m caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-report --lang en; echo RUN_RC:$?; python3 -m caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-report2 --lang en 2>&1 | head -30; echo PIPE_RC:${PIPESTATUS[0]}
sudo -n apt-get -o DPkg::Lock::Timeout=300 update && sudo -n apt-get -o DPkg::Lock::Timeout=300 install -y python3-venv python3-full xvfb freecad;
sudo -n add-apt-repository -y ppa:freecad-maintainers/freecad-stable; sudo -n apt-get -o DPkg::Lock::Timeout=300 update; sudo -n apt-get -o DPkg::Lock::Timeout=300 install -y freecad xvfb python3-venv; .coldpass=; python3 -m venv /tmp/caddiff-venv; /tmp/caddiff-venv/bin/pip install -e .; /tmp/caddiff-venv/bin/caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-manual --lang en; echo RC:$?
cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["/tmp/caddiff-venv/bin/caddiff","diff","examples/fixtures/moved_old.stp","examples/fixtures/moved_new.stp","-o","/tmp/caddiff-replay","--lang","en"],"cwd":"<guest-path>","expected_returncode":2,"expected_text":"FreeCAD"}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"A failed diff run returns exit code 2.","source":"2 = the run failed (bad input, timeout, crash)","input":"missing STEP files","expected":"exit code 2 and FreeCAD prerequisite error","probe_kind":"cli","argv":["/tmp/caddiff-venv/bin/caddiff","diff","/tmp/no-old.stp","/tmp/no-new.stp","-o","/tmp/caddiff-claim-out"],"expected_text":"FreeCAD","cwd":"<guest-path>"}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"Documented moved fixture diff","source":"README.md, Benchmarks (measured, not estimated)","input":"examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp","expected":"diff manifest with two geometric differences","argv":["/tmp/caddiff-venv/bin/caddiff","diff","examples/fixtures/moved_old.stp","examples/fixtures/moved_new.stp","-o","/tmp/caddiff-example-out","--lang","en"],"cwd":"<guest-path>","expected_returncode":2,"expected_text":"FreeCAD"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"README and CLI entry points describe an on-demand diff command; no scheduler, loop, webhook, or cycle trigger is documented.","checks":[]}
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay; cat > .coldpass/report.json <<'EOF'
{"outcome":"blocked","fault_owner":"prerequisite","operation":"README fixture pair diff to generate the HTML, Markdown, image, and manifest report","operation_scope":"Python 3.12 supported; FreeCAD and Xvfb required for local rendering","steps":["Read README and example docs","Python package install failed: externally-managed-environment; attempted venv setup","Attempted documented Ubuntu FreeCAD install; freecad has no installation candidate","Attempted adding FreeCAD PPA and installing freecad, xvfb, python3-venv; command exceeded 300 second ceiling"],"deviations":["Pinned Git commit fetch failed: upload-pack: not our ref 09807c37471b93c946554bf855ba307ccc00a7ae","System package install was blocked because Ubuntu 24.04 archive has no freecad candidate; PPA setup/install exceeded execution ceiling"],"stuck_step":"FreeCAD prerequisite installation","main_blocker":"FreeCAD cannot be installed from available Ubuntu package sources within the allowed setup run","plain_failure":"The diff command could not run because FreeCAD was unavailable.","suggested_fix":"Provide FreeCAD and Xvfb in the guest, then run the documented fixture diff."}
EOF
python3 - <<'PY'
import json
p='.coldpass/claims.json'; d=json.load(open(p)); d[0]['source']='`2` | the run failed (bad input, timeout, crash)'; open(p,'w').write(json.dumps(d,indent=2))
PY
<env-var>=<guest-path> python3 -I <guest-path> --validate --replayrun JSON · checker evidence · agent report + check · transcript excerpt · error excerpt
Haiku 5.5
Native agent · Checked operation passedChecked operation xvfb-run -a /opt/caddiff-venv/bin/caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-probe-output
Agent-reported scope: caddiff diff of the bundled synthetic STEP fixtures (moved_old.stp vs moved_new.stp), writing report.html/report.md/diff_manifest.json; result: 2 differences (BRACKET_03 shape_changed, SLIDER_02 moved 5.0 mm), exit code 1 as documented
Run details
- run
- angel291592--caddiff-claude-haiku-5-5-1792287425712260508
- date
- Oct 17, 2026
- time to working
- 513.4s
- product hosting / execution
- Local command in the guest
- recorded operation scope
- product operation
- model
- claude-haiku-5-5
- agent / version
- claude-code / 2.1.300 (Claude Code)
- platform
- linux
- reported cost
- $0.005836
- Recorded source
- https://github.com/angel291592/caddiff
- Tool transport
- mcp-assigned-vm
- Test version
- readme-1eaddbbfeb4c86de25627fb3d58de8efde8bc7aceee208efd0213bec5dad8c4e
- revision
- d080e6f0038d8bce8cc65b981712364e237849e5
Double-checks failed run: angel291592/caddiff · Oct 17, 2026.
Fix: fix-g3-caddiff-pin26c.
Saved before the Q1 checker correction (f4b66c0); retained as older evidence. Fresh R5 records are separate.
Answers recorded for this run
Local or hosted: local
What the agent did
caddiff diff of the bundled synthetic STEP fixtures (moved_old.stp vs moved_new.stp), writing report.html/report.md/diff_manifest.json; result: 2 differences (BRACKET_03 shape_changed, SLIDER_02 moved 5.0 mm), exit code 1 as documented
Read README.md Quick start > Local install
sudo add-apt-repository -y ppa:freecad-maintainers/freecad-stable (via apt-get install software-properties-common first)
apt install -y freecad xvfb python3-venv
python3 -m venv /opt/caddiff-venv && /opt/caddiff-venv/bin/pip install -e /workspace
export FREECAD_PYTHON=/usr/bin/python3 PYTHONPATH=/usr/lib/freecad/lib; verified import FreeCAD
xvfb-run -a caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o <outdir> (exit 1, 2 differences)
run JSON · checker evidence · agent report + check · transcript excerpt · error excerpt
Haiku 5.5
Native agent · Checked operation passedChecked operation /usr/bin/xvfb-run -a /opt/caddiff-venv/bin/caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o /tmp/caddiff-checker-out
Agent-reported scope: caddiff diff on the bundled synthetic fixture examples/fixtures/moved_old.stp vs moved_new.stp, producing diff_manifest.json, report.html/md and images. Result: 2 differences (shape_changed=1 on BRACKET_03, moved=1 on SLIDER_02 by 5.0 mm), exit code 1 as documented.
Run details
- run
- angel291592--caddiff-claude-haiku-5-5-1792279802591095520
- date
- Oct 17, 2026
- time to working
- 424.8s
- product hosting / execution
- Local command in the guest
- recorded operation scope
- product operation
- model
- claude-haiku-5-5
- agent / version
- claude-code / 2.1.300 (Claude Code)
- platform
- linux
- reported cost
- $0.008126
- Recorded source
- https://github.com/angel291592/caddiff
- Tool transport
- mcp-assigned-vm
- Test version
- readme-508462a99ba6c45473094c91c7b73d8090c06158165b92f97626e2d7928c0d56
- revision
- 250b753f27ff534775841edf957b93f1b252b2b8
Double-checks failed run: angel291592/caddiff · Oct 17, 2026.
Fix: fix-g3-caddiff-readme2.
Saved before the Q1 checker correction (f4b66c0); retained as older evidence. Fresh R5 records are separate.
Answers recorded for this run
Local or hosted: local
What the agent did
caddiff diff on the bundled synthetic fixture examples/fixtures/moved_old.stp vs moved_new.stp, producing diff_manifest.json, report.html/md and images. Result: 2 differences (shape_changed=1 on BRACKET_03, moved=1 on SLIDER_02 by 5.0 mm), exit code 1 as documented.
apt-get update
apt-get install -y software-properties-common
add-apt-repository -y ppa:freecad-maintainers/freecad-stable
apt-get update && apt-get install -y freecad xvfb python3-venv (FreeCAD 0.21.2)
python3 -m venv /opt/caddiff-venv
cp -r /workspace /tmp/caddiff-src && /opt/caddiff-venv/bin/pip install /tmp/caddiff-src (README 'pip install caddiff' from the pinned source copy)
FREECAD_PYTHON=/usr/bin/python3 PYTHONPATH=/usr/lib/freecad/lib xvfb-run -a caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o <out> (exit 1 = differences found)
run JSON · checker evidence · agent report + check · transcript excerpt · error excerpt
Haiku 5.5
Native agent · Recorded operation failedOperation / attempted scope /opt/caddiff-venv/bin/caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o .coldpass/probe-out
Agent-reported scope: caddiff diff on the bundled synthetic fixture pair examples/fixtures/moved_old.stp vs moved_new.stp; runs BOM diff, FreeCAD geometric diff, offscreen-rendered images and report generation, and writes diff_manifest.json + report.html/md.
Run details
- run
- angel291592--caddiff-claude-haiku-5-5-1792269041117522929
- date
- Oct 17, 2026
- time to working
- not recorded
- product hosting / execution
- Local command in the guest
- recorded operation scope
- Verified on Ubuntu 24.04 with FreeCAD 0.21.2 (PPA) under Xvfb software GL. Expected result: exit 1 with 'Geometry : 2 difference(s) (shape_changed=1, moved=1)' and 1 part not compared (summary.skipped_parts). Does not exercise the GitHub Action, Docker image, git difftool or PPTX output. No browser was needed and none was used; the shared CDP endpoint was not used.
- model
- claude-haiku-5-5
- agent / version
- claude-code / 2.1.300 (Claude Code)
- platform
- linux
- reported cost
- $0.013362
- Recorded source
- https://github.com/angel291592/caddiff
- Tool transport
- mcp-assigned-vm
- Test version
- readme-b2000535a12bd8593b9a6a554d432a39fcea6385aad7ea997802d51b1159fd80
- revision
- 0d862a21cad47ea5be608aac3110e4c0d92c72ed
Double-checks failed run: angel291592/caddiff · Oct 17, 2026.
Fix: fix-g3-caddiff-fcenv.
Saved before the Q1 checker correction (f4b66c0); retained as older evidence. Fresh R5 records are separate.
Recorded blocker / warningStep: /opt/caddiff-venv/bin/caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o .coldpass/probe-out
an expected operation error cannot prove working behavior: {"returncode": 1, "stdout": "Old version parts (before merging): 4\nNew version parts (before merging): 4\nREMOVED (old only): 0 -> []\nADDED (new only): 0 -> []\nCANDIDATE (in both, sent to the geometric diff): 4\n of which instance count d
Answers recorded for this run
Local or hosted: local
Suggested next step (agent-reported): Inspect the recorded blocker and correct the README prerequisites or harness error.
What the agent did
caddiff diff on the bundled synthetic fixture pair examples/fixtures/moved_old.stp vs moved_new.stp; runs BOM diff, FreeCAD geometric diff, offscreen-rendered images and report generation, and writes diff_manifest.json + report.html/md.
Read README.md; Quick start 'Local install' requires FreeCAD python (FREECAD_PYTHON + PYTHONPATH=/usr/lib/freecad/lib).
apt-get update && apt-get install -y python3-pip python3-venv (python3 3.12.3 present)
apt-get install freecad-python3 -> 'Unable to locate package' (not in default Ubuntu 24.04 repos)
add-apt-repository -y universe; apt-get update -> freecad still has no candidate
add-apt-repository -y ppa:freecad-maintainers/freecad-stable; apt-get update -> freecad 2:0.21.2 (matches README Docker image FreeCAD version)
apt-get install --no-install-recommends freecad-python3 freecad-common; PYTHONPATH=/usr/lib/freecad/lib /usr/bin/python3 -c 'import FreeCAD' -> 0.21.2
apt-get install xvfb xauth libgl1-mesa-dri libglu1-mesa freecad (GUI modules + software GL)
cp -r /workspace /opt/caddiff-src; python3 -m venv /opt/caddiff-venv; /opt/caddiff-venv/bin/pip install /opt/caddiff-src (source copy keeps /workspace unchanged)
caddiff --help -> usage ok
caddiff diff examples/fixtures/moved_old.stp examples/fixtures/moved_new.stp -o out -> exit 1, 2 differences (shape_changed=1, moved=1), report written
run JSON · checker evidence · agent report + check · transcript excerpt · error excerpt