Priority: P1 — Go side of the shared conformance/fault-injection matrix (twin of Amperstrand/tollgate-module-basic-rust#15).
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
Read Rust issue #15 first and coordinate ownership of the shared YAML matrix in PRTA tests/conformance/; then inspect Go tests/cloud-lab/ and the CI workflow. Start by identifying how the existing cloud-lab tests launch backends and exercise mint interactions. Done means make conformance BACKEND=go emits verdicts for the same scenarios as Rust, with a nightly Go×Rust comparison artifact; G09 and the shared-spec dependency need coordination.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Priority: P1 — Go side of the shared conformance/fault-injection matrix (twin of Amperstrand/tollgate-module-basic-rust#15).
Problem
Go's correctness claims rest on per-flow unit tests and cloud-lab lanes that each backends' own doubles. No shared, invariant-based fault matrix runs identically against Go and Rust, so "which backend is safer" is currently an assertion, not a measurement — and Go's own regression surface (restart, ambiguous outcomes, aliases) is not systematically swept either.
Why it matters
The Go-vs-Rust architecture decision needs identical-scenario evidence. Also: several Go fixes (#266, #433, #440/#447) have repro-specific tests but no standing kill-at-boundary lanes, so regressions of the class (not the symptom) go unnoticed.
Current behavior
tests/cloud-lab/: smoke, swap fees, keyset rotation, mint failure, two-router autopay — real mints (cdk-mintd), no fault proxy, no process-kill matrix, Go-only.- PRTA: multi-backend venue support (
--backend go|rust-basic|rust), physical + QEMU + SHC. - Rust #15 defines the shared matrix spec + mint-fault proxy.
Desired invariant (asserted per scenario, identical for both backends)
- No funds disappear (mint ledger ↔ wallet balance ↔ payment records reconcile).
- No value double-counted.
- No deterministic output re-exposed to a mint (proxy/mint records every blinded message).
- Customer receives service or recoverable value.
- Operator wallet spendable (no unbounded reserved proofs).
- Retries don't corrupt state.
- Restart converges (bounded time).
Proposed scope
- Co-own the matrix spec (YAML in PRTA) with the Rust issue; do not fork it.
- Implement Go-side enabling hooks if the assertions need them: stable payment-record output (G09), pending-proof visibility, blinded-message logging at the mint proxy.
- Wire the matrix into CI as a nightly lane (full) + PR lane (fast subset: duplicate, timeout-retry, restart-mid-payment, alias spellings).
- Publish the differential table per run; divergences become issues on the responsible repo.
Areas / files
PRTA tests/conformance/, Go tests/cloud-lab/ (proxy integration), CI workflow.
Acceptance criteria
make conformance BACKEND=goproduces the verdict table; identical scenario set as Rust runs.- Nightly artifact: Go×Rust comparison visible at a glance.
Required tests / Failure-injection tests
This issue IS the harness.
Compatibility
Matrix must use only HTTP + mint + process control (backend-agnostic).
Dependencies
G09 (payment records) for scenario assertions; Rust #15 for the shared spec (coordinate authorship).
Out of scope
- MT3000 physical runs (PRTA's own lanes; hardware campaign is Rust #16's scope — Go already has physical evidence).
- Ngôn ngữ chính
- Go
- Star
- 12
- Fork
- 14
- Merge trung bình
- 4 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 213
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của OpenTollGate/tollgate-module-basic-go
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
OpenTollGate/tollgate-module-basic-go#1159 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Degraded-mode hygiene follow-ups: dead walletNotInitializedError() + main.go's startup log still over-promises mint recoveryCó thể đã có người làm @Amperstrand đã nhận 9 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
OpenTollGate/tollgate-module-basic-go#1135 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
setup_uhttpd_portal hardcodes the GUEST portal docroot to the TollGate path — the brand token cannot select a re-brand guest portalCó thể đã có người làm @Amperstrand đã nhận 6 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
OpenTollGate/tollgate-module-basic-go#1122 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
changelog: dependency-security sweep missing from [Unreleased] [Amperstrand fork #105 review debt]Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
OpenTollGate/tollgate-module-basic-go#1055 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
OpenTollGate/tollgate-module-basic-go#1027 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của OpenTollGate/tollgate-module-basic-go
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
nebari-dev/nebi#652 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
govulncheck reports 7 reachable vulnerabilities in dependenciesCó thể đã có người làm @dwisiswant0 đã nhận hôm nay. Đang mởType: Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
projectdiscovery/rawhttp#558 ·
-
govulncheck reports vulnerable golang.org/x/net and goldmark in called codeCó thể đã có người làm @dwisiswant0 đã nhận hôm nay. Đang mởType: Bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
projectdiscovery/cdncheck#549 ·
Maintainer thường phản hồi trong vòng 6 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Type: Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
projectdiscovery/pdtm#467 ·