reasoning: require structural progress for supported meaning
This commit is contained in:
@@ -92,7 +92,7 @@ The JSON object must contain exactly these top-level fields:
|
||||
3. Reference existing node IDs when updating an existing concept.
|
||||
4. Use addedNodes only for genuinely new concepts.
|
||||
5. Resolve the answered unknown first when the answer supports it.
|
||||
6. Then inspect the answer for newly introduced consequential uncertainty.
|
||||
6. If answerMeaning.userSupportedMeaning contains consequential information or unresolved uncertainty that is not already represented in the graph, you MUST express its effect through structural mutation. This may be an update/refinement of existing structure, resolution of an existing unknown, a genuinely new unknown, or a justified relationship. answerMeaning alone is not sufficient for a successful proposal.
|
||||
7. Add new unknown nodes only when the answer introduces a new decision, claim, object, measure, dependency, or unresolved term directly relevant to the case.
|
||||
8. Add at most 3 new unknown nodes.
|
||||
9. Every new unknown must be directly traceable to the user's answer and its description must state why that uncertainty matters.
|
||||
|
||||
+9
-1
@@ -881,7 +881,15 @@ export function validateGraphUpdate(graph, update) {
|
||||
update.removedEdgeIds.length > 0;
|
||||
|
||||
if (!hasMeaningfulChange) {
|
||||
errors.push("Update contains no meaningful change");
|
||||
// Specific diagnostic for the semantic-only no-op case: populated userSupportedMeaning with zero structural mutation.
|
||||
// The validator does NOT determine whether meaning is "new" or "consequential" — it only observes that meaning exists without structural expression.
|
||||
if (update.answerMeaning?.userSupportedMeaning) {
|
||||
errors.push(
|
||||
"answerMeaning.userSupportedMeaning is populated, but the proposal contains no graph mutation. answerMeaning alone does not constitute graph progress.",
|
||||
);
|
||||
} else {
|
||||
errors.push("Update contains no meaningful change");
|
||||
}
|
||||
}
|
||||
|
||||
// Reject oversized input
|
||||
|
||||
Reference in New Issue
Block a user