How To: Use the filepath Worker Alpha
Run the filepath-backed worker path through the site docs.
What it proves
- Gateproof still runs the proof locally.
- filepath runs one bounded worker task against the workspace repo clone.
- filepath returns a unified patch.
- Gateproof applies that patch locally and reruns the proof.
Current scope
- This is a real hello-world witness.
- It is not the default public worker path.
- The built-in worker remains the stable demo path.
Required configuration
GATEPROOF_FILEPATH_ENDPOINT- Base filepath URL such as
https://myfilepath.com - A full
/api/workspaces/:id/runURL also works
- Base filepath URL such as
GATEPROOF_FILEPATH_API_KEY- filepath API key for the target account
GATEPROOF_FILEPATH_WORKSPACE_ID- workspace pointing at a Gateproof checkout that includes
examples/hello-world
- workspace pointing at a Gateproof checkout that includes
GATEPROOF_FILEPATH_HARNESS_ID- filepath harness for the worker task
GATEPROOF_FILEPATH_MODEL- use
openai/gpt-4ofor the current witness
- use
filepath account requirements
- Save the model provider key inside filepath itself.
- In the current setup, that means saving an OpenRouter key in filepath Settings.
- If runs fail because the stored provider key is missing or unreadable, re-save it in filepath before retrying.
Run the witness
bun run example:hello-world:filepath-workerWhat success looks like
- filepath returns
status: "success" - filepath returns a non-empty
patch - Gateproof applies the patch locally with
git apply - the hello-world gate reruns to green
- the temp repo ends at
hello from filepath
Current runtime truth
- filepath worker runs execute against a fresh repo clone for the workspace
- the run proves the returned patch contract and local materialization path
- it does not require the filepath workspace itself to stay mutated after the run
Common failure modes
- no
patchreturned - patch does not apply locally
- patch escapes scope
- workspace does not point at a compatible Gateproof checkout
- filepath provider key is missing or unreadable