chore: Cleanup QA reports and improve setup scripts
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

Scripts:
- common.sh: Fix select_option to use /dev/tty for interactive prompts
- common.sh: Improve check_docker with detailed error messages
- setup.sh: Add Traefik configuration options
- setup.sh: Add argument validation for --mode, --external-authentik, etc.
- setup.sh: Add fun taglines

QA Reports:
- Remove stale remediation reports
- Keep current pending reports

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-31 22:53:47 -06:00
parent cb0948214e
commit e63c19d158
42 changed files with 1764 additions and 759 deletions

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/brain.controller.test.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:35:17
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-brain.controller.test.ts_20260131-1535_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/brain.controller.test.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 2
**Generated:** 2026-01-31 15:35:20
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-brain.controller.test.ts_20260131-1535_2_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/brain.controller.test.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 3
**Generated:** 2026-01-31 15:35:23
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-brain.controller.test.ts_20260131-1535_3_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/brain.controller.test.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 4
**Generated:** 2026-01-31 15:35:34
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-brain.controller.test.ts_20260131-1535_4_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/brain.controller.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:34:44
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-brain.controller.ts_20260131-1534_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/brain.controller.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 2
**Generated:** 2026-01-31 15:34:46
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-brain.controller.ts_20260131-1534_2_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/brain.controller.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 3
**Generated:** 2026-01-31 15:34:53
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-brain.controller.ts_20260131-1534_3_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/brain.module.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:35:02
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-brain.module.ts_20260131-1535_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/dto/index.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:34:38
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-dto-index.ts_20260131-1534_1_remediation_needed.md"
```

View File

@@ -1,10 +1,10 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/dto/intent-classification.dto.ts
**Tool Used:** Write
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:34:33
**Generated:** 2026-01-31 16:48:58
## Status
@@ -16,5 +16,5 @@ This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-dto-intent-classification.dto.ts_20260131-1534_1_remediation_needed.md"
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-dto-intent-classification.dto.ts_20260131-1648_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.spec.ts
**Tool Used:** Write
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:32:02
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.spec.ts_20260131-1532_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.spec.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:33:26
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.spec.ts_20260131-1533_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.spec.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 2
**Generated:** 2026-01-31 15:33:30
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.spec.ts_20260131-1533_2_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.spec.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:34:04
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.spec.ts_20260131-1534_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Write
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:33:06
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1533_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 2
**Generated:** 2026-01-31 15:33:50
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1533_2_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 3
**Generated:** 2026-01-31 15:33:55
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1533_3_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:34:21
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1534_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:37:35
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1537_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 2
**Generated:** 2026-01-31 15:37:45
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1537_2_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:38:00
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1538_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 2
**Generated:** 2026-01-31 15:38:05
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1538_2_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 4
**Generated:** 2026-01-31 15:38:18
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1538_4_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 5
**Generated:** 2026-01-31 15:38:58
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1538_5_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:39:05
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1539_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 2
**Generated:** 2026-01-31 15:39:10
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1539_2_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 3
**Generated:** 2026-01-31 15:39:37
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1539_3_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 4
**Generated:** 2026-01-31 15:39:41
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1539_4_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 5
**Generated:** 2026-01-31 15:39:43
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1539_5_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/intent-classification.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:40:31
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1540_1_remediation_needed.md"
```

View File

@@ -4,7 +4,7 @@
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:36:27
**Generated:** 2026-01-31 16:49:04
## Status
@@ -16,5 +16,5 @@ This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1536_1_remediation_needed.md"
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1649_1_remediation_needed.md"
```

View File

@@ -4,7 +4,7 @@
**Tool Used:** Edit
**Epic:** general
**Iteration:** 2
**Generated:** 2026-01-31 15:36:34
**Generated:** 2026-01-31 16:49:18
## Status
@@ -16,5 +16,5 @@ This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1536_2_remediation_needed.md"
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1649_2_remediation_needed.md"
```

View File

