ovo456's picture
Add GitHub mirror setup steps to deployment runbook (ticket 06)
473f969
|
Raw History Blame Contribute Delete
2.63 kB
# Deployment runbook
How the GAIA Solver is deployed and kept in sync across the HF Space
(primary) and the GitHub mirror.
## Topology
- **Primary:** Hugging Face Space β€” `origin` β†’
`https://huggingface.co/spaces/ovo456/Final_Assignment_Template`
- **Mirror:** GitHub β€” same `main` branch (see "Add the GitHub mirror"
below). Exists for visibility and history preservation.
The Space reads the committed `answer_bundle.json` and submits it at runtime
(ADR-0001 hybrid execution); the GitHub mirror carries the same history.
## Environment variables & Space secrets
The full env-var table lives in [`README.md`](../README.md). The only
**Space secrets** needed are:
| Secret | Required? | Purpose |
|---|---|---|
| `DEEPSEEK_API_KEY` | Required for live solves | Lets the Space solve unbundled Tasks (text/web-only). |
| `OPENAI_API_KEY` or `OPENROUTER_API_KEY` | Optional | Hosted audio-transcription fallback. |
Set them in the Space: **Settings β†’ Variables and secrets β†’ New variable**.
## GitHub mirror (one-time setup)
The GitHub mirror does not exist yet β€” create it before you can push:
1. Create an **empty** repository on GitHub (e.g.
`https://github.com/ovo456/Final_Assignment_Template`). Do **not**
initialize it with a README/license β€” that would create a conflicting root
commit and force a merge.
2. Add it as a mirror remote:
```bash
git remote add github https://github.com/<owner>/<repo>.git
```
3. Push the same `main` to both remotes:
```bash
git push origin main # HF Space (primary)
git push github main # GitHub mirror
```
> Pushing to GitHub requires auth: an SSH key registered with your GitHub
> account, or a PAT saved in your credential helper (`osxkeychain` on macOS).
> If `git push github main` prompts for credentials, run `gh auth login`, or
> add your public key at https://github.com/settings/keys.
## Dev loop (regenerate the Answer bundle)
```bash
cp .env.example .env # fill in DEEPSEEK_API_KEY, GAIA_API_URL, ...
pip install -r requirements.txt
python text.py # solves + writes answer_bundle.json and gaia_results.csv
git add answer_bundle.json
git commit -m "Regenerate Answer bundle"
git push origin main # the Space picks up the new bundle
```
## Notes
- `files/` (pre-downloaded Attachments) and `.env` are gitignored β€” never
force-add them.
- Agent-internal tooling (`.agents/`, `.scratch/`, `skills-lock.json`,
`SESSION_HANDOFF.md`) is gitignored and kept out of the shared repo.
- The results-view prototype lives on branch `prototype/results-view` (out of
`main`).