RFC-026: Human Feedback Signal — 2. Proposed Extension: FEEDBACK Message Type
AIGP Specification › RFC-026: Human Feedback Signal › 2. Proposed Extension: FEEDBACK Message Type
← 1. Problem Statement · Section index · 3. Evidence Storage →
2. Proposed Extension: FEEDBACK Message Type
2.1 New Message Type
{ "protocol_version": "2.0", "message_type": "FEEDBACK", "app_id": "identity-service", "request_id": "req-1718500000000", "session_id": "sess-abc456", "pseudonym_id": "usr-a7f3b2c1e9d0", "timestamp": "2026-06-17T09:30:00Z", "rating": "thumbs_down", "comment": "", "nlp": { "sentiment": -0.6, "specificity": 0.85, "topics": ["iam", "cross-account"], "expectation_gap": true, "severity_language": "medium" }, "context": { "user_query": "Review this inline policy for cross-account risks", "ai_response_snippet": "The policy grants sts:AssumeRole with Resource: * which..." }, "relationship": { "type": "FEEDBACK_ON", "parent_id": "req-1718500000000", "parent_ref": "s3://evidence-bucket/.../req-1718500000000.json.gz" }}2.2 Field Definitions
| Field | Type | Required | Description |
|---|---|---|---|
| message_type | string | Yes | Always "FEEDBACK" |
| app_id | string | Yes | Application that generated the AI response |
| request_id | string | Yes | ID of the invocation being rated |
| session_id | string | Yes | Session containing the invocation (RFC-010b) |
| pseudonym_id | string | Yes | Non-reversible user identifier (HMAC-derived) |
| timestamp | string | Yes | ISO 8601 UTC when feedback was given |
| rating | enum | Yes | "thumbs_up" or "thumbs_down" |
| comment | string | No | Optional user commentary (max 500 chars) |
| nlp | object | No | NLP analysis of comment (Tier 1 heuristics) |
| context | object | No | Snapshot of what was rated (for recall) |
| relationship | object | Yes | Parent-child linkage to the rated invocation |
2.3 Pseudonym ID
The pseudonym_id enables behavioral analysis without identifying the user:
pseudonym_id = "usr-" + HMAC-SHA256(user_email, app_secret)[:12]Properties:
- Stable: same user → same ID across sessions within the same app
- Non-reversible: governance server cannot resolve pseudonym → email
- App-scoped: different apps produce different pseudonym_ids (different secrets)
- Consent-compatible: user is never identified in the governance layer
2.4 NLP Analysis Object
Lightweight heuristic analysis of comment text (no LLM call required):
| Field | Type | Description |
|---|---|---|
| sentiment | float | -1.0 (frustrated) to 1.0 (positive) |
| specificity | float | 0.0 (vague) to 1.0 (precise technical detail) |
| topics | string[] | Extracted domain keywords |
| expectation_gap | boolean | True if “expected X but got Y” pattern detected |
| severity_language | enum | "low", "medium", "high" intensity |
← 1. Problem Statement · Section index · 3. Evidence Storage →