Skip to content

feat(activity-watcher): phase-1 backend MVP#322

Open
simple-container-forge[bot] wants to merge 1 commit into
mainfrom
forge/workflow/99171cbe-7c27-4976-a999-931b834b5d62/run/9050ec9f-4199-4516-af88-a958c515e7d0
Open

feat(activity-watcher): phase-1 backend MVP#322
simple-container-forge[bot] wants to merge 1 commit into
mainfrom
forge/workflow/99171cbe-7c27-4976-a999-931b834b5d62/run/9050ec9f-4199-4516-af88-a958c515e7d0

Conversation

@simple-container-forge

Copy link
Copy Markdown
Contributor

Summary

  • Adds activity-watcher service: POST /events ingest, GET /users/{id}/events retrieval, GET /health liveness probe
  • SQLite-backed persistence (WAL mode, pure-Go modernc.org/sqlite — no CGO), layered Handler→Service→Repository with extracted interface for Phase-2 Postgres swap
  • Multi-stage Dockerfile (CGO_ENABLED=0), OpenAPI 3.0 spec, smoke test script, integration test suite covering all 7 ACs

Test plan

  • go test -v ./cmd/activity-watcher/... — 5 tests, 9 subtests, all PASS
  • go build ./... — full monorepo compiles clean
  • Smoke test: docker run -v aw-data:/data -p 8080:8080 <image> && BASE_URL=http://localhost:8080 ./cmd/activity-watcher/smoke.sh
  • Durability: stop container, restart, verify events still returned

Forge workflow run

https://app.simple-forge.com/agent-workflow-runs/9050ec9f-4199-4516-af88-a958c515e7d0

🤖 Generated with Claude Code

Implements the activity-watcher service: POST /events ingest with full
validation, GET /users/{id}/events retrieval (newest first), GET /health
liveness probe, SQLite-backed persistence (WAL mode, pure-Go modernc
driver), layered Handler→Service→Repository architecture with extracted
interface for Phase-2 Postgres swap.

Includes multi-stage Dockerfile (CGO_ENABLED=0), OpenAPI 3.0 spec,
smoke test script, design doc, and integration test suite covering
all 7 acceptance criteria.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Semgrep Scan Results

Repository: api | Commit: 153d9d2

Check Status Details
✅ Semgrep Pass 0 total findings (no error/warning)

Scanned at 2026-06-12 19:10 UTC

@github-actions

Copy link
Copy Markdown

Security Scan Results

Repository: api | Commit: 153d9d2

Check Status Details
✅ Secret Scan Pass No secrets detected
✅ Dependencies (Trivy) Pass 0 total (no critical/high)
✅ Dependencies (Grype) Pass 2 total (no critical/high)
📦 SBOM Generated 533 components (CycloneDX)

Scanned at 2026-06-12 19:10 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants