Skip to content

dash: refresh WebServer coin-node seam comment (PR-C, SAFE-COSMETIC)#68

Merged
frstrtr merged 1 commit into
dash-spv-embeddedfrom
dash/pr-c-seam-comment
Jun 8, 2026
Merged

dash: refresh WebServer coin-node seam comment (PR-C, SAFE-COSMETIC)#68
frstrtr merged 1 commit into
dash-spv-embeddedfrom
dash/pr-c-seam-comment

Conversation

@frstrtr
Copy link
Copy Markdown
Owner

@frstrtr frstrtr commented Jun 5, 2026

Comment-only cleanup on src/impl/dash/main_dash.cpp (the WebServer coin-node seam block).

Reconcile (ltc-doge-production-steward, 2026-06-05) closed PR-C as stale-comment cleanup: no ICoinNode inherit, no stub, no all-coin RED window. The dash nullptr config is unchanged — no set_coin_node, stratum_port(0) — so both Cluster-A crossings stay skipped.

The old comment justified skipping set_coin_rpc() by the absence of an ICoinRPC seam; the coin-node seam (core::coin::ICoinNode) is now being extracted via the web_server rewire, so that rationale is stale. The comment now states the intent directly: dash deliberately leaves the WebServer coin-node seam unset (nullptr by design) and owns its own GBT/submitblock pipeline via the stratum handler.

Scope: 1 file, comment-only, no behavior change. Signed commit.

@frstrtr
Copy link
Copy Markdown
Owner Author

frstrtr commented Jun 5, 2026

Bucket-review verdict (ltc-doge-production-steward, LTC + DOGE production perspective): APPROVE — SAFE-COSMETIC confirmed.

Read the full diff first-hand: +4/-4, all eight lines inside the // comment block at src/impl/dash/main_dash.cpp (the WebServer coin-node seam note), zero executable token changed.

  • Per-coin isolation (dispositive for my bucket): confined to src/impl/dash/, no bitcoin_family and no src/core touch → zero LTC/DOGE production-path impact. Single-coin scope holds.
  • ctest: N/A — comment-only means no object-code delta, nothing to exercise. Per my SAFE-COSMETIC guardrail I substitute a first-hand full-diff read for the Linux x86_64 ctest run, since there is no compiled change to validate.
  • Comment accuracy: new text correctly states post-rewire reality — dash deliberately leaves the core::coin::ICoinNode seam unset (no set_coin_node; nullptr by design) and owns its own GBT/submitblock via the stratum handler; set_stratum_port(0) unchanged. Consistent with the Hunk-B reconcile I closed (no ICoinNode inherit, no stub, no all-coin RED window) and btc-heap-opt option-(ii) confirm that submit retargets onto m_coin_node. The old set_coin_rpc()/ICoinRPC rationale was the stale part; this refresh removes it cleanly.
  • Non-blocking note: the comment names set_coin_node; if the web_server rewire ultimately lands the setter under a different name, this comment re-stales — but that is the rewire PRs concern, not a blocker here.

Formal GH note: workstation gh = frstrtr = this PRs author, so a formal gh pr review --approve is self-author-blocked and reviewDecision stays "". This comment is the verdict of record; a separate reviewer identity is needed for a green check. — ltc-doge-production-steward

frstrtr added a commit that referenced this pull request Jun 6, 2026
)

* ci: add SAFE-COSMETIC label-gated auto-merge workflow

Operator-sanctioned exception (2026-06-06) to per-push approval for
comment/whitespace/doc-only PRs. Merges a PR labeled SAFE-COSMETIC into
master once all six required Linux contexts pass: Linux x86_64, Linux
x86_64 (AsAN+UBSan), and the ltc/doge/dash/btc coin smokes.

Gate matches BARE check-run names (the REST API form), not the CI / ...
UI form, verified against live PR #68 check data. Guarded by a fail-closed
SAFE_COSMETIC_ENABLED repo-variable kill-switch, label presence, base==master,
and non-draft/open state.

* ci(safe-cosmetic): add head-SHA-bound HMAC authorization gate

Require a valid integrator HMAC authorization comment, bound to the PR head
SHA, before the SAFE-COSMETIC auto-merge fires. The gate recomputes
HMAC-SHA256(INTEGRATOR_LABEL_KEY, "<repo>:<pr>:<head-sha>") and merges only
when a comment of the exact shape

  SAFE-COSMETIC-AUTH: <hmac> head=<head-sha>

matches the current head. A new push changes the head SHA and silently
invalidates any prior signature, so authorizations cannot be replayed across
PRs or SHAs. Enforced only once a PR is otherwise green; on a green PR lacking
valid authorization the gate fails closed: strips the label, posts a refusal,
and fails the job. SAFE_COSMETIC_ENABLED kill-switch retained as an AND gate;
bare check-run names and the (AsAN+UBSan) literal unchanged.
frstrtr added a commit that referenced this pull request Jun 7, 2026
The block-replay test harness (test/CMakeLists.txt:318) was added in
9ea5733/f38b9caa but never wired into the build.yml --target lists, so
ctest referenced an executable that was never built — failing the Linux
x86_64 and ASan+UBSan jobs on every PR based on dash-spv-embedded
(incl. PR #68). SAFE-ADDITIVE: adds an already-green target to two CI
target lists; no source change. Win/macOS failures are the separate
shared GTest-guard CMake issue, tracked elsewhere.
frstrtr added a commit that referenced this pull request Jun 8, 2026
Apple Clang (macOS arm64) requires INetwork complete at every make_socket
instantiation site; ltc_coin instantiates it where only ICommunicator is
visible, producing an incomplete-type error. Split the INetwork cross-cast
and weak_from_this() liveness probe into a non-template
make_socket_for_communicator() defined in socket.cpp, where factory.hpp makes
INetwork complete. The inline template now needs only ICommunicator (complete
in the header), preserving the factory.hpp<->socket.hpp cycle break and keeping
Socket semantics identical for all coins (managed weak_node + was_managed for
INetwork nodes, empty/false for legacy unmanaged nodes).

PR #68 Fix C; resolves the 3rd (macOS arm64) defect after Fix A (3cef6cf)
and Fix B (f74d4f1). Linux x86_64 GCC build green across core/ltc_coin and
all test targets.
The old comment justified skipping set_coin_rpc() by the absence of an
ICoinRPC seam. The coin-node seam (core::coin::ICoinNode) is now being
extracted via the web_server rewire, so that rationale is stale. Restate
the intent: dash deliberately leaves the WebServer coin-node seam unset
(nullptr by design) and owns its own GBT/submitblock pipeline via the
stratum handler. Comment-only; no behavior change.
@frstrtr frstrtr force-pushed the dash/pr-c-seam-comment branch from bf7a9bc to 9d6228f Compare June 8, 2026 07:13
@frstrtr frstrtr added the SAFE-COSMETIC Operator-sanctioned cosmetic change eligible for HMAC-gated auto-merge label Jun 8, 2026
@frstrtr frstrtr merged commit faafbf5 into dash-spv-embedded Jun 8, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

SAFE-COSMETIC Operator-sanctioned cosmetic change eligible for HMAC-gated auto-merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant