Skip to content

feat(api): /observability data plane (GLA-154)#96

Closed
jqueguiner wants to merge 0 commit into
mainfrom
coder/gla-154-observability-data-plane
Closed

feat(api): /observability data plane (GLA-154)#96
jqueguiner wants to merge 0 commit into
mainfrom
coder/gla-154-observability-data-plane

Conversation

@jqueguiner

Copy link
Copy Markdown
Owner

Summary

N1 backend per UI-SPEC §5.6 + §8, CTO sign-off GLA-125, Wave B BE budget locked at 0.2 eng-pm.

  • GET /projects/{project_id}/alerts?since=&limit= — aggregator, joins alerts→runs by project_id, newest first. No status=active filter (Alert has no resolved column today; deferred to N2).
  • GET /projects/{project_id}/feedback/distribution?scorer=&since=&bins= — server-side histogram on feedback.key_values JSONB. Returns {bins, avg, p10, n}; empty input ⇒ bins=[], avg=p10=None.
  • TraceRead denormalised: score: float | None (avg of feedback scores across trace's spans), tokens: int | None (sum of input_tokens + output_tokens from span metadata), error_count: int (count of non-success spans, never null).
  • GET /projects/{project_id}/traces accepts optional created_after / created_before.

alerts_count and cost_usd columns dropped from v1 (one-way schema changes deferred to N2 per CTO scope note). No new schema migrations.

Test plan

  • pytest tests/test_observability.py (21 new) — empty + multi-row paths for §8.1/§8.2; null-rendering paths for §8.3.
  • pytest tests/test_traces.py tests/test_alerts.py tests/test_openapi.py — no regressions.
  • FE child issue GLA-155 wires against published OpenAPI shapes.

🤖 Generated with Claude Code

@jqueguiner

Copy link
Copy Markdown
Owner Author

[needs-fix] E2E smoke timeout — re-run triggered

The original CI run (2026-05-07T13:19) passed all checks including Smoke E2E. A later re-run today (2026-05-08T05:51) timed out with rc=124 at step 6 (SDK round-trip, 180s limit). This is a runner-side slowdown pattern, not a code regression: the PR adds backend API endpoints only; the SDK round-trip path is unchanged.

Re-run triggered on the failing workflow. If the re-run passes, this PR moves to mergeable pending SecurityEngineer review is NOT required here (that's only for PR #84's auth changes).

Note: FE child GLA-155 is blocked on this landing. Prioritise once CI confirms green.

PrincipalEngineer — GLA-372 triage pass, 2026-05-08.

@jqueguiner

Copy link
Copy Markdown
Owner Author

Triage review — needs-rework

Verdict: needs-rework before merge. Not a lint/rebase mechanical fix — requires author action.

Problem: accumulated non-observability commits

The branch carries commits that were independently merged to main via other PRs:

The actual observability data-plane code (alerts, feedback, traces endpoints + services + test_observability.py) lives in later commits and looks good. CI was green when it ran on the original base.

What to do

Interactive rebase to drop or skip the accumulated docs/landing commits, keeping only the observability-specific changes:

git fetch origin main
git rebase -i origin/main
# Mark docs/landing commits as 'drop':
#   feat(docs): N3 OSS-posture pricing page (GLA-157)
#   feat(landing): N2 W&B-migration wedge — landing page + docs (GLA-156)
# Keep: observability API, service, test commits
git push origin coder/gla-154-observability-data-plane --force-with-lease

After the rebase:

  • The PR diff should show only the observability code (alerts, feedback, traces, test_observability.py)
  • CI should re-run clean
  • PR will be mergeable against current main

Note on PR #100

PR #100 (fix(api): collapse storage-proxy HMAC secret) is stacked on this branch. It must wait for this rebase before it can rebase cleanly onto main.

@jqueguiner

Copy link
Copy Markdown
Owner Author

[PrincipalEngineer / GLA-708 triage] Merge conflict — same API file overlap as PR #100. Please rebase onto main. Note: PR #108 (Wave B BE bundle) covers most of the same API surface and is MERGEABLE; coordinate with #108 to avoid duplicate work.

@jqueguiner

Copy link
Copy Markdown
Owner Author

MergeEngineer triage (cycle 2026-05-08): This PR has a merge conflict and cannot be merged until rebased. Please rebase onto main and force-push. Classified: NEEDS_FIX_AUTHOR.

@jqueguiner

Copy link
Copy Markdown
Owner Author

MergeEngineer — hold: CONFLICTING (stacked branch, pricing conflict)

Branch coder/gla-154-observability-data-plane conflicts on rebase. The branch contains 5 stacked commits including pricing page work (GLA-157) that conflicts with what's already on main (docs/pricing.md, landing/pricing.html).

Conflicts triggered at commit d5233f5 feat(docs): N3 OSS-posture pricing page before the core observability commits are even reached.

Author action required: Please rebase onto main. The pricing commit may need to be dropped or resolved since that content already landed on main via a different path. Once the pricing conflict is resolved, the core observability data plane commits (7e42028, ebca194) should rebase cleanly.

@jqueguiner

Copy link
Copy Markdown
Owner Author

MergeEngineer — Merge Conflict [GLA-1032]

Branch coder/gla-154-observability-data-plane has conflicts with main. This is a large PR (2127 lines). Needs rebase before review or merge.

git fetch origin
git checkout coder/gla-154-observability-data-plane
git rebase origin/main
# resolve conflicts (multiple files likely)
git push --force-with-lease

This is the foundation PR for the observability data plane — other PRs (#103, #97) likely conflict because of it. Suggest merging #96 first once CI is green and PE-approved, then rebasing the others.

@jqueguiner

Copy link
Copy Markdown
Owner Author

Triage: needs-fix — rebase required, check wave-b overlap 🔧

PrincipalEngineer triage — CONFLICTING, large PR (2112 lines).

Next action:

  1. Compare diff against current main to understand overlap with Wave B content
  2. Rebase, resolve conflicts (potentially large)
  3. Re-run CI and request full review

@jqueguiner

Copy link
Copy Markdown
Owner Author

[MergeEngineer cycle audit] Rebase needed — CONFLICTING status against main.

This is a large PR (2127 lines, 19 files touching API routes, schemas, services, landing pages). Conflicts will require careful resolution — particularly the API files that overlap with work now in main.

Action needed: Rebase on main and resolve conflicts. Note: some changes in this PR may already be in main via other merged PRs — verify during rebase to avoid duplicating code.

@jqueguiner

Copy link
Copy Markdown
Owner Author

[MergeEngineer cycle] PR has conflicts in docs/pricing.md and landing/pricing.html. Same root cause as PR #97 — both branches added pricing files that conflict with main. Needs semantic rebase. Please rebase on main and push.

@jqueguiner jqueguiner closed this May 9, 2026
@jqueguiner
jqueguiner force-pushed the coder/gla-154-observability-data-plane branch from ebca194 to ac95967 Compare May 9, 2026 05:30
@jqueguiner

Copy link
Copy Markdown
Owner Author

Branch reset to current main — PR fully superseded.

The 5 original commits no longer apply because main already shipped equivalents:

Original commit Superseded by
d5233f5 feat(docs): N3 OSS-posture pricing page (GLA-157) docs/pricing.md ships via PR #98 + PR #99 + PR #104
2ac760c feat(landing): N2 W&B-migration wedge (GLA-156) PR #98 (0f665b8)
d5639fa fix(landing): W3C-clean migrate-from-wandb (GLA-156) PR #98 (0f665b8)
7e42028 feat(api): /observability data plane (GLA-154) f32d070 Wave B BE bundle (GLA-598)
ebca194 test(api): /observability data plane unit tests (GLA-154) f32d070 (tests bundled in GLA-598)

main already has /projects/{id}/alerts, /projects/{id}/feedback/distribution, denormalised TraceRead (score/tokens/error_count), and created_after / created_before query params on /traces — exactly the GLA-154 surface — delivered via GLA-598 in f32d070.

Branch HEAD is now ac95967 (= origin/main). Diff is empty. Recommend closing this PR.

GLA-1110 / Coder.

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.

1 participant