@resolveio/server-lib 22.3.187 → 22.3.189
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/methods/ai-terminal.js +6 -6
- package/methods/ai-terminal.js.map +1 -1
- package/package.json +1 -1
- package/util/ai-run-evidence-adapters.d.ts +36 -0
- package/util/ai-run-evidence-adapters.js +231 -12
- package/util/ai-run-evidence-adapters.js.map +1 -1
- package/util/aicoder-runner-v6.d.ts +3 -0
- package/util/aicoder-runner-v6.js +27 -7
- package/util/aicoder-runner-v6.js.map +1 -1
|
@@ -202,10 +202,13 @@ export interface ResolveIOAICoderNextActionContract {
|
|
|
202
202
|
workflowProofCheckpointStatus: string;
|
|
203
203
|
failureClass: string;
|
|
204
204
|
evidenceHash: string;
|
|
205
|
+
hotfixCommitRequired: boolean;
|
|
206
|
+
liveHotfixBlockedUntilCommit: boolean;
|
|
205
207
|
};
|
|
206
208
|
preconditions: string[];
|
|
207
209
|
expectedStateTransition: string;
|
|
208
210
|
successEvidence: string[];
|
|
211
|
+
requiredHotfixCommitProof: string[];
|
|
209
212
|
stopConditions: string[];
|
|
210
213
|
forbiddenActions: string[];
|
|
211
214
|
nextCommands: string[];
|
|
@@ -1676,6 +1676,13 @@ function buildResolveIOAICoderNextActionContract(input) {
|
|
|
1676
1676
|
var last = history[history.length - 1];
|
|
1677
1677
|
var command = aicoderNextActionPrimaryCommand(input.action, workflowReadiness);
|
|
1678
1678
|
var costRisk = aicoderNextActionCostRisk(input.action, command, workflowReadiness);
|
|
1679
|
+
var hotfixCommitRequired = command === 'repair_aicoder_release_gate'
|
|
1680
|
+
|| workflowReadiness.releaseBlocked
|
|
1681
|
+
|| workflowReadiness.nextGate === 'release';
|
|
1682
|
+
var liveHotfixBlockedUntilCommit = hotfixCommitRequired;
|
|
1683
|
+
var requiredHotfixCommitProof = hotfixCommitRequired
|
|
1684
|
+
? ['sourceCommitSha', 'githubCommitUrl', 'gitCommitStatus=passed', 'gitPushStatus=passed']
|
|
1685
|
+
: [];
|
|
1679
1686
|
var requiresHumanApproval = input.action === 'park'
|
|
1680
1687
|
|| input.action === 'budget_stop'
|
|
1681
1688
|
|| input.action === 'ready_to_publish'
|
|
@@ -1700,18 +1707,28 @@ function buildResolveIOAICoderNextActionContract(input) {
|
|
|
1700
1707
|
&& workflowProofCheckpoint.requiredEvidence.length > 0
|
|
1701
1708
|
&& workflowProofCheckpoint.nextAction.length > 0;
|
|
1702
1709
|
var blockers = Array.from(new Set(__spreadArray(__spreadArray([], __read(workflowReadiness.blockers), false), __read((workflowProofCheckpoint.status === 'waiting_for_new_evidence' ? workflowProofCheckpoint.requiredResetEvidence : [])), false))).slice(0, 12);
|
|
1703
|
-
var preconditions = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray(__spreadArray([
|
|
1710
|
+
var preconditions = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([
|
|
1704
1711
|
workflowProofCheckpoint.nextAction
|
|
1705
|
-
], __read(workflowProofCheckpoint.requiredEvidence), false), __read((workflowReadiness.journeyContractReady ? [] : ['validated APP_JOURNEY_CONTRACT.md journey_contract JSON'])), false), __read((workflowReadiness.canRunWorkflowQa ? ['workflow QA rows generated from the journey contract'] : [])), false), __read((workflowReadiness.releaseBlocked ? ['release blocker artifact or hotfix-first release evidence'] : [])), false).map(function (entry) { return cleanText(entry, 300); }).filter(Boolean))).slice(0, 12);
|
|
1706
|
-
var successEvidence = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(workflowProofCheckpoint.requiredEvidence), false), __read((workflowReadiness.businessProofReady ? ['retained AIQaBusinessAssertion artifact'] : [])), false), __read((workflowReadiness.canPublish ? ['release gate accepts the workflow-proven artifact'] : [])), false), __read((command === 'repair_aicoder_release_gate' ? ['hotfix evidence or explicit one-time force release decision'] : [])), false).map(function (entry) { return cleanText(entry, 300); }).filter(Boolean))).slice(0, 12);
|
|
1712
|
+
], __read(workflowProofCheckpoint.requiredEvidence), false), __read((workflowReadiness.journeyContractReady ? [] : ['validated APP_JOURNEY_CONTRACT.md journey_contract JSON'])), false), __read((workflowReadiness.canRunWorkflowQa ? ['workflow QA rows generated from the journey contract'] : [])), false), __read((workflowReadiness.releaseBlocked ? ['release blocker artifact or hotfix-first release evidence'] : [])), false), __read((hotfixCommitRequired ? ['sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus before live hotfix apply'] : [])), false).map(function (entry) { return cleanText(entry, 300); }).filter(Boolean))).slice(0, 12);
|
|
1713
|
+
var successEvidence = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(workflowProofCheckpoint.requiredEvidence), false), __read((workflowReadiness.businessProofReady ? ['retained AIQaBusinessAssertion artifact'] : [])), false), __read((workflowReadiness.canPublish ? ['release gate accepts the workflow-proven artifact'] : [])), false), __read((command === 'repair_aicoder_release_gate' ? ['hotfix evidence or explicit one-time force release decision'] : [])), false), __read((hotfixCommitRequired ? ['GitHub commit and push proof for any manager-applied hotfix'] : [])), false).map(function (entry) { return cleanText(entry, 300); }).filter(Boolean))).slice(0, 12);
|
|
1707
1714
|
var stopConditions = buildResolveIOAICoderNextActionStopConditions(workflowReadiness, command);
|
|
1708
|
-
|
|
1715
|
+
if (hotfixCommitRequired) {
|
|
1716
|
+
stopConditions.push('Do not apply a live AICoder backend/static hotfix until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus are recorded.');
|
|
1717
|
+
}
|
|
1718
|
+
var forbiddenActions = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([
|
|
1709
1719
|
'accepting route-only proof as app success',
|
|
1710
1720
|
'accepting scorecard-only or wow-score-only proof as app success'
|
|
1711
|
-
], __read((workflowReadiness.journeyContractReady ? [] : ['building product routes before the journey contract validates'])), false), __read((workflowReadiness.businessProofReady ? [] : ['publishing before north-star workflow business proof passes'])), false), __read((workflowReadiness.releaseBlocked ? ['rerunning full deploy/publish without changed release evidence'] : [])), false), __read((workflowReadiness.sameFailureParked ? ['retrying the same repair loop without new evidence'] : [])), false))).slice(0, 12);
|
|
1721
|
+
], __read((workflowReadiness.journeyContractReady ? [] : ['building product routes before the journey contract validates'])), false), __read((workflowReadiness.businessProofReady ? [] : ['publishing before north-star workflow business proof passes'])), false), __read((workflowReadiness.releaseBlocked ? ['rerunning full deploy/publish without changed release evidence'] : [])), false), __read((hotfixCommitRequired ? ['applying live hotfix before pushed GitHub commit proof'] : [])), false), __read((workflowReadiness.sameFailureParked ? ['retrying the same repair loop without new evidence'] : [])), false))).slice(0, 12);
|
|
1712
1722
|
var nextCommands = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([
|
|
1713
1723
|
command
|
|
1714
|
-
], __read((command === 'repair_aicoder_journey_contract' ? ['validate_aicoder_journey_contract', 'generate_workflow_qa_rows'] : [])), false), __read((command === 'run_aicoder_workflow_qa' ? ['execute_contract_qa_assertions', 'record_aiqa_business_assertion'] : [])), false), __read((command === 'repair_aicoder_release_gate' ? [
|
|
1724
|
+
], __read((command === 'repair_aicoder_journey_contract' ? ['validate_aicoder_journey_contract', 'generate_workflow_qa_rows'] : [])), false), __read((command === 'run_aicoder_workflow_qa' ? ['execute_contract_qa_assertions', 'record_aiqa_business_assertion'] : [])), false), __read((command === 'repair_aicoder_release_gate' ? [
|
|
1725
|
+
'collect_release_blocker_evidence',
|
|
1726
|
+
'prefer_hotfix_before_full_deploy',
|
|
1727
|
+
'prepare_hotfix_patch_without_live_apply',
|
|
1728
|
+
'commit_and_push_hotfix_to_github',
|
|
1729
|
+
'record_github_commit_for_hotfix',
|
|
1730
|
+
'apply_live_hotfix_only_after_github_commit_proof'
|
|
1731
|
+
] : [])), false), __read((command === 'repair_aicoder_compile_gate' ? ['rerun_compile_gate_only', 'record_compile_evidence_hash'] : [])), false), __read((command === 'repair_aicoder_infra_gate' ? ['rerun_preflight_gate_only', 'record_infra_evidence_hash'] : [])), false), [
|
|
1715
1732
|
'record_aicoder_next_action_result'
|
|
1716
1733
|
], false))).slice(0, 12);
|
|
1717
1734
|
var contractBasis = {
|
|
@@ -1761,11 +1778,14 @@ function buildResolveIOAICoderNextActionContract(input) {
|
|
|
1761
1778
|
workflowReadinessStatus: workflowReadiness.status,
|
|
1762
1779
|
workflowProofCheckpointStatus: workflowProofCheckpoint.status,
|
|
1763
1780
|
failureClass: contractBasis.failureClass,
|
|
1764
|
-
evidenceHash: cleanText((last === null || last === void 0 ? void 0 : last.evidenceHash) || contractBasis.evidenceHash, 160)
|
|
1781
|
+
evidenceHash: cleanText((last === null || last === void 0 ? void 0 : last.evidenceHash) || contractBasis.evidenceHash, 160),
|
|
1782
|
+
hotfixCommitRequired: hotfixCommitRequired,
|
|
1783
|
+
liveHotfixBlockedUntilCommit: liveHotfixBlockedUntilCommit
|
|
1765
1784
|
},
|
|
1766
1785
|
preconditions: preconditions,
|
|
1767
1786
|
expectedStateTransition: aicoderNextActionExpectedTransition(command),
|
|
1768
1787
|
successEvidence: successEvidence,
|
|
1788
|
+
requiredHotfixCommitProof: requiredHotfixCommitProof,
|
|
1769
1789
|
stopConditions: stopConditions,
|
|
1770
1790
|
forbiddenActions: forbiddenActions,
|
|
1771
1791
|
nextCommands: nextCommands,
|