Sprite
PRs and push grants
Publish PRs from a Sprite, request temporary direct-push access, use normal Git after approval, and revoke grants independently of YOLO.
ChatGPT can clone, inspect, edit, test, and commit before direct GitHub push is enabled. Choose a write path only when the work is ready to leave the Sprite.
Publish a PR
zodex-agent github publish-pr \
--repo owner/repo \
--title "Ship the change" \
--base main \
--body "Summary and validation"
Add --draft when appropriate.
publish-pr requires a clean committed checkout and a supported GitHub origin matching the requested repository. The writer App must cover that repository. Writer tokens remain inside zodex-prd.
Request direct push from the Agent
zodex-agent github request-push --repo owner/repo
The command uses the writer App’s Device Flow. Setup already receives and validates the writer Client ID, so there should be no manual runtime-config edit first.
Defaults:
- TTL: 30 minutes;
- scope: exact
owner/repo; - refresh-token caching: off unless explicitly requested.
After approval, normal Git works:
git push origin HEAD
Inspect grants
From the guest:
zodex-agent github list-grants
From the operator:
zodex sprite github list-grants --sprite dev
Expired grants are not usable by the credential helper.
Revoke a grant
Guest:
zodex-agent github revoke-push --repo owner/repo
Operator:
zodex sprite github revoke-push --sprite dev --repo owner/repo
Revocation is per repository.
When repeated approval becomes noise
Use repo-scoped YOLO instead of turning one grant into an accidental forever credential:
zodex sprite github yolo \
--sprite dev \
--repo owner/repo \
--ttl 2h
Return to default policy:
zodex sprite github default --sprite dev
This does not remove unrelated explicit grants; revoke those separately.
Bundle size
PR and direct/YOLO bundle submission share the default 128 MiB ceiling. Oversized bundles are rejected before the publisher performs GitHub work.