Pilot Feedback Collection Setup Guide
Document Version: 1.0.0 Created: January 18, 2026 Task ID: N.2.5 (CP-25) Author: Infrastructure Team
Overview
The feedback collection system enables pilot customers to submit bug reports, feature requests, performance issues, and general feedback through a REST API. All feedback is stored in PostgreSQL with multi-tenant isolation.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ Feedback Collection Flow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────────┐ ┌─────────────┐ │
│ │ Web App │ │ │ │ │ │
│ │ CLI Tool │────▶│ Feedback API │────▶│ PostgreSQL │ │
│ │ IDE Plugin │ │ /api/v1/feedback│ │ (Multi-tenant)│ │
│ │ Email │ │ │ │ │ │
│ └──────────────┘ └──────────────────┘ └─────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ GitHub Issues│ (Optional Integration) │
│ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
API Endpoints
Base URL: https://api.coditect.ai/api/v1/
| Endpoint | Method | Description |
|---|---|---|
/feedback/ | GET | List feedback (filtered by tenant) |
/feedback/ | POST | Submit new feedback |
/feedback/{id}/ | GET | Get feedback details |
/feedback/{id}/ | PATCH | Update feedback |
/feedback/{id}/vote/ | POST | Vote for feedback |
/feedback/{id}/vote/ | DELETE | Remove vote |
/feedback/stats/ | GET | Get feedback statistics |
/feedback/{id}/acknowledge/ | POST | Acknowledge feedback (admin) |
/feedback/{id}/respond/ | POST | Respond to feedback (admin) |
/feedback/{id}/complete/ | POST | Mark as completed (admin) |
Feedback Types
| Type | Code | Description |
|---|---|---|
| Bug Report | bug | Software defects, errors |
| Feature Request | feature | New functionality requests |
| Performance Issue | performance | Speed, latency, resource issues |
| Documentation | docs | Documentation improvements |
| User Experience | ux | UI/UX feedback |
| Other | other | General feedback |
Priority Levels
| Priority | Code | Response SLA |
|---|---|---|
| Low | low | 5 business days |
| Medium | medium | 3 business days |
| High | high | 1 business day |
| Urgent | urgent | 4 hours |
Status Workflow
NEW → ACKNOWLEDGED → IN_REVIEW → PLANNED → IN_PROGRESS → COMPLETED
↘ DECLINED
↘ DUPLICATE
Data Model
Feedback Table
| Field | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
tenant_id | UUID | Tenant for multi-tenant isolation |
type | varchar(20) | Feedback type |
summary | varchar(255) | Brief summary |
description | text | Full description |
priority | varchar(20) | Priority level |
status | varchar(20) | Current status |
submitted_by | UUID | User who submitted (nullable) |
submitter_email | varchar | Email for anonymous |
source | varchar(20) | Submission source |
context | jsonb | Additional context data |
tags | jsonb | Categorization tags |
rating | int | Optional 1-5 rating |
github_issue_url | varchar | Linked GitHub issue |
public_response | text | Response to submitter |
created_at | timestamp | Submission time |
completed_at | timestamp | Completion time |
Indexes
(tenant_id, status)- Filter by tenant and status(tenant_id, type)- Filter by tenant and type(status, priority)- Priority queue(created_at)- Chronological listing
Usage Examples
Submit Feedback (Authenticated)
curl -X POST https://api.coditect.ai/api/v1/feedback/ \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"feedback_type": "bug",
"summary": "Login fails with SAML SSO",
"description": "When attempting to login with our SAML provider...",
"priority": "high",
"source": "web_app",
"context": {
"browser": "Chrome 120",
"os": "macOS 14.2"
}
}'
Submit Feedback (Anonymous)
curl -X POST https://api.coditect.ai/api/v1/feedback/ \
-H "Content-Type: application/json" \
-d '{
"feedback_type": "feature",
"summary": "Add dark mode support",
"description": "Please add a dark mode option...",
"submitter_email": "user@example.com",
"submitter_name": "John Doe"
}'
Get Feedback Statistics
curl https://api.coditect.ai/api/v1/feedback/stats/ \
-H "Authorization: Bearer $TOKEN"
Response:
{
"total": 45,
"by_type": {
"bug": 15,
"feature": 20,
"performance": 5,
"other": 5
},
"by_status": {
"new": 10,
"acknowledged": 15,
"in_progress": 12,
"completed": 8
},
"avg_response_time_hours": 4.5,
"open_count": 37,
"resolved_count": 8
}
Admin Interface
Access the Django admin at https://admin.coditect.ai/admin/feedback/ to:
- View all feedback with filters
- Update status and priority
- Assign team members
- Add internal notes
- Link to GitHub issues
- Respond to submitters
Deployment
Apply Migrations
cd backend
source .venv/bin/activate
python manage.py makemigrations feedback
python manage.py migrate
Verify Installation
# Check feedback app is registered
python manage.py check feedback
# Verify API endpoints
curl http://localhost:8000/api/v1/feedback/
GitHub Integration (Optional)
To automatically create GitHub issues from high-priority feedback:
- Configure GitHub token in Secret Manager
- Enable webhook in settings
- High/Urgent priority feedback auto-creates issues
Related Documents
Status: Implemented Task ID: CP-25 (N.2.5) Last Updated: January 18, 2026