Skip to content

net-node: respond immediately to status POST diagnostic commands - #777

Closed
Patrick W. Healy (phealy) wants to merge 2 commits into
phealy/lightweight-status-node-ws-detailsfrom
phealy/lightweight-status-node-http-details
Closed

Patrick W. Healy (phealy) wants to merge 2 commits into
phealy/lightweight-status-node-ws-detailsfrom
phealy/lightweight-status-node-http-details

Conversation

@phealy

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

Copy link
Copy Markdown
Contributor

Scope

Stacked on #776. HTTP-only agents consume pending detail commands from normal status ACKs and immediately POST the correlated reply instead of waiting for another publication interval. Keeps one in-flight write, auth/direct-aggregated fallback, request deadlines, and separate detail/publication ACK ownership.

636 changed LOC, including the transport-limit correction: WebSocket uses its existing 2 MiB frame bound; HTTP uses its existing 1 MiB compressed-body bound, not an invented decoded cap. Oversized replies become correlated diagnostic errors. Both-disabled outbound publishers remain disabled and retain the local pull endpoint.

Validation

Node/controller/shared-status race suites and scoped lint including actionlint passed after stacking. Immediate wakeup, retry, ACK/capability, and transport-specific size behavior are covered. Default remains full until final activation.

Lightweight status draft stack

Base: #745. Each layer targets the preceding branch and remains draft.

#746 -> #747 -> #748 -> #750 -> #751 -> #752 -> #753 -> #754 -> #755 -> #756 -> #757 -> #758 -> #759 -> #760 -> #761 -> #762 -> #763 -> #764 -> #765 -> #766 -> #767 -> #768 -> #769 -> #770 -> #771 -> #772 -> #773 -> #774 -> #775 -> #776 -> #777 -> #778 -> #779 -> #780 -> #781 -> #782 -> #783 -> #784 -> #785 -> #786 -> #787 -> #788 -> #789 -> #790 -> #791 -> #792 -> #793 -> #794 -> #795 -> #796 -> #797 -> #798 -> #799

Wake the existing one-in-flight publisher for commands and immutable retries without waiting for routine or API polling intervals. Preserve shared deadlines across channels, gzip/auth/fallback behavior, and publication revision state. Reject compressed oversized details with correlated errors and test JSON/protobuf commands, recovery and retry behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d2243398-6c36-4c3d-969e-7ed7bfb5b459
Enforce the existing 2 MiB limit only on WebSocket frames. HTTP keeps its existing 1 MiB compressed-body bound without an artificial decoded-message cap. Retain correlated bounded failures and cover large compressible HTTP responses plus actual oversized WebSocket delivery.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d2243398-6c36-4c3d-969e-7ed7bfb5b459
This was referenced Sep 16, 2026
This was referenced Sep 16, 2026
@phealy

Copy link
Copy Markdown
Contributor Author

This PR was mistaken churn from splitting the lightweight-status work into unnecessarily small PRs. That was my mistake, not a requirement from the user.

Its changes are preserved in #774 within the user-approved, consolidated 12-PR draft stack. Closing this superseded PR; the implementation is not being discarded, and nothing has been merged into main.

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