@@ -4,7 +4,7 @@
**Tool Used:** Edit
**Epic:** general
**Iteration:** 3
**Generated:** 2026-01-31 15:38:11
**Generated:** 2026-01-31 16:49:50
## Status
@@ -16,5 +16,5 @@ This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1538_3_remediation_needed.md"
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-intent-classification.service.ts_20260131-1649_3_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/interfaces/index.ts
**Tool Used:** Write
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:31:08
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-interfaces-index.ts_20260131-1531_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/brain/interfaces/intent.interface.ts
**Tool Used:** Write
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:31:07
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-brain-interfaces-intent.interface.ts_20260131-1531_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/llm/llm-provider-admin.controller.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 14:59:32
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-llm-llm-provider-admin.controller.ts_20260131-1459_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/llm/llm-provider-admin.controller.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 2
**Generated:** 2026-01-31 14:59:42
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-llm-llm-provider-admin.controller.ts_20260131-1459_2_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/llm/llm-provider-admin.controller.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 3
**Generated:** 2026-01-31 14:59:48
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-llm-llm-provider-admin.controller.ts_20260131-1459_3_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/token-budget/token-budget.service.spec.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:00:38
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-token-budget-token-budget.service.spec.ts_20260131-1500_1_remediation_needed.md"
```

View File

@@ -1,20 +0,0 @@
# QA Remediation Report
**File:** /home/jwoltje/src/mosaic-stack/apps/api/src/token-budget/token-budget.service.ts
**Tool Used:** Edit
**Epic:** general
**Iteration:** 1
**Generated:** 2026-01-31 15:00:02
## Status
Pending QA validation
## Next Steps
This report was created by the QA automation hook.
To process this report, run:
```bash
claude -p "Use Task tool to launch universal-qa-agent for report: /home/jwoltje/src/mosaic-stack/docs/reports/qa-automation/pending/home-jwoltje-src-mosaic-stack-apps-api-src-token-budget-token-budget.service.ts_20260131-1500_1_remediation_needed.md"
```

View File

@@ -20,7 +20,7 @@ else
GREEN=''
YELLOW=''
BLUE=''
CYAN='\033[0;36m'
CYAN=''
BOLD=''
NC=''
fi
@@ -91,22 +91,24 @@ select_option() {
local options=("$@")
local num_options=${#options[@]}
echo "$prompt"
# Output UI to /dev/tty so it's visible even when function output is captured
echo "$prompt" >/dev/tty
for i in "${!options[@]}"; do
printf " %d) %s\n" "$((i + 1))" "${options[$i]}"
printf " %d) %s\n" "$((i + 1))" "${options[$i]}" >/dev/tty
done
echo ""
echo "" >/dev/tty
local selection
while true; do
read -r -p "Enter selection [1-$num_options]: " selection
read -r -p "Enter selection [1-$num_options]: " selection </dev/tty >/dev/tty
if [[ "$selection" =~ ^[0-9]+$ ]] && \
[ "$selection" -ge 1 ] && \
[ "$selection" -le "$num_options" ]; then
# Only output the selected value to stdout (for capture)
echo "${options[$((selection - 1))]}"
return 0
else
print_error "Invalid selection. Please enter a number between 1 and $num_options."
print_error "Invalid selection. Please enter a number between 1 and $num_options." >/dev/tty
fi
done
}
@@ -204,7 +206,34 @@ check_command() {
}
check_docker() {
check_command docker && docker info >/dev/null 2>&1
if ! check_command docker; then
return 1
fi
# Check if daemon is accessible
if docker info >/dev/null 2>&1; then
return 0
fi
# Docker exists but daemon not accessible
# This could be permission issue or daemon not running
local error_msg
error_msg=$(docker info 2>&1)
if [[ "$error_msg" =~ "permission denied" ]]; then
print_warning "Docker installed but permission denied"
print_info "You may need to add your user to the docker group:"
print_info " sudo usermod -aG docker \$USER"
print_info " Then log out and back in"
return 2 # Special code for permission issue
elif [[ "$error_msg" =~ "Cannot connect to the Docker daemon" ]]; then
print_warning "Docker installed but daemon not running"
print_info "Start it with: sudo systemctl start docker"
return 3 # Special code for daemon not running
else
print_warning "Docker installed but not accessible"
return 4 # Unknown issue
fi
}
check_docker_compose() {
@@ -316,16 +345,17 @@ install_package() {
case "$pkg_manager" in
apt)
sudo apt update && sudo apt install -y "$package"
# Don't quote $package to allow multi-word package names
sudo apt update && sudo apt install -y $package
;;
pacman)
sudo pacman -Sy --noconfirm "$package"
sudo pacman -Sy --noconfirm $package
;;
dnf)
sudo dnf install -y "$package"
sudo dnf install -y $package
;;
brew)
brew install "$package"
brew install $package
;;
*)
print_error "Unknown package manager: $pkg_manager"
@@ -367,13 +397,34 @@ validate_port() {
validate_domain() {
local domain="$1"
if [[ "$domain" =~ ^[a-zA-Z0-9][a-zA-Z0-9.-]{0,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}$ ]]; then
# Allow single-character subdomains and properly validate domain structure
if [[ "$domain" =~ ^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$ ]]; then
return 0
else
return 1
fi
}
validate_ipv4() {
local ip="$1"
local IFS='.'
local -a octets
read -ra octets <<< "$ip"
# Must have exactly 4 octets
[[ ${#octets[@]} -eq 4 ]] || return 1
# Each octet must be 0-255
for octet in "${octets[@]}"; do
# Must be numeric
[[ "$octet" =~ ^[0-9]+$ ]] || return 1
# Must be in range 0-255
(( octet >= 0 && octet <= 255 )) || return 1
done
return 0
}
# ============================================================================
# Secret and Password Generation
# ============================================================================
@@ -407,7 +458,7 @@ is_placeholder() {
# Check for common placeholder patterns
if [[ "$value" =~ ^\$\{.*\}$ ]] || \
[[ "$value" =~ ^(change-me|changeme|your-.*|example|placeholder|TODO|FIXME|xxx+)$ ]] || \
[[ "$value" =~ ^<.*>$ ]] || \
[[ "$value" =~ ^\<.*\>$ ]] || \
[[ -z "$value" ]]; then
return 0
else

File diff suppressed because it is too large Load Diff