oh-my-codex 0.18.12 → 0.18.13
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/Cargo.lock +6 -6
- package/Cargo.toml +1 -1
- package/README.md +7 -0
- package/dist/autopilot/__tests__/ralplan-gate.test.js +621 -0
- package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
- package/dist/autopilot/ralplan-gate.d.ts.map +1 -1
- package/dist/autopilot/ralplan-gate.js +32 -18
- package/dist/autopilot/ralplan-gate.js.map +1 -1
- package/dist/cli/__tests__/doctor-invalid-config.test.js +35 -0
- package/dist/cli/__tests__/doctor-invalid-config.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +54 -1
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/resume.test.js +217 -1
- package/dist/cli/__tests__/resume.test.js.map +1 -1
- package/dist/cli/__tests__/session-search-help.test.js +3 -2
- package/dist/cli/__tests__/session-search-help.test.js.map +1 -1
- package/dist/cli/__tests__/session-search.test.js +64 -2
- package/dist/cli/__tests__/session-search.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +6 -5
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-prompts-overwrite.test.js +74 -0
- package/dist/cli/__tests__/setup-prompts-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/setup-scope.test.js +45 -0
- package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
- package/dist/cli/__tests__/update.test.js +5 -2
- package/dist/cli/__tests__/update.test.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +9 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +9 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +209 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/project-runtime-codex-homes.d.ts +6 -0
- package/dist/cli/project-runtime-codex-homes.d.ts.map +1 -0
- package/dist/cli/project-runtime-codex-homes.js +27 -0
- package/dist/cli/project-runtime-codex-homes.js.map +1 -0
- package/dist/cli/session-search.d.ts.map +1 -1
- package/dist/cli/session-search.js +8 -1
- package/dist/cli/session-search.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +168 -4
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +2 -0
- package/dist/cli/update.js.map +1 -1
- package/dist/config/__tests__/codex-hooks.test.js +38 -24
- package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
- package/dist/config/codex-hooks.d.ts +6 -0
- package/dist/config/codex-hooks.d.ts.map +1 -1
- package/dist/config/codex-hooks.js +34 -49
- package/dist/config/codex-hooks.js.map +1 -1
- package/dist/pipeline/__tests__/orchestrator.test.js +125 -0
- package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
- package/dist/pipeline/__tests__/stages.test.js +109 -0
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/pipeline/orchestrator.d.ts.map +1 -1
- package/dist/pipeline/orchestrator.js +7 -0
- package/dist/pipeline/orchestrator.js.map +1 -1
- package/dist/ralplan/__tests__/consensus-gate.test.js +440 -1
- package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -1
- package/dist/ralplan/consensus-gate.d.ts +2 -0
- package/dist/ralplan/consensus-gate.d.ts.map +1 -1
- package/dist/ralplan/consensus-gate.js +173 -71
- package/dist/ralplan/consensus-gate.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +273 -0
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +56 -12
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/codex-native-pre-post.d.ts +1 -0
- package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
- package/dist/scripts/codex-native-pre-post.js +130 -0
- package/dist/scripts/codex-native-pre-post.js.map +1 -1
- package/dist/session-history/__tests__/search.test.js +166 -0
- package/dist/session-history/__tests__/search.test.js.map +1 -1
- package/dist/session-history/search.d.ts +7 -0
- package/dist/session-history/search.d.ts.map +1 -1
- package/dist/session-history/search.js +83 -24
- package/dist/session-history/search.js.map +1 -1
- package/dist/sidecar/__tests__/collector.test.js +60 -0
- package/dist/sidecar/__tests__/collector.test.js.map +1 -1
- package/dist/sidecar/collector.d.ts.map +1 -1
- package/dist/sidecar/collector.js +3 -6
- package/dist/sidecar/collector.js.map +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js +4 -2
- package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js +71 -3
- package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js.map +1 -1
- package/package.json +1 -1
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/src/scripts/__tests__/codex-native-hook.test.ts +363 -0
- package/src/scripts/codex-native-hook.ts +68 -18
- package/src/scripts/codex-native-pre-post.ts +137 -0
|
@@ -9,27 +9,25 @@ export const RALPLAN_CONSENSUS_BLOCKED_REASONS = {
|
|
|
9
9
|
};
|
|
10
10
|
export function buildRalplanConsensusGateFromSources(sources, options = {}) {
|
|
11
11
|
let nativeBlockedEvidence = null;
|
|
12
|
+
let validEvidence = null;
|
|
12
13
|
let invalidCompleteEvidence = null;
|
|
13
14
|
for (const candidate of sources) {
|
|
14
|
-
const evidence =
|
|
15
|
-
|
|
15
|
+
const evidence = resolveConsensusEvidence(candidate.value);
|
|
16
|
+
const candidateOptions = {
|
|
17
|
+
...options,
|
|
18
|
+
sessionId: options.sessionId ?? candidate.sessionId,
|
|
19
|
+
};
|
|
20
|
+
if (evidence?.kind === 'invalid') {
|
|
21
|
+
invalidCompleteEvidence ??= { ...evidence, source: candidate.source };
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (evidence?.kind === 'valid') {
|
|
16
25
|
if (options.requireNativeSubagents
|
|
17
|
-
&& !hasTrackerBackedNativeRalplanLanes(evidence,
|
|
18
|
-
nativeBlockedEvidence ??= { ...evidence, source: candidate.source };
|
|
26
|
+
&& !hasTrackerBackedNativeRalplanLanes(evidence, candidateOptions)) {
|
|
27
|
+
nativeBlockedEvidence ??= { ...evidence, source: candidate.source, options: candidateOptions };
|
|
19
28
|
continue;
|
|
20
29
|
}
|
|
21
|
-
|
|
22
|
-
complete: true,
|
|
23
|
-
sequence: ['architect-review', 'critic-review'],
|
|
24
|
-
ralplan_architect_review: evidence.ralplan_architect_review,
|
|
25
|
-
ralplan_critic_review: evidence.ralplan_critic_review,
|
|
26
|
-
source: candidate.source,
|
|
27
|
-
blockedReason: null,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
const invalidEvidence = extractInvalidCompleteConsensusEvidence(candidate.value);
|
|
31
|
-
if (invalidEvidence) {
|
|
32
|
-
invalidCompleteEvidence ??= { ...invalidEvidence, source: candidate.source };
|
|
30
|
+
validEvidence ??= { ...evidence, source: candidate.source };
|
|
33
31
|
}
|
|
34
32
|
}
|
|
35
33
|
if (invalidCompleteEvidence) {
|
|
@@ -43,6 +41,16 @@ export function buildRalplanConsensusGateFromSources(sources, options = {}) {
|
|
|
43
41
|
blockedDetails: invalidCompleteEvidence.blockedDetails,
|
|
44
42
|
};
|
|
45
43
|
}
|
|
44
|
+
if (validEvidence) {
|
|
45
|
+
return {
|
|
46
|
+
complete: true,
|
|
47
|
+
sequence: ['architect-review', 'critic-review'],
|
|
48
|
+
ralplan_architect_review: validEvidence.ralplan_architect_review,
|
|
49
|
+
ralplan_critic_review: validEvidence.ralplan_critic_review,
|
|
50
|
+
source: validEvidence.source,
|
|
51
|
+
blockedReason: null,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
46
54
|
if (nativeBlockedEvidence) {
|
|
47
55
|
return {
|
|
48
56
|
complete: false,
|
|
@@ -52,8 +60,9 @@ export function buildRalplanConsensusGateFromSources(sources, options = {}) {
|
|
|
52
60
|
source: nativeBlockedEvidence.source,
|
|
53
61
|
blockedReason: RALPLAN_CONSENSUS_BLOCKED_REASONS.nativeSubagentEvidenceMissing,
|
|
54
62
|
blockedDetails: [
|
|
55
|
-
|
|
56
|
-
trackerBackedNativeReviewProblem(nativeBlockedEvidence.
|
|
63
|
+
trackerBackedNativeReviewPairProblem(nativeBlockedEvidence, nativeBlockedEvidence.options),
|
|
64
|
+
trackerBackedNativeReviewProblem(nativeBlockedEvidence.ralplan_architect_review, 'architect', nativeBlockedEvidence.options),
|
|
65
|
+
trackerBackedNativeReviewProblem(nativeBlockedEvidence.ralplan_critic_review, 'critic', nativeBlockedEvidence.options),
|
|
57
66
|
].filter((detail) => Boolean(detail)),
|
|
58
67
|
};
|
|
59
68
|
}
|
|
@@ -67,12 +76,22 @@ export function buildRalplanConsensusGateFromSources(sources, options = {}) {
|
|
|
67
76
|
};
|
|
68
77
|
}
|
|
69
78
|
export function buildRalplanConsensusGateForCwd(cwd, options = {}) {
|
|
79
|
+
const localStateCandidates = readLocalRalplanConsensusStateCandidates(cwd, options.sessionId)
|
|
80
|
+
.map((candidate) => ({
|
|
81
|
+
...candidate,
|
|
82
|
+
value: options.artifacts
|
|
83
|
+
? withParentReturnToRalplanContext(candidate.value, options.artifacts)
|
|
84
|
+
: candidate.value,
|
|
85
|
+
}));
|
|
70
86
|
return buildRalplanConsensusGateFromSources([
|
|
71
87
|
...(options.artifacts ? [
|
|
72
88
|
{ source: 'stage-context-artifacts', value: options.artifacts },
|
|
73
|
-
{
|
|
89
|
+
{
|
|
90
|
+
source: 'stage-context-ralplan-artifact',
|
|
91
|
+
value: withParentReturnToRalplanContext(options.artifacts.ralplan, options.artifacts),
|
|
92
|
+
},
|
|
74
93
|
] : []),
|
|
75
|
-
...
|
|
94
|
+
...localStateCandidates,
|
|
76
95
|
], {
|
|
77
96
|
cwd,
|
|
78
97
|
sessionId: options.sessionId,
|
|
@@ -93,59 +112,66 @@ export function readLocalRalplanConsensusStateCandidates(cwd, sessionId) {
|
|
|
93
112
|
? uniquePaths(sessionIdList.flatMap((id) => [
|
|
94
113
|
join(scopedStateDir, 'sessions', id),
|
|
95
114
|
join(localStateDir, 'sessions', id),
|
|
96
|
-
]))
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
115
|
+
])).map((dir) => ({
|
|
116
|
+
dir,
|
|
117
|
+
sessionId: sessionIdFromStateRoot(dir),
|
|
118
|
+
}))
|
|
119
|
+
: [{ dir: localStateDir }];
|
|
120
|
+
const paths = stateRoots.flatMap(({ dir, sessionId }) => [
|
|
121
|
+
{ path: join(dir, 'ralplan-state.json'), sessionId },
|
|
122
|
+
{ path: join(dir, 'autopilot-state.json'), sessionId },
|
|
101
123
|
]);
|
|
102
|
-
return paths.flatMap((path) => {
|
|
124
|
+
return paths.flatMap(({ path, sessionId }) => {
|
|
103
125
|
const state = readJsonState(path);
|
|
104
126
|
if (!state)
|
|
105
127
|
return [];
|
|
106
|
-
return [{ source: path, value: state }];
|
|
128
|
+
return [{ source: path, value: state, sessionId }];
|
|
107
129
|
});
|
|
108
130
|
}
|
|
109
|
-
function
|
|
131
|
+
function resolveConsensusEvidence(value) {
|
|
110
132
|
if (!value || typeof value !== 'object')
|
|
111
133
|
return null;
|
|
112
134
|
const record = value;
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
&&
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
const handoffArtifactsAreStale = isReturnToRalplanCycle(record);
|
|
135
|
+
const returnToRalplanCycle = isReturnToRalplanCycle(record);
|
|
136
|
+
const advancedReviewCycle = explicitFreshnessReviewCycle(record);
|
|
137
|
+
const staleReturnToRalplanCycle = returnToRalplanCycle && advancedReviewCycle === null;
|
|
138
|
+
const directGate = resolveDirectGate(record);
|
|
139
|
+
if (directGate?.kind === 'invalid')
|
|
140
|
+
return directGate;
|
|
141
|
+
if (directGate
|
|
142
|
+
&& (!returnToRalplanCycle
|
|
143
|
+
|| (advancedReviewCycle !== null && reviewsCarryFreshnessCycle(directGate, advancedReviewCycle))))
|
|
144
|
+
return directGate;
|
|
145
|
+
const handoffArtifactsAreStale = staleReturnToRalplanCycle;
|
|
127
146
|
const topLevelHandoffArtifacts = handoffArtifactsAreStale ? null : asRecord(record.handoff_artifacts);
|
|
128
147
|
if (topLevelHandoffArtifacts) {
|
|
129
|
-
const evidence =
|
|
148
|
+
const evidence = resolveConsensusEvidence(withParentReturnToRalplanContext(topLevelHandoffArtifacts, record));
|
|
130
149
|
if (evidence)
|
|
131
150
|
return evidence;
|
|
132
151
|
}
|
|
133
152
|
const stateRecord = asRecord(record.state);
|
|
134
|
-
const
|
|
153
|
+
const stateHasOwnReturnLoopContext = stateRecord !== null && isReturnToRalplanCycle(stateRecord);
|
|
154
|
+
const stateHandoffArtifacts = handoffArtifactsAreStale && !stateHasOwnReturnLoopContext
|
|
135
155
|
? null
|
|
136
156
|
: asRecord(stateRecord?.handoff_artifacts);
|
|
137
157
|
if (stateHandoffArtifacts) {
|
|
138
|
-
const
|
|
158
|
+
const stateContext = stateHasOwnReturnLoopContext ? stateRecord : record;
|
|
159
|
+
const evidence = resolveConsensusEvidence(withParentReturnToRalplanContext(stateHandoffArtifacts, stateContext));
|
|
139
160
|
if (evidence)
|
|
140
161
|
return evidence;
|
|
141
162
|
}
|
|
163
|
+
if (returnToRalplanCycle && advancedReviewCycle === null)
|
|
164
|
+
return null;
|
|
142
165
|
const directArchitectReview = asRecord(record.ralplan_architect_review);
|
|
143
166
|
const directCriticReview = asRecord(record.ralplan_critic_review);
|
|
144
167
|
if (hasArchitectThenCriticSequence(record)
|
|
145
168
|
&& isApproveReview(directArchitectReview, 'architect')
|
|
146
169
|
&& isApproveReview(directCriticReview, 'critic')
|
|
147
|
-
&& isCriticNotBeforeArchitect(directArchitectReview, directCriticReview)
|
|
170
|
+
&& isCriticNotBeforeArchitect(directArchitectReview, directCriticReview)
|
|
171
|
+
&& (!returnToRalplanCycle
|
|
172
|
+
|| (advancedReviewCycle !== null && reviewPairCarriesFreshnessCycle(directArchitectReview, directCriticReview, advancedReviewCycle)))) {
|
|
148
173
|
return {
|
|
174
|
+
kind: 'valid',
|
|
149
175
|
ralplan_architect_review: directArchitectReview,
|
|
150
176
|
ralplan_critic_review: directCriticReview,
|
|
151
177
|
};
|
|
@@ -157,8 +183,10 @@ function extractSequentialConsensusEvidence(value) {
|
|
|
157
183
|
const criticReview = asRecord(latestReviewEntry.ralplan_critic_review ?? latestReviewEntry.critic_review ?? latestReviewEntry.criticReview);
|
|
158
184
|
if (isApproveReview(architectReview, 'architect')
|
|
159
185
|
&& isApproveReview(criticReview, 'critic')
|
|
160
|
-
&& isCriticNotBeforeArchitect(architectReview, criticReview)
|
|
161
|
-
|
|
186
|
+
&& isCriticNotBeforeArchitect(architectReview, criticReview)
|
|
187
|
+
&& (!returnToRalplanCycle
|
|
188
|
+
|| (advancedReviewCycle !== null && reviewPairCarriesFreshnessCycle(architectReview, criticReview, advancedReviewCycle)))) {
|
|
189
|
+
return { kind: 'valid', ralplan_architect_review: architectReview, ralplan_critic_review: criticReview };
|
|
162
190
|
}
|
|
163
191
|
}
|
|
164
192
|
const architectReviews = Array.isArray(record.architectReviews) ? record.architectReviews : [];
|
|
@@ -168,31 +196,45 @@ function extractSequentialConsensusEvidence(value) {
|
|
|
168
196
|
const criticReview = asRecord(criticReviews.at(-1));
|
|
169
197
|
if (isApproveReview(architectReview, 'architect')
|
|
170
198
|
&& isApproveReview(criticReview, 'critic')
|
|
171
|
-
&& isCriticNotBeforeArchitect(architectReview, criticReview)
|
|
172
|
-
|
|
199
|
+
&& isCriticNotBeforeArchitect(architectReview, criticReview)
|
|
200
|
+
&& (!returnToRalplanCycle
|
|
201
|
+
|| (advancedReviewCycle !== null && reviewPairCarriesFreshnessCycle(architectReview, criticReview, advancedReviewCycle)))) {
|
|
202
|
+
return { kind: 'valid', ralplan_architect_review: architectReview, ralplan_critic_review: criticReview };
|
|
173
203
|
}
|
|
174
204
|
}
|
|
175
205
|
return null;
|
|
176
206
|
}
|
|
177
|
-
function
|
|
178
|
-
if (!value || typeof value !== 'object')
|
|
179
|
-
return null;
|
|
180
|
-
const record = value;
|
|
207
|
+
function resolveDirectGate(record) {
|
|
181
208
|
const gate = record.ralplanConsensusGate ?? record.ralplan_consensus_gate;
|
|
182
209
|
if (gate && typeof gate === 'object') {
|
|
183
210
|
const gateRecord = gate;
|
|
184
211
|
const architectReview = asRecord(gateRecord.ralplan_architect_review ?? gateRecord.architectReview ?? gateRecord.architect_review);
|
|
185
212
|
const criticReview = asRecord(gateRecord.ralplan_critic_review ?? gateRecord.criticReview ?? gateRecord.critic_review);
|
|
186
|
-
if (gateRecord.complete === true
|
|
213
|
+
if (gateRecord.complete === true
|
|
214
|
+
&& hasArchitectThenCriticSequence(gateRecord)
|
|
215
|
+
&& isApproveReview(architectReview, 'architect')
|
|
216
|
+
&& isApproveReview(criticReview, 'critic')
|
|
217
|
+
&& isCriticNotBeforeArchitect(architectReview, criticReview)) {
|
|
218
|
+
return {
|
|
219
|
+
kind: 'valid',
|
|
220
|
+
ralplan_architect_review: architectReview,
|
|
221
|
+
ralplan_critic_review: criticReview,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
if (gateRecord.complete === true) {
|
|
187
225
|
const blockedDetails = [
|
|
188
226
|
...reviewApprovalProblems(architectReview, 'architect'),
|
|
189
227
|
...reviewApprovalProblems(criticReview, 'critic'),
|
|
190
228
|
];
|
|
229
|
+
if (!hasArchitectThenCriticSequence(gateRecord)) {
|
|
230
|
+
blockedDetails.push('consensus review sequence is not architect-review then critic-review');
|
|
231
|
+
}
|
|
191
232
|
if (!isCriticNotBeforeArchitect(architectReview, criticReview)) {
|
|
192
233
|
blockedDetails.push('critic review is ordered before architect review');
|
|
193
234
|
}
|
|
194
235
|
if (blockedDetails.length > 0) {
|
|
195
236
|
return {
|
|
237
|
+
kind: 'invalid',
|
|
196
238
|
ralplan_architect_review: architectReview,
|
|
197
239
|
ralplan_critic_review: criticReview,
|
|
198
240
|
blockedDetails,
|
|
@@ -200,14 +242,52 @@ function extractInvalidCompleteConsensusEvidence(value) {
|
|
|
200
242
|
}
|
|
201
243
|
}
|
|
202
244
|
}
|
|
203
|
-
const stateHandoffArtifacts = asRecord(asRecord(record.state)?.handoff_artifacts);
|
|
204
|
-
if (stateHandoffArtifacts) {
|
|
205
|
-
const evidence = extractInvalidCompleteConsensusEvidence(stateHandoffArtifacts);
|
|
206
|
-
if (evidence)
|
|
207
|
-
return evidence;
|
|
208
|
-
}
|
|
209
245
|
return null;
|
|
210
246
|
}
|
|
247
|
+
export function withParentReturnToRalplanContext(value, parent) {
|
|
248
|
+
const reason = parent.return_to_ralplan_reason ?? parent.returnToRalplanReason;
|
|
249
|
+
if (typeof reason !== 'string' || reason.trim() === '' || !value || typeof value !== 'object' || Array.isArray(value)) {
|
|
250
|
+
return value;
|
|
251
|
+
}
|
|
252
|
+
const record = value;
|
|
253
|
+
const parentReviewCycle = numericValue(parent.return_to_ralplan_parent_review_cycle
|
|
254
|
+
?? parent.returnToRalplanParentReviewCycle
|
|
255
|
+
?? parent.review_cycle
|
|
256
|
+
?? parent.reviewCycle);
|
|
257
|
+
const inheritedReviewCycle = record.review_cycle ?? record.reviewCycle ?? parent.review_cycle ?? parent.reviewCycle;
|
|
258
|
+
return {
|
|
259
|
+
...record,
|
|
260
|
+
review_cycle: inheritedReviewCycle,
|
|
261
|
+
current_phase: parent.current_phase ?? parent.currentPhase ?? 'ralplan',
|
|
262
|
+
return_to_ralplan_reason: reason,
|
|
263
|
+
return_to_ralplan_parent_review_cycle: parentReviewCycle,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
function explicitFreshnessReviewCycle(record) {
|
|
267
|
+
const parentReviewCycle = numericValue(record.return_to_ralplan_parent_review_cycle ?? record.returnToRalplanParentReviewCycle);
|
|
268
|
+
const candidateReviewCycle = numericValue(record.review_cycle ?? record.reviewCycle);
|
|
269
|
+
return parentReviewCycle !== null
|
|
270
|
+
&& candidateReviewCycle !== null
|
|
271
|
+
&& candidateReviewCycle > parentReviewCycle
|
|
272
|
+
? candidateReviewCycle
|
|
273
|
+
: null;
|
|
274
|
+
}
|
|
275
|
+
function reviewsCarryFreshnessCycle(evidence, reviewCycle) {
|
|
276
|
+
return evidence.kind === 'valid'
|
|
277
|
+
&& reviewPairCarriesFreshnessCycle(evidence.ralplan_architect_review, evidence.ralplan_critic_review, reviewCycle);
|
|
278
|
+
}
|
|
279
|
+
function reviewPairCarriesFreshnessCycle(architectReview, criticReview, reviewCycle) {
|
|
280
|
+
return reviewCarriesFreshnessCycle(architectReview, reviewCycle)
|
|
281
|
+
&& reviewCarriesFreshnessCycle(criticReview, reviewCycle);
|
|
282
|
+
}
|
|
283
|
+
function reviewCarriesFreshnessCycle(review, reviewCycle) {
|
|
284
|
+
const cycle = numericValue(review?.review_cycle ?? review?.reviewCycle);
|
|
285
|
+
return cycle !== null && cycle >= reviewCycle;
|
|
286
|
+
}
|
|
287
|
+
function numericValue(value) {
|
|
288
|
+
const parsed = typeof value === 'number' ? value : typeof value === 'string' ? Number(value) : Number.NaN;
|
|
289
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
290
|
+
}
|
|
211
291
|
function asRecord(value) {
|
|
212
292
|
return value && typeof value === 'object' ? value : null;
|
|
213
293
|
}
|
|
@@ -288,9 +368,7 @@ function reviewOrderValue(review) {
|
|
|
288
368
|
return null;
|
|
289
369
|
}
|
|
290
370
|
function hasTrackerBackedNativeRalplanLanes(evidence, options) {
|
|
291
|
-
|
|
292
|
-
const criticThreadId = nativeReviewThreadId(evidence.ralplan_critic_review);
|
|
293
|
-
if (!architectThreadId || !criticThreadId || architectThreadId === criticThreadId)
|
|
371
|
+
if (trackerBackedNativeReviewPairProblem(evidence, options))
|
|
294
372
|
return false;
|
|
295
373
|
return isTrackerBackedNativeReview(evidence.ralplan_architect_review, 'architect', options)
|
|
296
374
|
&& isTrackerBackedNativeReview(evidence.ralplan_critic_review, 'critic', options);
|
|
@@ -298,9 +376,27 @@ function hasTrackerBackedNativeRalplanLanes(evidence, options) {
|
|
|
298
376
|
function nativeReviewThreadId(review) {
|
|
299
377
|
return typeof review?.thread_id === 'string' ? review.thread_id.trim() : '';
|
|
300
378
|
}
|
|
379
|
+
function trackerBackedNativeReviewPairProblem(evidence, options) {
|
|
380
|
+
const architectThreadId = nativeReviewThreadId(evidence.ralplan_architect_review);
|
|
381
|
+
const criticThreadId = nativeReviewThreadId(evidence.ralplan_critic_review);
|
|
382
|
+
if (architectThreadId && criticThreadId && architectThreadId === criticThreadId) {
|
|
383
|
+
return 'architect and critic reviews must reference distinct native subagent tracker threads';
|
|
384
|
+
}
|
|
385
|
+
const transitionSessionId = typeof options.sessionId === 'string' ? options.sessionId.trim() : '';
|
|
386
|
+
const architectSessionId = transitionSessionId || nativeReviewSessionId(evidence.ralplan_architect_review);
|
|
387
|
+
const criticSessionId = transitionSessionId || nativeReviewSessionId(evidence.ralplan_critic_review);
|
|
388
|
+
if (!architectSessionId || !criticSessionId)
|
|
389
|
+
return null;
|
|
390
|
+
return architectSessionId === criticSessionId
|
|
391
|
+
? null
|
|
392
|
+
: `architect and critic reviews must resolve to the same native subagent tracker session; architect session_id=${architectSessionId}, critic session_id=${criticSessionId}`;
|
|
393
|
+
}
|
|
301
394
|
function isTrackerBackedNativeReview(review, agentRole, options) {
|
|
302
395
|
return trackerBackedNativeReviewProblem(review, agentRole, options) === null;
|
|
303
396
|
}
|
|
397
|
+
function nativeReviewSessionId(review) {
|
|
398
|
+
return typeof review?.session_id === 'string' ? review.session_id.trim() : '';
|
|
399
|
+
}
|
|
304
400
|
function trackerBackedNativeReviewProblem(review, agentRole, options) {
|
|
305
401
|
const issues = [];
|
|
306
402
|
if (!review)
|
|
@@ -316,18 +412,15 @@ function trackerBackedNativeReviewProblem(review, agentRole, options) {
|
|
|
316
412
|
: '';
|
|
317
413
|
const reviewSessionId = typeof review.session_id === 'string' ? review.session_id.trim() : '';
|
|
318
414
|
const threadId = typeof review.thread_id === 'string' ? review.thread_id.trim() : '';
|
|
319
|
-
const artifactPath = typeof review.artifact_path === 'string' ? review.artifact_path.trim() : '';
|
|
320
415
|
const trackerPath = typeof review.tracker_path === 'string' ? review.tracker_path.trim() : '';
|
|
321
416
|
if (!sessionId)
|
|
322
417
|
issues.push(`${agentRole} review cannot resolve session_id`);
|
|
323
|
-
if (
|
|
324
|
-
issues.push(`${agentRole} review session_id=${reviewSessionId
|
|
418
|
+
if (reviewSessionId && reviewSessionId !== sessionId)
|
|
419
|
+
issues.push(`${agentRole} review session_id=${reviewSessionId} does not match ${sessionId || 'missing'}`);
|
|
325
420
|
if (!threadId)
|
|
326
421
|
issues.push(`${agentRole} review missing thread_id`);
|
|
327
|
-
if (!
|
|
328
|
-
issues.push(`${agentRole} review
|
|
329
|
-
if (!trackerPath || !trackerPath.endsWith('subagent-tracking.json'))
|
|
330
|
-
issues.push(`${agentRole} review missing subagent-tracking.json tracker_path`);
|
|
422
|
+
if (trackerPath && !trackerPath.endsWith('subagent-tracking.json'))
|
|
423
|
+
issues.push(`${agentRole} review tracker_path=${trackerPath} is not subagent-tracking.json`);
|
|
331
424
|
const cwd = typeof options.cwd === 'string' ? options.cwd.trim() : '';
|
|
332
425
|
if (!cwd)
|
|
333
426
|
issues.push(`${agentRole} review cannot resolve cwd for tracker lookup`);
|
|
@@ -348,6 +441,9 @@ function trackerBackedNativeReviewProblem(review, agentRole, options) {
|
|
|
348
441
|
return `${agentRole} tracker thread ${threadId} is the session leader`;
|
|
349
442
|
if (thread.kind !== 'subagent')
|
|
350
443
|
return `${agentRole} tracker thread ${threadId} has kind=${String(thread.kind || 'missing')}`;
|
|
444
|
+
const completedAt = typeof thread.completed_at === 'string' ? thread.completed_at.trim() : '';
|
|
445
|
+
if (!completedAt)
|
|
446
|
+
return `${agentRole} tracker thread ${threadId} is not completed`;
|
|
351
447
|
return null;
|
|
352
448
|
}
|
|
353
449
|
function currentSessionNativeLeaderThreadId(cwd) {
|
|
@@ -399,6 +495,12 @@ function readLocalCurrentSessionIds(cwd) {
|
|
|
399
495
|
function localBaseStateDir(cwd) {
|
|
400
496
|
return join(resolveWorkingDirectoryForState(cwd), '.omx', 'state');
|
|
401
497
|
}
|
|
498
|
+
function sessionIdFromStateRoot(path) {
|
|
499
|
+
const normalized = path.replace(/\\/g, '/');
|
|
500
|
+
const match = /\/sessions\/([^/]+)$/.exec(normalized);
|
|
501
|
+
const sessionId = match?.[1];
|
|
502
|
+
return sessionId && validateLocalSessionId(sessionId).length > 0 ? sessionId : undefined;
|
|
503
|
+
}
|
|
402
504
|
function uniquePaths(paths) {
|
|
403
505
|
return [...new Set(paths)];
|
|
404
506
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consensus-gate.js","sourceRoot":"","sources":["../../src/ralplan/consensus-gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consensus-gate.js","sourceRoot":"","sources":["../../src/ralplan/consensus-gate.ts"],"names":[],"mappings":"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"}
|