Clarify rank feedback source trace contract
This commit is contained in:
@@ -1005,13 +1005,14 @@ function compactBuildItems(items = []) {
|
||||
|
||||
function createHandoffContract({ ranked, provenance, decisionContext }) {
|
||||
const warnings = [];
|
||||
if (!provenance?.artifactId) warnings.push('missing source artifact id');
|
||||
if (!provenance?.originalPrompt) warnings.push('missing original prompt provenance');
|
||||
const expectsSourceTrace = Boolean(provenance?.artifactId || provenance?.conceptMapId || provenance?.snapshotTitle);
|
||||
if (!provenance?.artifactId && provenance?.originalPrompt) warnings.push('missing source artifact id');
|
||||
if (expectsSourceTrace && !provenance?.originalPrompt) warnings.push('missing original prompt provenance');
|
||||
|
||||
const itemTrace = ranked.map(item => {
|
||||
if (!item.provenance?.sourceSection) warnings.push(`missing source section for ${item.id}`);
|
||||
if (expectsSourceTrace && !item.provenance?.sourceSection) warnings.push(`missing source section for ${item.id}`);
|
||||
if (item.provenance?.idNormalized) warnings.push(`duplicate source id ${item.provenance.originalId} normalized to ${item.id}`);
|
||||
if (!item.factors?.evidenceNeeded && ['do', 'test'].includes(item.lane?.id)) warnings.push(`missing evidence needed for active item ${item.id}`);
|
||||
if (expectsSourceTrace && !item.factors?.evidenceNeeded && ['do', 'test'].includes(item.lane?.id)) warnings.push(`missing evidence needed for active item ${item.id}`);
|
||||
if (item.metrics?.nonGoalConflicts?.length && ['do', 'test'].includes(item.lane?.id)) warnings.push(`active item ${item.id} conflicts with source non-goals: ${item.metrics.nonGoalConflicts.join('; ')}`);
|
||||
return {
|
||||
id: item.id,
|
||||
@@ -1035,6 +1036,7 @@ function createHandoffContract({ ranked, provenance, decisionContext }) {
|
||||
snapshotTitle: provenance?.snapshotTitle || '',
|
||||
conceptMapId: provenance?.conceptMapId || '',
|
||||
hasOriginalPrompt: Boolean(provenance?.originalPrompt),
|
||||
requiresSourceTrace: expectsSourceTrace,
|
||||
},
|
||||
decisionContext: {
|
||||
targetAudience: decisionContext?.targetAudience || '',
|
||||
|
||||
Reference in New Issue
Block a user