Skip to content

net (07/12): Publish node summaries and answer diagnostics immediately - #774

Draft
Patrick W. Healy (phealy) wants to merge 1 commit into
phealy/lightweight-status-node-inspectionfrom
phealy/lightweight-status-node-publication
Draft

Patrick W. Healy (phealy) wants to merge 1 commit into
phealy/lightweight-status-node-inspectionfrom
phealy/lightweight-status-node-publication

Conversation

@phealy

@phealy Patrick W. Healy (phealy) commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Consolidated lightweight-status stack: 7/12

Based on #757. This existing draft PR is reused for the user-approved consolidation, replacing unnecessarily fragmented PRs rather than creating another set.

Scope

Capability-aware node summary publications, deadline-bound one-shot diagnostics, and immediate WebSocket and HTTP polling replies. Startup default remains FULL.

Original work represented: #774, #775, #776, #777. Cross-cutting originals may also be represented by adjacent functional layers.

Size

+1,628 / -106 = 1,734 non-generated changed lines, measured against the immediate parent. Generated changes: 0 lines, excluded from the approved 2,000-line ceiling. About 1,000 is a guideline, not a requirement to split coherent functionality.

Validation

  • Scoped make fmt (tmp/layer07-fmt.log)
  • go test ./cmd/unbounded-net-node (tmp/layer07-tests.log)

The final stack preserves the validated implementation and all three CLI corrections exactly; its only additional tracked difference is the requested AGENTS.md approval/size policy. No PR is merged into main.

Approved 12-PR draft stack

Base: #745. Each PR targets its preceding layer.

#746 -> #812 -> #760 -> #762 -> #755 -> #757 -> #774 -> #764 -> #766 -> #767 -> #788 -> #748

This was referenced Sep 16, 2026
@phealy
Patrick W. Healy (phealy) force-pushed the phealy/lightweight-status-node-publication branch from 720ff65 to 6222242 Compare September 17, 2026 14:46
@phealy Patrick W. Healy (phealy) changed the title net-node: publish summary-only status with capability negotiation net (07/12): Publish node summaries and answer diagnostics immediately Sep 17, 2026
@phealy
Patrick W. Healy (phealy) changed the base branch from phealy/lightweight-status-diagnostic-fidelity to phealy/lightweight-status-node-inspection September 17, 2026 14:48
@phealy
Patrick W. Healy (phealy) added this pull request to stack #813 September 17, 2026 14:59
@phealy
Patrick W. Healy (phealy) force-pushed the phealy/lightweight-status-node-publication branch from 6222242 to 845ae2d Compare September 17, 2026 21:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Diagnostic collection can exceed request deadlines, and HTTP summaries omit transport-error filtering applied by WebSocket summaries.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Adds capability-aware summary publishing and immediate, deadline-bound diagnostic replies over WebSocket and HTTP.

Changes:

  • Adds shared detail request lifecycle, retries, expiry, and transport size handling.
  • Publishes summary-mode status and advertises diagnostic capability.
  • Adds ACK decoding and extensive WebSocket/HTTP coverage.
File summaries
File Description
status_server.go Integrates summary and diagnostic transport behavior.
status_publication.go Adds publication selection and comparison helpers.
status_details.go Implements diagnostic request state and delivery.
status_details_http.go Adds HTTP event scheduling and payload limits.
status_ack.go Decodes and classifies acknowledgments.
main.go Updates status mode configuration text.
status_websocket_auth_test.go Extends recovery tests for publication modes.
status_server_test.go Updates recovery probe tests.
status_publication_test.go Tests summary publication and ACK behavior.
status_details_test.go Tests expiry, retries, and correlated errors.
status_details_ws_test.go Tests immediate WebSocket replies and reconnects.
status_details_http_test.go Tests immediate HTTP replies and size limits.
Review details
  • Files reviewed: 12/12 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +167 to +169
if payload == nil {
payload = collectDetailPayload(nodeName, selected.request.RequestID, collect)
}
Comment on lines +18 to +22
summary := health.getSummarySnapshot()

return &statusproto.NodeStatusMessage{
Type: statusv1alpha1.NodeStatusSummaryType, NodeName: summary.NodeInfo.Name,
BaseRevision: revision, Summary: nodeSummaryToProto(summary),
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d2243398-6c36-4c3d-969e-7ed7bfb5b459
@phealy
Patrick W. Healy (phealy) force-pushed the phealy/lightweight-status-node-publication branch from 845ae2d to ce51d4f Compare September 18, 2026 14:31
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.

2 participants