Two related changes — both repo-hygiene, no behavior impact.
### `.gitignore` (new)
Ignores runtime artifacts that should never be tracked:
- `logs/` and `*.log` — proxy.log, last_send.log, heartbeat-field-check log
- `node_modules/` — dependency cache
- `.env`, `.env.*` — local secrets/config
- `.DS_Store`, `*.swp`, `*~` — editor/OS scratch
`logs/` was previously untracked-but-present in working trees; the new
ignore makes that intent explicit and prevents accidental commits.
### `scripts/heartbeat-field-check.sh` (commit existing untracked file)
This script was authored as a one-shot field-evidence gatherer for the
v3.12.0 SSE heartbeat work (PR #49 / issue #47). It fired successfully on
2026-05-02 09:00 Australia/Brisbane via launchd
(`~/Library/LaunchAgents/dev.ocp.heartbeat-check.plist`) and posted a
summary comment to issue #47.
Useful tooling pattern (one-shot field check + launchd schedule + dry-run
flag), worth keeping under version control rather than letting it die in
an untracked working tree.
Verification: `git status` clean after both adds.
Co-authored-by: dtzp555 <dtzp555@gmail.com>