aiwg
Version:
Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo
63 lines • 2.03 kB
TypeScript
/**
* Feedback Collector — structured feedback from validation/review cycles
*
* Collects feedback per agent, analyzes patterns, and proposes
* constraint updates for self-improving agent prompts.
*
* @module quality/feedback-collector
* @issue #146
*/
export interface FeedbackEntry {
id: string;
agent: string;
feedbackType: 'error' | 'improvement' | 'pattern' | 'regression';
description: string;
context: string;
severity: 'low' | 'medium' | 'high' | 'critical';
timestamp: string;
source: 'validation' | 'review' | 'test' | 'user' | 'auto';
}
export interface FeedbackPattern {
patternId: string;
agent: string;
description: string;
occurrences: number;
firstSeen: string;
lastSeen: string;
severity: FeedbackEntry['severity'];
suggestedConstraint: string;
feedbackIds: string[];
}
export interface ConstraintProposal {
agent: string;
version: number;
timestamp: string;
additions: string[];
modifications: Array<{
original: string;
proposed: string;
reason: string;
}>;
patterns: FeedbackPattern[];
status: 'proposed' | 'approved' | 'rejected' | 'applied';
}
export declare class FeedbackCollector {
private projectPath;
private entries;
private nextId;
constructor(projectPath: string);
record(agent: string, feedbackType: FeedbackEntry['feedbackType'], description: string, context: string, severity?: FeedbackEntry['severity'], source?: FeedbackEntry['source']): Promise<FeedbackEntry>;
getEntriesForAgent(agent: string): FeedbackEntry[];
getAllEntries(): FeedbackEntry[];
/**
* Analyze feedback for an agent and identify recurring patterns.
*/
analyzePatterns(agent: string): FeedbackPattern[];
/**
* Generate a constraint update proposal for an agent.
*/
proposeConstraintUpdate(agent: string): ConstraintProposal | null;
load(): Promise<void>;
private persistEntry;
}
//# sourceMappingURL=feedback-collector.d.ts.map