fix(consult): race a bounded VedAstro gateway on the chat path
Independent Staging Quality Gate / validate (push) Successful in 10m15s
Independent Staging Quality Gate / publish (push) Successful in 10m2s

Foreground still skips the heavy overview stack, but overlaps a timed
gateway so official evidence can merge when it finishes in budget.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-08-19 17:51:27 +08:00
parent 0eedf92992
commit bffc74efc5
9 changed files with 321 additions and 11 deletions
@@ -67,6 +67,8 @@ const NOTE_LABELS: Readonly<Record<string, string>> = {
official_raw_archive_not_auditable_for_this_run: "官方原始档案本轮不可审计",
official_raw_archive_is_auditable: "官方原始档案可审计",
official_cloud_evidence_available: "官方云证据可用",
foreground_optional_evidence_timeout: "前台官方云证据超时,本轮未赶上",
gateway_invocation_error: "官方云网关调用失败",
claims_capped_until_pyjhora_jhora_jyotishganit_are_invoked_for_this_run: "结论上限受外部引擎调用限制",
three_engine_runtime_closure_available: "三引擎运行时已闭环",
complete_packet_required_for_high_confidence: "高置信度需完整证据包",
@@ -270,6 +270,7 @@ const validationKeys = new Set([
"confidencecap", "summary", "conclusion", "publiccontextonly", "similarpubliccases",
"highsimilaritypublicreferencesavailable", "requesteduncovereddomains", "timingstate",
"partialmatch", "narayanastatus", "transitstatus", "productiontuningallowed", "nomajorityvote",
"vedastrocrosscheck", "officialclosurestate", "officialclosurereason", "natal", "ascendant",
]);
const domainDetailsKeys = new Set([
@@ -465,6 +466,7 @@ function projectValidationEvidence(context: ReturnType<typeof toAgentConsultatio
technique_truth: context.evidence_contract.technique_truth,
reference_transparency: context.reference_transparency,
shadbala_boundary: context.local_layers.shadbala_boundary,
vedastro_cross_check: context.vedastro_cross_check,
}, validationKeys, { allowAstrologyEntityKeys: true });
const output = record(validation);
const audit = projectTechniqueAudit(context.evidence_contract.technique_audit_table);
@@ -487,6 +489,7 @@ const SHARED_MUST_USE_LAYERS = [
"Arudha / UL / A10",
"Western natal (tropical)",
"Transits / Sade Sati",
"VedAstro Cloud State",
] as const;
const DOMAIN_MUST_USE_LAYERS: Readonly<Record<string, readonly string[]>> = {
@@ -648,6 +651,7 @@ export function toAgentConsultationContext(data: JsonRecord) {
range_boundary_contexts: record(data.range_boundary_contexts),
thematic_evidence: selectedTheme,
vedastro_gateway: record(data.vedastro_gateway),
vedastro_cross_check: record(consumerContext.vedastro_cross_check),
external_engine_evidence: {
runtime_truth: record(data.runtime_truth), numerical_parity: record(data.external_parity_gate),
real_case_calibration: record(data.real_case_calibration),