Skip to content

docs: add C-to-M bridge Happy Path walkthrough for Stagenet#1857

Merged
rsporny merged 4 commits into
mainfrom
docs-bridge-walkthrough
Jul 15, 2026
Merged

docs: add C-to-M bridge Happy Path walkthrough for Stagenet#1857
rsporny merged 4 commits into
mainfrom
docs-bridge-walkthrough

Conversation

@rsporny

@rsporny rsporny commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Overview

Step-by-step guide for exercising the Cardano-to-Midnight bridge end to end on Stagenet: derive a recipient address, lock cNIGHT at the ICS validator, pre-approve the Cardano tx hash via governance, wait for observation, and claim the bridged mNIGHT. Cross-linked from the concept doc; notes the cardano-cli script and demo dApp as alternative ways to produce the Cardano-side lock.

🗹 TODO before merging

  • Ready

📌 Submission Checklist

  • All commits are signed off (git commit -s) for the DCO
  • Changes are backward-compatible (or flagged if breaking)
  • Pull request description explains why the change is needed
  • Self-reviewed the diff
  • I have included a change file, or skipped for this reason:
  • If the changes introduce a new feature, I have bumped the node minor version
  • Update documentation (if relevant)
  • Updated AGENTS.md if build commands, architecture, or workflows changed
  • No new todos introduced

🧪 Testing Evidence

Please describe any additional testing aside from CI:

  • Additional tests are provided (if possible)

🔱 Fork Strategy

  • Node Runtime Update
  • Node Client Update
  • Other:
  • N/A

Links

@rsporny rsporny requested a review from a team as a code owner July 9, 2026 11:49
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@datadog-official

This comment has been minimized.

m2ux
m2ux previously approved these changes Jul 10, 2026

@m2ux m2ux 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.

PR Review Summary

PR: #1857 - docs: add C-to-M bridge Happy Path walkthrough for Stagenet
Date: 2026-07-09

Executive Summary

This is a documentation-only change adding a hands-on Stagenet walkthrough for the Cardano-to-Midnight bridge, plus a cross-link from the concept doc. Every material claim in the guide was independently re-verified against the code at commit f178039 and found accurate, so the review is an approval with a few minor, non-blocking comments for the author.

Overall Rating: Approve


Prior Feedback Triage

Disposition of every prior comment on the PR, determined before independent analysis. There are no human reviews and no inline review threads; the two entries are automated bot comments.

# Prior Comment Author Disposition Reasoning
1 Codex usage limits reached for code reviews chatgpt-codex-connector Refuted An infrastructure quota notice, not a finding about the change. No code concern was raised.
2 Two pipeline jobs failed on this commit datadog-official Superseded The failing jobs are the Rust test run and the local-environment end-to-end suite; neither exercises the added Markdown. Treated as environmental and confirmed not attributable to this diff. See Validation Findings below.

No prior comment is a valid, unaddressed blocker, so nothing caps the overall rating.


Documentation Review

# Finding Severity
1 No evidence the documented commands were run end-to-end against live Stagenet Minor
2 At-a-glance gloss around line 67 collides with the numbered body Nit
3 Redundant alternative-path callout around lines 182 to 187 Nit
4 Fee arithmetic restated three times Nit
Finding Details

DR-1. No evidence the flow was executed end-to-end against Stagenet (Minor)

The walkthrough is a procedural recipe whose value rests on the steps working as written against Stagenet. Every value, command, flag, event name, governance key, and the fee arithmetic were verified against the code at commit f178039 and are accurate. What is not evidenced anywhere in the PR is a real end-to-end run of the exact sequence: that the lock lands, the stability wait resolves, the claim credits, and the balances move as shown. Code-accurate is not the same as executed-as-written, and this is the one material gap for a hands-on guide.

Suggestion: State in the guide (or the PR) that the flow was run end-to-end against Stagenet at a given date and commit, or mark any step that was not run. Not a blocker; the content is verifiable and internally consistent, but this caps a first follower's confidence of getting through cleanly.

DR-2. Step-count gloss collides with the numbered body (Nit)

The at-a-glance line near line 67 says there are three things you do and one thing you wait for, keyed to steps 1, 2 and 4 versus step 3. Those numbers are self-consistent with the diagram directly above it, but they collide with the numbered body, where the lock is step 2, approval is step 3, the wait is step 4, and the claim is step 5. A reader who carries "you do steps 1, 2, 4" into the body finds step 4 is the wait, which the gloss says you do not do.

Suggestion: Drop the line (the diagram is self-explanatory) or rewrite it to match the body's numbering. Low reader-confusion risk, but a genuine cross-reference hazard, so this is the most worth tidying of the nits.

