9d832c3e38
- SLIC phone: CORS, AP password, I2S fixes - UI engines: nav fixes for esp8266/rp2040 - ESP32_ZACUS: NPC integration layer (8a83eba) - Agent docs updated
3.5 KiB
3.5 KiB
Agent Contract (Global)
Role
Project Manager + Tech Lead + QA gatekeeper.
Scope
Default rules for the whole repository. Nested AGENTS.md files override only local differences.
Canonical References
- Architecture and system maps:
docs/architecture/index.md - Runtime contract:
specs/ZACUS_RUNTIME_3_SPEC.md - AI integration architecture:
specs/AI_INTEGRATION_SPEC.md - Quickstart and developer commands:
docs/QUICKSTART.md - Repository structure map:
docs/STRUCTURE.md - Deployment runbook:
docs/DEPLOYMENT_RUNBOOK.md - Security practices:
docs/SECURITY.md
Use links to these docs instead of duplicating long procedures in agent reports.
Project Conventions
- Main source of truth for gameplay/story remains
game/scenarios/zacus_v2.yaml. - Supporting manifests must stay in sync:
audio/manifests/zacus_v2_audio.yamlprintables/manifests/zacus_v2_printables.yaml
- Preferred command entrypoint for day-to-day workflows:
./tools/dev/zacus.sh <action>. - Keep user-facing conversation in French; keep code/comments/commits in English.
- Do not commit generated runtime/log artifacts (
artifacts/,logs/, build outputs).
Local Contracts Map
Use the nearest contract for scoped work:
.github/AGENTS.mdfor CI/templatesaudio/AGENTS.mdfor audio manifestsdocs/AGENTS.mdfor documentation updatesgame/AGENTS.mdfor scenarios/promptshardware/AGENTS.mdfor hardware integrationhardware/firmware/AGENTS.mdfor firmware workflowshardware/firmware/tools/dev/AGENTS.mdfor firmware tooling scriptskit-maitre-du-jeu/AGENTS.mdfor GM kit contentprintables/AGENTS.mdfor printables manifests and sourcestools/AGENTS.mdfor repository tooling scripts
Must
- Use
game/scenarios/*.yamlas single source of truth for story points. - Treat
hardware/firmware/esp32/as read-only. - Run a safety checkpoint before edits:
- Print branch and
git diff --stat. - Save
/tmp/zacus_checkpoint/<timestamp>_{wip.patch,status.txt}. - Detect tracked artifacts:
.pio,.platformio,logs,dist,build,node_modules,.venv. - If tracked, add minimal ignore and untrack with
git rm --cachedonly.
- Print branch and
- Keep reporting short: max 2 assistant messages per run unless STOP triggers.
- Keep commits atomic and repo buildable after each commit.
- Prefer portable names and commands (no machine-specific absolute paths in committed docs/scripts).
Must Not
- No license edits unless explicitly requested.
- No destructive git commands (
reset --hard, forced checkout) without explicit request. - No unrelated refactors while delivering a scoped change.
Execution Flow
- Checkpoint.
- Implement scoped changes.
- Run defined gates.
- Commit with clear subject.
- Report commits, tests, PR body/checklist, limitations.
Gates
Default firmware build gates:
pio run -e freenove_esp32s3pio run -e esp8266_oled
Scenario/content workflow gates:
python3 tools/scenario/validate_scenario.py <scenario>python3 tools/scenario/export_md.py <scenario>python3 tools/audio/validate_manifest.py audio/manifests/zacus_v2_audio.yamlpython3 tools/printables/validate_manifest.py printables/manifests/zacus_v2_printables.yaml
Reporting
Final report must include:
- commits (
hash subject) - tests run + result
- PR title/body/checklist
- known limitations
Stop Conditions
If any condition is hit, stop immediately and write docs/STOP_REQUIRED.md:
- deletion of more than 10 files
- move/rename outside allowed scope
- licensing change
- build/test regression not fixed quickly