Skip to content

SAP: verify the Windows containment spike's mechanism actually works with real SAP GUI #479

Description

@HappyDevs1

What's happening

flowproof has a strong safety feature (Linux only, today) that proves an AI agent touched nothing it shouldn't during a run. A feasibility spike (spike/windows-containment/LOG.md) already proved the underlying mechanism works on Windows against a simple test app (Notepad) — but it was never tried against real SAP GUI, because that specific test needs a licensed Windows machine with SAP GUI installed, which wasn't available to the spike.

If we don't fix it

We don't know whether the "provably safe" story is even possible for SAP on Windows, and we risk spending 6-10 engineer-weeks building toward something that might not work with SAP at all.

If we fix it

A short, cheap test (2-3 days, per the spike's own recommendation) settles the one open question for certain, before anyone commits to the bigger build.

How to close this

Per spike/windows-containment/LOG.md's own instructions: re-add the spike as a workspace member, point src/win/gui.rs's launch target at SAP GUI instead of Notepad, and run the existing harness as Administrator on a licensed SAP host. Read the gui.q1.KILL-CRITERION.drives-own-gui-app result — MET means the fused claim is reachable and the rest is engineering; NOT-MET means it's dead and what remains is a smaller, non-differentiated feature (contained headless agents on Windows).

Related

Distinct from #303, which is the broader "is Windows containment on the roadmap at all" product decision — this is the narrow, actionable prerequisite that answers that question with data instead of a guess.

Before closing

Please attach the spike's output/log as evidence — the same standard of proof the original spike log used. This is a one-off hardware verification, not a unit test, so a log is the right artifact here rather than a test case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-humanA loop escalated this: it needs a decision or a protected-path changesap

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions