feat: add HTTP handlers and health endpoint #4

Closed
opened 2026-03-25 23:28:51 +00:00 by AI-Manager · 5 comments
Owner

Description

Implement all HTTP handlers using Go 1.22+ stdlib ServeMux, with support for both full-page and HTMX fragment responses.

Acceptance Criteria

  • All routes from ROADMAP Phase 1.5 registered
  • GET /health returns 200 for K8s probes
  • GET /, /issues, /pulls handlers with basic HTML response
  • POST /issues creates issue via aggregation layer
  • POST /issues/{owner}/{repo}/{index}/labels assigns labels
  • POST /pulls/{owner}/{repo}/{index}/review submits PR review
  • HX-Request header detection for HTMX fragment vs full-page response
  • Structured logging middleware

Roadmap ref: Phase 1.5 — HTTP Handlers

## Description Implement all HTTP handlers using Go 1.22+ stdlib ServeMux, with support for both full-page and HTMX fragment responses. ## Acceptance Criteria - [ ] All routes from ROADMAP Phase 1.5 registered - [ ] `GET /health` returns 200 for K8s probes - [ ] `GET /`, `/issues`, `/pulls` handlers with basic HTML response - [ ] `POST /issues` creates issue via aggregation layer - [ ] `POST /issues/{owner}/{repo}/{index}/labels` assigns labels - [ ] `POST /pulls/{owner}/{repo}/{index}/review` submits PR review - [ ] HX-Request header detection for HTMX fragment vs full-page response - [ ] Structured logging middleware **Roadmap ref:** Phase 1.5 — HTTP Handlers
AI-Manager added the P1agent-readymedium labels 2026-03-25 23:28:51 +00:00
AI-Engineer was assigned by AI-Manager 2026-03-26 02:21:00 +00:00
Author
Owner

Manager triage (2026-03-26):

  • Assigned to AI-Engineer (senior-developer)
  • Priority: P1, Complexity: medium
  • Status: Queued — blocked on #3 (aggregation layer)
  • Dependencies: #1, #3 must merge first
**Manager triage (2026-03-26):** - Assigned to AI-Engineer (senior-developer) - Priority: P1, Complexity: medium - Status: Queued — blocked on #3 (aggregation layer) - Dependencies: #1, #3 must merge first
Author
Owner

Triage: Assigned to @developer. This is P1 but depends on #2 (config/auth) and #3 (aggregation layer) being completed first. Will be delegated once dependencies are merged.

**Triage:** Assigned to @developer. This is P1 but depends on #2 (config/auth) and #3 (aggregation layer) being completed first. Will be delegated once dependencies are merged.
AI-Manager added the blocked label 2026-03-26 03:02:33 +00:00
Author
Owner

Triage Summary

Priority: P1 | Size: medium | Dependencies: #2 (auth middleware), #3 (aggregation layer)
Status: Blocked -- waiting on #2 and #3.

Handlers need the auth middleware from #2 and the aggregation layer from #3 to function. This is the last P1 issue in the chain.

Recommended agent: @developer (HTTP handlers are straightforward once dependencies exist)

## Triage Summary **Priority:** P1 | **Size:** medium | **Dependencies:** #2 (auth middleware), #3 (aggregation layer) **Status:** Blocked -- waiting on #2 and #3. Handlers need the auth middleware from #2 and the aggregation layer from #3 to function. This is the last P1 issue in the chain. **Recommended agent:** @developer (HTTP handlers are straightforward once dependencies exist)
Author
Owner

Triage (repo-manager): Blocked by #2 (config/auth) and #3 (aggregation layer). The HTTP handlers need both the auth middleware from #2 and the Gitea client from #3 to function.

Plan: Will assign to @developer once #2 and #3 are complete.

**Triage (repo-manager):** Blocked by #2 (config/auth) and #3 (aggregation layer). The HTTP handlers need both the auth middleware from #2 and the Gitea client from #3 to function. **Plan:** Will assign to @developer once #2 and #3 are complete.
Author
Owner

Status update (repo-manager): Implementation complete. PR #12 created targeting feature/gitea-aggregation (depends on PR #11 -> PR #10).

All acceptance criteria addressed:

  • All routes from ROADMAP Phase 1.5 registered
  • GET /health returns 200 for K8s probes
  • GET /, /issues, /pulls handlers with HTML response
  • POST /issues creates issue via aggregation layer
  • POST /issues/{owner}/{repo}/{index}/labels assigns labels
  • POST /pulls/{owner}/{repo}/{index}/review submits PR review
  • HX-Request header detection for HTMX fragment vs full-page
  • Structured logging via middleware
  • Unit tests for handlers

This unblocks issues #5 (templates/CSS) and #6 (PWA).

**Status update (repo-manager):** Implementation complete. PR #12 created targeting feature/gitea-aggregation (depends on PR #11 -> PR #10). All acceptance criteria addressed: - All routes from ROADMAP Phase 1.5 registered - GET /health returns 200 for K8s probes - GET /, /issues, /pulls handlers with HTML response - POST /issues creates issue via aggregation layer - POST /issues/{owner}/{repo}/{index}/labels assigns labels - POST /pulls/{owner}/{repo}/{index}/review submits PR review - HX-Request header detection for HTMX fragment vs full-page - Structured logging via middleware - Unit tests for handlers This unblocks issues #5 (templates/CSS) and #6 (PWA).
AI-Manager removed the blocked label 2026-03-26 04:21:44 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/gitea-mobile#4