commitguard-env / .agent /git_workflow.md
Nitishkumar-ai's picture
Deployment Build (Final): Professional Structure + Blog
95cbc5b
## Git workflow (parallel, safe, deadline-optimized)
This repo will have three engineers working in parallel with agents. The workflow exists to prevent integration chaos.
## Branch naming (required)
Format: `<name>/<short-scope>`
Examples:
- `niti/env-scaffolding`
- `deepak/data-pipeline`
- `divyank/training-grpo`
Rules:
- One scope per branch.
- If a branch grows beyond 23 related commits, cut scope or split.
## Commit message convention (required)
Use **Conventional Commits**:
- `feat(env): add OpenEnv reset/step`
- `fix(parser): handle malformed xml without crash`
- `test(reward): add 5 handcrafted cases`
- `docs(readme): add demo + wandb links`
Rules:
- Short subject, present tense.
- Prefer why over what in body.
## Merge policy (hard rules)
- Merge to `main` **only after** the relevant tests pass locally:
- Env changes: `test_no_leak.py`, `test_env_smoke.py`, `test_action_parser.py`
- Reward changes: `test_reward.py` + `test_no_leak.py`
- Parser changes: `test_action_parser.py` + `test_env_smoke.py`
- No merge now, fix later. Under deadline, broken `main` is a team-wide blocker.
## Force-push rules
- Before midnight Saturday: allowed on your feature branches if necessary.
- **After midnight Saturday: no force-push to `main` (ever).**
- Prefer no force-push at all; use revert commits if needed.
## PR expectations (fast reviews)
Each PR must include:
- 13 sentence summary
- test plan (what you ran)
- risk note (what could break)
If its large, its wrong: split it.
## Pre-submission checklist (Sunday)
By 3 PM:
- [ ] HF Space live; `/health` 200; `/docs` loads
- [ ] Blocking tests pass (`.agent/test_contracts.md`)
- [ ] Training artifact exists (plots + wandb link)
- [ ] Demo artifact exists (video URL or text trace fallback)
- [ ] README links all resolve (Space, notebook, video, wandb, repo)
By 4:30 PM:
- [ ] Fresh clone + run instructions work
- [ ] Final smoke test: 100 episodes dont crash
- [ ] Submission package is complete
## CLI-first ops (HF + GCP)
Keep ops repeatable. Prefer CLI over UI clicks.
Hugging Face:
- `huggingface-cli login`
- `huggingface-cli whoami`
- Use git-based Space workflow (clone, commit, push) for deploys.
GCP:
- `gcloud auth login`
- `gcloud config set project <PROJECT_ID>`
- Use `gcloud compute ssh` + `gcloud compute instances list` for VM workflow.
Cross-reference:
- Merge gates: `test_contracts.md`
- Scope freeze + fallbacks: `project_context.md`