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
@@ -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),