@resolveio/server-lib 22.3.237 → 22.3.238

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resolveio/server-lib",
3
- "version": "22.3.237",
3
+ "version": "22.3.238",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "package": "./build_package.sh",
@@ -1,5 +1,5 @@
1
1
  import { ResolveIOAIManagerHotfixContinuationDecision, ResolveIOAIManagerHotfixDurabilityContract, ResolveIOAIManagerHotfixFirstReleasePolicy, ResolveIOAIManagerEvidenceStrength, ResolveIOAIManagerAutonomyPolicyDecision, ResolveIOAIManagerAutonomyPolicyInput, ResolveIOAIManagerRecoveryCheckpoint, ResolveIOAIManagerRecoveryActionPacket, ResolveIOAIManagerRecoveryActionDispatchRecord, ResolveIOAIManagerRecoveryExecutionDirective, ResolveIOAIManagerRecoveryEvidenceProbe, ResolveIOAIManagerRecoveryPlan } from './ai-runner-manager-policy';
2
- export type ResolveIOSupportV5StepType = 'diagnosis_gate' | 'reproduction_probe' | 'issue_class_probe' | 'business_proof' | 'compile_check' | 'startup_check' | 'live_seed' | 'auth_bootstrap' | 'route_probe' | 'qa_row' | 'build_repair' | 'qa_retest' | 'pr_review' | 'artifact_package' | 'cleanup';
2
+ export type ResolveIOSupportV5StepType = 'diagnosis_gate' | 'reproduction_probe' | 'business_proof' | 'compile_check' | 'startup_check' | 'live_seed' | 'auth_bootstrap' | 'route_probe' | 'qa_row' | 'build_repair' | 'qa_retest' | 'pr_review' | 'artifact_package' | 'cleanup';
3
3
  export type ResolveIOSupportV5Outcome = 'pass' | 'needs_repair' | 'retry_same_step' | 'park_manual' | 'budget_stop' | 'infra_retry' | 'ready_for_merge';
4
4
  export type ResolveIOSupportV5Lane = 'build' | 'qa' | 'review' | 'supervisor';
5
5
  export type ResolveIOSupportIssueClass = string;
@@ -535,7 +535,7 @@ export interface ResolveIOSupportEvidenceFreshness {
535
535
  artifactPaths: string[];
536
536
  }
537
537
  export type ResolveIOSupportEvidenceProbeContractStatus = 'ready' | 'blocked';
538
- export type ResolveIOSupportEvidenceProbeContractType = 'issue_class_probe' | 'business_proof' | 'preflight' | 'release' | 'manual';
538
+ export type ResolveIOSupportEvidenceProbeContractType = 'business_proof' | 'preflight' | 'release' | 'manual';
539
539
  export interface ResolveIOSupportEvidenceProbeContract {
540
540
  contractId: string;
541
541
  status: ResolveIOSupportEvidenceProbeContractStatus;
@@ -3899,7 +3899,9 @@ function normalizeResolveIOSupportIssueClassProbeQaRow(value, fallback) {
3899
3899
  assertion: normalizedStateTransition.assertion
3900
3900
  }).slice(0, 16)) }, (normalizeIssueClass(source.issue_class || source.issueClass) || fallback.issueClass
3901
3901
  ? { issue_class: (normalizeIssueClass(source.issue_class || source.issueClass) || fallback.issueClass) }
3902
- : {})), { probe_type: (cleanText(source.probe_type || source.probeType, 80) || 'business_proof'), route: cleanText(source.route, 500) || fallback.route, action_under_test: cleanText(source.action_under_test || source.actionUnderTest || source.action, 1200) || fallback.action, browser_steps: browserSteps, expected_result: cleanText(source.expected_result || source.expectedResult, 1600) || fallback.expectedBusinessProof, expected_dom_or_data_proof: cleanText(source.expected_dom_or_data_proof || source.expectedDomOrDataProof || source.expected_evidence || source.expectedEvidence, 1600) || fallback.expectedEvidence, required_artifacts: cleanList(source.required_artifacts || source.requiredArtifacts, 16, 260).length
3902
+ : {})), { probe_type: cleanText(source.probe_type || source.probeType, 80) === 'issue_class_probe'
3903
+ ? 'business_proof'
3904
+ : (cleanText(source.probe_type || source.probeType, 80) || 'business_proof'), route: cleanText(source.route, 500) || fallback.route, action_under_test: cleanText(source.action_under_test || source.actionUnderTest || source.action, 1200) || fallback.action, browser_steps: browserSteps, expected_result: cleanText(source.expected_result || source.expectedResult, 1600) || fallback.expectedBusinessProof, expected_dom_or_data_proof: cleanText(source.expected_dom_or_data_proof || source.expectedDomOrDataProof || source.expected_evidence || source.expectedEvidence, 1600) || fallback.expectedEvidence, required_artifacts: cleanList(source.required_artifacts || source.requiredArtifacts, 16, 260).length
3903
3905
  ? cleanList(source.required_artifacts || source.requiredArtifacts, 16, 260)
3904
3906
  : fallback.requiredArtifacts, false_pass_blockers: cleanList(source.false_pass_blockers || source.falsePassBlockers, 12, 260).length
3905
3907
  ? cleanList(source.false_pass_blockers || source.falsePassBlockers, 12, 260)
@@ -4097,7 +4099,9 @@ function normalizeResolveIOSupportIssueClassProbe(value, diagnosisGate) {
4097
4099
  stateTransition: normalizedStateTransition,
4098
4100
  requiredArtifacts: requiredArtifacts
4099
4101
  });
