docs: add C-to-M bridge Happy Path walkthrough for Stagenet#1857
Conversation
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
This comment has been minimized.
This comment has been minimized.
m2ux
left a comment
There was a problem hiding this comment.
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.
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>
f178039 to
26a872a
Compare
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>
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>
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
📌 Submission Checklist
git commit -s) for the DCO🧪 Testing Evidence
Please describe any additional testing aside from CI:
🔱 Fork Strategy
Links