Skip to content

test(stack): prove registration lease lifecycle - #6

Merged
XnLemon merged 4 commits into
codex/nacos-snapshot-refreshfrom
codex/registration-lease-e2e
Aug 10, 2026
Merged

test(stack): prove registration lease lifecycle#6
XnLemon merged 4 commits into
codex/nacos-snapshot-refreshfrom
codex/registration-lease-e2e

Conversation

@XnLemon

@XnLemon XnLemon commented Aug 10, 2026

Copy link
Copy Markdown
Member

Summary

  • pin Core registration leases, Router topology status, and the Samples lease integration to exact full commit SHAs
  • start Provider registration only after Catalog has published the exact Release, then inject the exact target into dedicated runtime registration profiles
  • prove Nacos registration, Router watched discovery, Router-only JSON/SSE/nested calls, and Ledger provenance
  • stop the Runtime B lease, require explicit Nacos removal, wait for Router to advance the same exact Release from populated to a newer empty local revision, then require the first and only acceptance Invocation to return correlated DEPENDENCY_ERROR with a matching Ledger failure
  • register a replacement, wait for a still-newer Router populated revision, and prove recovery without restarting Router

Stack dependencies

No local replace, copied source, floating ref, direct Consumer-to-Provider path, Invocation retry, stale success, or alternate provider/Release is introduced.

Failure semantics

The previous backend job expected AGENT_UNAVAILABLE after lease removal, but current Router semantics correctly return correlated DEPENDENCY_ERROR when exact-Release topology selection has no ready endpoint. AGENT_UNAVAILABLE remains the distinct post-selection transport failure. The authenticated status assertion proves Router consumed empty before the Invocation, so the test no longer infers watch behavior from either public error and does not retry the Invocation to obtain the expected result.

Validation

  • go run ./cmd/manifest-validator components.json
  • go build ./...
  • go test -count=1 ./internal/manifest
  • go test -race ./internal/manifest
  • go vet ./...
  • go test -tags=e2e -run '^$' ./tests/backend
  • go mod verify
  • clean go mod tidy and git diff --check

The GitHub backend job is the authoritative live-container acceptance.

Fallback delta: removed 0, retained 0, added 0, net +0.
Added fallback evidence: none.

@XnLemon XnLemon left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed current HEAD 200ec3d. I found no remaining required-closure issue. The acceptance proves the same exact Release advances populated -> newer empty -> newer populated, issues only one Invocation after empty convergence, distinguishes pre-transport DEPENDENCY_ERROR from post-selection AGENT_UNAVAILABLE, verifies the matching Ledger failure, and proves replacement recovery without Router restart. All required Stack CI, including backend and browser, is green.

中文

已复审当前 HEAD 200ec3d,未发现剩余的 required-closure 问题。验收证明同一精确 Release 按 populated -> 更新的 empty -> 更新的 populated 推进;empty 收敛后只发起一次 Invocation,区分 transport 前的 DEPENDENCY_ERROR 与选中实例后的 AGENT_UNAVAILABLE,验证对应 Ledger failure,并证明无需重启 Router 即可由替换实例恢复。Stack required CI(含 backend/browser)全部绿色。

@XnLemon
XnLemon merged commit 831b534 into main Aug 10, 2026
10 checks passed
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