4100
- return __assign(__assign({}, (normalizedIssueClass ? { issue_class: normalizedIssueClass } : {})), { probe_type: (cleanText(source.probe_type || source.probeType, 80) || 'business_proof'), failure_class: failureClass, objective: cleanText(source.objective, 1000), route: route, action: action, browser_steps: browserSteps, expected_evidence: expectedEvidence, expected_business_proof: expectedBusinessProof, data_proof_requirements: dataProofRequirements, required_artifacts: requiredArtifacts, qa_rows: normalizedQaRows, active_qa_row: normalizedQaRows[0], aiqa_business_assertion_template: assertionTemplate, state_transition: normalizedStateTransition, acceptance_gate: cleanText(source.acceptance_gate || source.acceptanceGate, 120) === 'aiqa_business_assertion'
4102
+ return __assign(__assign({}, (normalizedIssueClass ? { issue_class: normalizedIssueClass } : {})), { probe_type: cleanText(source.probe_type || source.probeType, 80) === 'issue_class_probe'
4103
+ ? 'business_proof'
4104
+ : (cleanText(source.probe_type || source.probeType, 80) || 'business_proof'), failure_class: failureClass, objective: cleanText(source.objective, 1000), route: route, action: action, browser_steps: browserSteps, expected_evidence: expectedEvidence, expected_business_proof: expectedBusinessProof, data_proof_requirements: dataProofRequirements, required_artifacts: requiredArtifacts, qa_rows: normalizedQaRows, active_qa_row: normalizedQaRows[0], aiqa_business_assertion_template: assertionTemplate, state_transition: normalizedStateTransition, acceptance_gate: cleanText(source.acceptance_gate || source.acceptanceGate, 120) === 'aiqa_business_assertion'
4101
4105
  ? 'aiqa_business_assertion'
4102
4106
  : 'aiqa_business_assertion', blocks_acceptance_without_business_assertion: source.blocks_acceptance_without_business_assertion !== false
4103
4107
  && source.blocksAcceptanceWithoutBusinessAssertion !== false, false_pass_blockers: falsePassBlockers });
@@ -4851,7 +4855,9 @@ function validateResolveIOSupportEvidenceProbeContract(value) {
4851
4855
  var normalized = {
4852
4856
  contractId: cleanText(source.contractId || source.contract_id, 180),
4853
4857
  status: status,
4854
- probeType: cleanText(source.probeType || source.probe_type, 80) || 'manual',
4858
+ probeType: cleanText(source.probeType || source.probe_type, 80) === 'issue_class_probe'
4859
+ ? 'business_proof'
4860
+ : (cleanText(source.probeType || source.probe_type, 80) || 'manual'),
4855
4861
  evidenceOnly: true,
4856
4862
  productRepairAllowed: false,
4857
4863
  canRunWithoutCodexMonitor: source.canRunWithoutCodexMonitor === true || source.can_run_without_codex_monitor === true,
@@ -4878,7 +4884,7 @@ function validateResolveIOSupportEvidenceProbeContract(value) {
4878
4884
  if (!normalized.contractId) {
4879
4885
  blockers.push('Evidence probe contract requires contractId.');
4880
4886
  }
4881
- if (!['issue_class_probe', 'business_proof', 'preflight', 'release', 'manual'].includes(normalized.probeType)) {
4887
+ if (!['business_proof', 'preflight', 'release', 'manual'].includes(normalized.probeType)) {
4882
4888
  blockers.push('Evidence probe contract probeType is invalid.');
4883
4889
  }
4884
4890
  if (source.evidenceOnly === false || source.evidence_only === false) {
@@ -4902,7 +4908,7 @@ function validateResolveIOSupportEvidenceProbeContract(value) {
4902
4908
  if (!normalized.forbiddenActions.some(function (entry) { return /product-code|repair loop|source edit|owner_files/i.test(entry); })) {
4903
4909
  blockers.push('Evidence probe contract must explicitly forbid product-code repair/source edits.');
4904
4910
  }
4905
- if (normalized.probeType === 'business_proof' || normalized.probeType === 'issue_class_probe') {
4911
+ if (normalized.probeType === 'business_proof') {
4906
4912
  if (!normalized.activeRoute) {
4907
4913
  blockers.push('Business-proof evidence probe requires activeRoute.');
4908
4914
  }
@@ -5863,7 +5869,8 @@ function decideResolveIOSupportV5AutonomousNextAction(input) {
5863
5869
  var diagnosisValidation = validateResolveIOSupportDiagnosisGate(bundle.supportV5DiagnosisGate, {
5864
5870
  maxOwnerFiles: input.maxOwnerFiles
5865
5871
  });
5866
- var activeStepType = cleanText((activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.type) || (!diagnosisValidation.valid ? bundle.supportV5SupervisorState.activeStep : 'cleanup') || 'diagnosis_gate', 80);
5872
+ var rawActiveStepType = cleanText((activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.type) || (!diagnosisValidation.valid ? bundle.supportV5SupervisorState.activeStep : 'cleanup') || 'diagnosis_gate', 80);
5873
+ var activeStepType = (rawActiveStepType === 'issue_class_probe' ? 'business_proof' : rawActiveStepType);
5867
5874
  var repairGate = decideResolveIOSupportV5RepairGate({
5868
5875
  diagnosisGate: bundle.supportV5DiagnosisGate,
5869
5876
  preflightGate: preflightGate,
@@ -6814,14 +6821,14 @@ function decideResolveIOSupportV5AutonomousNextAction(input) {
6814
6821
  humanReviewPacket: customerReplyPolicy.humanReviewPacket
6815
6822
  });
6816
6823
  }
6817
- if ((activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.lane) === 'qa' || /^(qa_row|qa_retest|business_proof|route_probe|issue_class_probe)$/.test(activeStepType)) {
6824
+ if ((activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.lane) === 'qa' || /^(qa_row|qa_retest|business_proof|route_probe)$/.test(activeStepType)) {
6818
6825
  return makeDecision('run_business_proof_qa', 'Run Business Proof QA', 'support_v5_business_assertion_required', {
6819
6826
  canRunAutonomously: true,
6820
6827
  canRunQa: true,
6821
6828
  canRunModel: false,
6822
6829
  canEditProductCode: false,
6823
6830
  lane: 'qa',
6824
- stepType: /^(qa_row|qa_retest|business_proof|route_probe|issue_class_probe)$/.test(activeStepType) ? activeStepType : 'qa_row',
6831
+ stepType: /^(qa_row|qa_retest|business_proof|route_probe)$/.test(activeStepType) ? activeStepType : 'qa_row',
6825
6832
  primaryCommand: 'run_support_v5_business_proof_qa_row',
6826
6833
  nextCommands: ['start_local_stack_if_needed', 'execute_business_proof', 'record_before_action_after_artifacts', 'write_aiqa_business_assertion'],
6827
6834
  requiredEvidence: Array.from(new Set(__spreadArray(['AIQaBusinessAssertion pass', 'business proof artifact', 'artifact path'], __read(issueClassProbeEvidence), false))),
@@ -7131,6 +7138,7 @@ function buildResolveIOSupportV5MicrotaskPrompt(input) {
7131
7138
  'Support Runner V5 Microtask Contract.',
7132
7139
  'Use the existing persistent lane thread. Do not start a fresh thread.',
7133
7140
  'Do exactly one microtask and one proof gate. Do not replay ticket triage, prior plans, attachments, broad QA checklist, or unrelated scope.',
7141
+ 'Do not force support issues into fixed issue taxonomies or keyword buckets. Infer the proof, files, and action path from the customer complaint, observed behavior, and code/data flow.',
7134
7142
  'If context is insufficient, request the smallest missing file/log/artifact by path and park this microtask; do not broaden the prompt.',
7135
7143
  'Do not send customer email. Do not deploy. Do not spawn duplicate server/client/Mongo/browser/Codex processes.',
7136
7144
  diagnosisActive