release: gate August 1 content candidates

This commit is contained in:
key
2026-07-29 01:36:07 +08:00
parent 6a1f672892
commit 8764031d4a
8 changed files with 625 additions and 2 deletions
+20 -1
View File
@@ -59,6 +59,11 @@ $shortCommit = Read-Git @('rev-parse', '--short=8', 'HEAD')
$upstreamDelta = Read-Git @('rev-list', '--left-right', '--count', 'HEAD...origin/main')
Invoke-Checked -FilePath 'git' -Arguments @('diff', '--check')
$contentCandidatePath = Join-Path $projectRoot 'docs\content-candidates\aug1-life-advisor-content-candidates-v0.1.json'
$contentCandidateVerifier = Join-Path $projectRoot 'scripts\verify-aug1-content-candidates.mjs'
Invoke-Checked -FilePath 'node' -Arguments @($contentCandidateVerifier)
$contentCandidate = Get-Content -Raw -Encoding UTF8 -LiteralPath $contentCandidatePath | ConvertFrom-Json
$env:VITE_APP_TERMS_URL = $TermsUrl
$env:VITE_APP_PRIVACY_URL = $PrivacyUrl
Remove-Item Env:VITE_DEV_SMS_HINT_ENABLED -ErrorAction SilentlyContinue
@@ -180,11 +185,25 @@ $evidence = [ordered]@{
mobileH5IndexSha256 = (Get-FileHash -Algorithm SHA256 -LiteralPath $mobileIndex).Hash
backendJarSha256 = (Get-FileHash -Algorithm SHA256 -LiteralPath $backendJar).Hash
}
contentCandidates = [ordered]@{
contentVersion = [string]$contentCandidate.contentVersion
sha256 = (Get-FileHash -Algorithm SHA256 -LiteralPath $contentCandidatePath).Hash
candidateStatus = [string]$contentCandidate.candidateStatus
publishable = [bool]$contentCandidate.publishable
scenarioCandidates = @($contentCandidate.scenarios).Count
policyQuestionCandidates = @($contentCandidate.policyQuestionCandidates).Count
formalPublishableScenarios = 0
formallySourcedStandardAnswers = 0
}
automatedGates = if ($SkipBuild) {
@('artifact-only rehearsal; review prior build evidence separately')
@(
'content candidate safety validation',
'artifact-only rehearsal; review prior build evidence separately'
)
}
else {
@(
'content candidate safety validation',
'mobile unit tests',
'mobile typecheck',
'mobile H5 build',