agentxchain 2.155.54 → 2.155.55
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
|
@@ -498,7 +498,7 @@ function renderPrompt(role, roleId, turn, state, config, root) {
|
|
|
498
498
|
lines.push('- `files_changed`: **REQUIRED** array of **strings** (file paths only). Do NOT use `files_modified` — the field name is `files_changed`. Do NOT use objects like `{path, change_type}` — just the path string (e.g. `["src/cli.js", "tests/smoke.mjs"]`).');
|
|
499
499
|
lines.push('- `proposed_next_role`: **REQUIRED**. Must be in allowed_next_roles for the current phase, or `"human"`.');
|
|
500
500
|
lines.push('- `decisions[].id`: pattern `DEC-NNN` where NNN is digits only (e.g. `DEC-001`, `DEC-002`). Do NOT use `D1`, `D2`, or freeform IDs.');
|
|
501
|
-
lines.push('- `decisions[].statement`: non-empty string describing the decision. Do NOT use `decision` or `
|
|
501
|
+
lines.push('- `decisions[].statement`: non-empty string describing the decision. Do NOT use `decision`, `description`, or `summary` as the field name — the field is `statement`.');
|
|
502
502
|
lines.push('- `decisions[].rationale`: REQUIRED non-empty string explaining why the decision was made. Do NOT omit this field.');
|
|
503
503
|
lines.push('- `decisions[].category`: one of `implementation`, `architecture`, `scope`, `process`, `quality`, `release`');
|
|
504
504
|
lines.push('- `objections[].id`: pattern `OBJ-NNN` where NNN is digits only (e.g. `OBJ-001`, `OBJ-002`). Do NOT append extra suffixes like `-M31` or use non-numeric characters after `OBJ-`.');
|
|
@@ -1213,13 +1213,15 @@ export function normalizeTurnResult(tr, config, context = {}) {
|
|
|
1213
1213
|
patched = { ...patched, id: normalizedDecId };
|
|
1214
1214
|
}
|
|
1215
1215
|
|
|
1216
|
-
// Normalize missing statement from decision
|
|
1216
|
+
// Normalize missing statement from unambiguous decision text fields.
|
|
1217
1217
|
const stmt = typeof patched.statement === 'string' ? patched.statement.trim() : '';
|
|
1218
1218
|
if (!stmt) {
|
|
1219
1219
|
const alt = typeof patched.decision === 'string' ? patched.decision.trim()
|
|
1220
|
-
: typeof patched.description === 'string' ? patched.description.trim()
|
|
1220
|
+
: typeof patched.description === 'string' ? patched.description.trim()
|
|
1221
|
+
: typeof patched.summary === 'string' ? patched.summary.trim() : '';
|
|
1221
1222
|
if (alt) {
|
|
1222
|
-
const srcField = typeof patched.decision === 'string' && patched.decision.trim() ? 'decision'
|
|
1223
|
+
const srcField = typeof patched.decision === 'string' && patched.decision.trim() ? 'decision'
|
|
1224
|
+
: typeof patched.description === 'string' && patched.description.trim() ? 'description' : 'summary';
|
|
1223
1225
|
corrections.push(`decisions[${index}].statement: copied from ${srcField}`);
|
|
1224
1226
|
normalizationEvents.push({
|
|
1225
1227
|
field: `decisions[${index}].statement`,
|