{e(case["ide"])} · {e(case["language"])} {e(case["status"].upper())}
Action: {e(case["action"])}
{e(case["evidence"])}
{pictures}#!/usr/bin/python3
"""Create a portable HTML report from reviewed screenshots and recorded results."""
import base64
from datetime import datetime, timezone
import html
import json
from pathlib import Path
root = Path(__file__).resolve().parent.parent
report = root / 'test_report/ide-config'
data = json.loads((report / 'results.json').read_text())
e = html.escape
def photo(name, caption):
content = base64.b64encode((report / name).read_bytes()).decode()
url = 'data:image/png;base64,' + content
return f'
Action: {e(case["action"])}
{e(case["evidence"])}
{pictures}{e(path.read_text())}{e(p.read_text())}Page 3 of the updated TechNotes explains the tested action for every IDE and the first-launch dialogs. The PDF installed in the final image was checked against this copy.
' + photo(notes_page.name, 'TechNotes · IDE instructions, page 3') + '{e(data['verdict'])}
{build}
Screenshots are embedded in this file. Click any image to inspect it, or download its PNG. No external service is needed to view this report.
Each recorded workflow was launched through the IDE interface, built or interpreted the supplied source, accepted input typed on the VM keyboard and produced the expected result. The screenshots were opened and visually inspected. Configuration was installed by Ansible; compiler settings were not repaired manually during the final GUI pass.
C rejects accidental C++ compilation and requires C23. C++ requires C++23 and uses std::println. Java asserts the exact runtime version and the required VM flags. Python asserts PyPy and its version. Supplementary checks inspect static C/C++ executables and Java class versions.
| IDE | Language | Result | Action tested |
|---|
The installed IDE files and their serialized settings were also inspected. These primary references explain the supported configuration mechanisms.
Report generated {datetime.now(timezone.utc).strftime('%Y-%m-%d %H:%M UTC')}.