Route channel 156 real-person verification through Seedance Gateway - #839
Open
think-back wants to merge 2 commits into
Open
Route channel 156 real-person verification through Seedance Gateway#839think-back wants to merge 2 commits into
think-back wants to merge 2 commits into
Conversation
Prevent channel 156 from forwarding upstream asset identifiers that no longer exist, while retaining retryable provider failures for recovery. Constraint: Existing active bindings and per-channel credential scopes must remain reusable when the upstream asset is still active. Rejected: Blindly trust cached active bindings | stale upstream IDs caused Seedance requests to fail and could not recover automatically. Confidence: high Scope-risk: narrow Directive: Keep provider-specific revalidation limited to Seedance proxy bindings and preserve CAS guards for concurrent requests. Tested: go test -count=1 ./service -run 'TestSeedanceProxyMaterializeSetRematerializesStaleActiveBinding|TestSeedanceProxyAssetBindingReusesActiveBindingAcrossSeedanceModelsOnSameKey|TestAssetBinding'; go test -count=1 ./model -run 'AssetBinding|Asset'; go test -count=1 ./relay/channel/task/modelapiseedance; go vet ./service ./model ./relay/channel/task/modelapiseedance; git diff --cached --check Not-tested: Full ./service and ./model suites time out on pre-existing SQLite parallel-test failures.
|
Keep the existing /v1/real-persons contract while binding channel 156 to the stateful Gateway workflow and its verified liveness-face group. Terminal Gateway verification states now settle local sessions instead of being retried forever. Constraint: Preserve native BytePlus and TokenSpace providers, encrypted verification state, and the existing public API surface. Rejected: Reusing the ordinary materialization group or native BytePlus callback/storage flow | those scopes do not represent Gateway-owned verified person groups. Confidence: high Scope-risk: moderate Directive: Keep seedance_proxy real-person routing pinned to exactly one enabled channel key and never log upstream credentials or signed URLs. Tested: go test ./service -run 'Test.*RealPerson|TestSeedanceProxyRealPerson|TestSeedanceProxyVerificationJob' -count=1; go test ./model -run 'TestBytePlusRealPerson|TestBytePlusVisualValidation|TestBytePlusAsset' -count=1; go test ./relay/channel/task/modelapiseedance -count=1; go test ./service -run 'TestSeedanceProxyMaterializeSetRematerializesStaleActiveBinding|TestSeedanceProxyAssetBindingReusesActiveBindingAcrossSeedanceModelsOnSameKey|TestAssetBinding' -count=1; compile-only go tests for service/model/controller/router; git diff --cached --check Not-tested: Full ./service and ./model suites remain affected by pre-existing parallel SQLite test contention; go vet ./... is blocked by the existing missing web/classic/dist embed directory.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
asset_materialization.provider=seedance_proxyto the Seedance Gateway stateful face-verification API.verification_idencrypted in the existing platform session, activate the profile from Gatewaygroup_id, and use that verified liveness-face group for real-person assets.Verification
go vet ./...remains blocked by the existing missingweb/classic/distembed directory; full service/model suites retain pre-existing parallel SQLite contention.No production deployment or merge is included.