Skip to content

RFC-026: Human Feedback Signal — 2. Proposed Extension: FEEDBACK Message Type

AIGP SpecificationRFC-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 →