fix(groundskeeper): send groupPath on iterationCreate, harden fake for both mutations
The first real apply against the-foundry hit graphql: HTTP 200 carrying errors: Exactly one of group_path or project_path arguments is required on iterationCreate: CreateIterationInput accepts either
groupPath or projectPath, both individually nullable, and validates
"exactly one of" only when the mutation resolves, so the missing field
passed offline and failed live. Auditing the engine's only other
mutation, updateEpic, against live schema introspection found it
already correct (groupPath and iid, both ID!, are already sent); its
hardening below is precautionary, not a second live bug.
ITERATION_CREATE_MUTATION and its call site now send groupPath. tests/groundskeeper/harness.py gains --graphql-strip-field to remove a named variable before the fake sees it, plus validation on both mutations reproducing the real error text -- the "exactly one of" message for iterationCreate, the ID! coercion message for updateEpic -- so a regression is caught even if a future change stops sending a field the engine currently sends correctly. Reverting the engine fix and rerunning turns 7 assertions red, including the exact live error string; restored, the suite is 256/0 and all four manifests (both fixtures, the-foundry, evidence-factory) still validate.