DR-3. Redundant alternative-path callout (Nit)

The callout in the lock step, around lines 182 to 187, restates in full the alternative lock methods already listed verbatim in the header callout near lines 19 to 32.

Suggestion: Collapse it to a one-line back-reference to the header alternatives. Author discretion.

DR-4. Fee arithmetic stated three times (Nit)

The post-fee amount and the claimable-equals-amount-minus-fee derivation appear in the units note, again as the full block in step 0, and once more in the step 5 note. Step 0 is the right home for the full arithmetic.

Suggestion: Keep the step 5 reminder if useful, but the full arithmetic does not need to be re-shown there. Discretionary.


Validation Findings

# Check Severity
1 Two red CI checks are environmental, not attributable to this change Informational
Finding Details

VF-1. Red CI is not PR-attributable (Informational, resolved)

The PR shows two red checks: the local-environment tests and the Rust test run. Both fail in stages a documentation-only diff cannot influence. The local-environment job fails at the deploy step, before any test assertion. The test run fails at the build step. A Markdown file under the docs directory is not compiled, not deployed, and is referenced by no build, test, or CI target. Both failures are therefore environmental or pre-existing and impose no rating cap.


Action Items

Should Address (Recommended):

  • Record that the flow was run end-to-end against Stagenet at a named commit, or mark any unrun step (DR-1)
  • Fix or drop the step-count gloss near line 67 so it matches the numbered body (DR-2)

Could Address (Suggested):

  • Collapse the duplicated alternative-path callout to a one-line back-reference (DR-3)
  • Avoid re-showing the full fee arithmetic in the step 5 note (DR-4)

Severity Definitions

Critical: security or data-loss risk, or a failing test. Major: correctness defect or build failure. Minor: maintainability or actionable-but-non-blocking gap. Nit: style or consistency. Informational: an observation carrying no required action.


Posted by an AI review agent on behalf of Mike Clay. The recommendation reflects an independent re-verification at head f178039; the maintainers retain full discretion over disposition.

@gilescope gilescope requested a review from LGLO July 13, 2026 07:46
Comment thread docs/c-to-m-bridge-walkthrough.md Outdated
Comment thread docs/c-to-m-bridge-walkthrough.md Outdated
Step-by-step guide for exercising the Cardano-to-Midnight bridge end to
end on Stagenet: derive a recipient address, lock cNIGHT at the ICS
validator, pre-approve the Cardano tx hash via governance, wait for
observation, and claim the bridged mNIGHT. Cross-linked from the concept
doc; notes the cardano-cli script and demo dApp as alternative ways to
produce the Cardano-side lock.

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Radosław Sporny <404@rspo.dev>
Address LGLO review on PR #1857 and restructure the C-to-M bridge docs.

Walkthrough (docs/c-to-m-bridge-walkthrough.md):
- Fix the flow ordering to prepare -> pre-approve -> sign & submit ->
  observe -> claim, matching the e2e source-of-truth test. The old doc
  used the toolkit's atomic bridge-transfer (submit before revealing the
  hash), which made 'pre-approval' happen post-submission.
- Make cardano-cli the primary lock path (it exposes the tx hash before
  submission); clarify the demo dApp separates signing from submission
  and so supports the same ordering; keep bridge-transfer as the one-shot
  alternative that races the observation window.
- Redraw the 'happy path at a glance' as a swimlane: Cardano steps left,
  Midnight steps right.
- Capitalize the Cardano Preview network name; add cNIGHT and ADA testnet
  faucet links.
- Correct the false 'bridge is live from block 0' claim: Stagenet ships
  the bridge disabled at genesis by design.

New docs/c-to-m-bridge-enabling.md:
- Standalone guide to check whether the bridge is on (bridge.dataCheckpoint)
  and how to enable it via governance (bridge.setMainChainScripts). The
  walkthrough keeps a short precondition pointer; the concept doc links both.

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Radosław Sporny <404@rspo.dev>
LGLO
LGLO previously approved these changes Jul 15, 2026
Signed-off-by: Radosław Sporny <404@rspo.dev>
The docs::check_doc_files_are_linked_in_readme test requires every
top-level docs/*.md to be referenced in README.md. Add links for the
walkthrough and the new enabling guide, fixing the failing CI test.

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Radosław Sporny <404@rspo.dev>
@rsporny rsporny added this pull request to the merge queue Jul 15, 2026
Merged via the queue into main with commit 0cfb863 Jul 15, 2026
36 checks passed
@rsporny rsporny deleted the docs-bridge-walkthrough branch July 15, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants