Skip to content

Commit f86c6c9

Browse files
committed
fix(audit): resolve parts 1 & 2 audit findings across engine, security, ci, and models
1 parent 5253bc6 commit f86c6c9

100 files changed

Lines changed: 9587 additions & 734 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Local runtime databases & storage
2+
data/*.db*
3+
data/*.sqlite*
4+
data/backups/
5+
data/runtime/
6+
7+
# Dependencies and caches
8+
node_modules/
9+
.tmp/
10+
scratch/
11+
target/
12+
dist/
13+
coverage/
14+
15+
# Environment and secrets
16+
.env
17+
.env.*
18+
!.env.example
19+
credentials.json
20+
token.json
21+
*.pem
22+
*.key
23+
24+
# Git and logs
25+
.git/
26+
*.log
27+
28+
# Test and development artifacts
29+
test-results/
30+
playwright-report/
31+
audit_*.json
32+
audit_*.md
33+
test_permissions.txt

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
run: npm ci
6464

6565
- name: TypeScript Check
66-
run: npx tsc --noEmit
66+
run: npx tsc -b
6767

6868
- name: Lint
6969
run: npm run lint

.github/workflows/deploy-image.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
- name: Setup Node.js
6464
uses: actions/setup-node@v4
6565
with:
66-
node-version: '20'
66+
node-version: '22'
6767
cache: 'npm'
6868

6969
- name: Build Frontend
@@ -80,11 +80,9 @@ jobs:
8080
workspaces: server-rs
8181

8282
- name: Build Rust Backend
83-
env:
84-
PROTOC: /usr/bin/protoc
8583
run: |
8684
cd server-rs
87-
cargo build --release
85+
cargo build --release --locked
8886
8987
- name: Create Release Tarball
9088
run: |

.github/workflows/release.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@ jobs:
2323
with:
2424
node-version: '22'
2525

26-
- name: Compile Backend Release
26+
- name: Test & Compile Backend Release
2727
run: |
2828
cd server-rs
29-
cargo build --release
29+
cargo test --locked
30+
cargo build --release --locked
3031
3132
- name: Generate Rust SBOM
3233
uses: anchore/sbom-action@v0
@@ -35,9 +36,10 @@ jobs:
3536
format: 'spdx-json'
3637
output-file: 'sbom-rust.json'
3738

38-
- name: Build Frontend
39+
- name: Test & Build Frontend
3940
run: |
40-
npm install
41+
npm ci
42+
npm run test
4143
npm run build
4244
4345
- name: Generate Frontend SBOM

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ coverage/
5454
reports/
5555
audit_full_report.*
5656
audit_production_report.md
57+
test_permissions.txt
58+
server-rs/src/scratch_*.rs
5759
sidecar_panic.log
5860
server-rs/errors.txt
5961
server-rs/logs.txt

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# --- Stage 1: Build the React Frontend ---
2-
FROM node:20-slim AS frontend-builder
2+
FROM node:22-slim AS frontend-builder
33

44
WORKDIR /usr/src/app
55

audit_full_report.json

-20.3 KB
Binary file not shown.

audit_full_report.md

Lines changed: 0 additions & 403 deletions
This file was deleted.

audit_production_report.md

Lines changed: 0 additions & 15 deletions
This file was deleted.

data/agents.json

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,10 @@
121121
"role": "Product Lead",
122122
"department": "Product",
123123
"description": "Product strategy and user-centric architecture lead.",
124-
"model": "Claude Opus 4.5",
124+
"model": "Claude 3.7 Sonnet",
125125
"model_config": {
126126
"provider": "anthropic",
127-
"modelId": "claude-3-opus-20240229"
127+
"modelId": "claude-3-7-sonnet"
128128
},
129129
"theme_color": "#4fd1c5",
130130
"skills": [
@@ -142,10 +142,10 @@
142142
"role": "DevOps",
143143
"department": "Engineering",
144144
"description": "Cloud infrastructure and CI/CD automation lead.",
145-
"model": "Gemini 3 Flash",
145+
"model": "Gemini 2.5 Flash",
146146
"model_config": {
147147
"provider": "google",
148-
"modelId": "gemini-1.5-flash"
148+
"modelId": "gemini-2.5-flash"
149149
},
150150
"theme_color": "#4fd1c5",
151151
"skills": [
@@ -163,7 +163,7 @@
163163
"role": "Backend Dev",
164164
"department": "Engineering",
165165
"description": "Core backend developer and API architect.",
166-
"model": "DeepSeek V3.2",
166+
"model": "DeepSeek V3",
167167
"model_config": {
168168
"provider": "deepseek",
169169
"modelId": "deepseek-v3"
@@ -187,10 +187,10 @@
187187
"role": "Design Lead",
188188
"department": "Product",
189189
"description": "Visual identity and design system curator.",
190-
"model": "Gemini 3 Pro",
190+
"model": "Gemini 2.5 Pro",
191191
"model_config": {
192192
"provider": "google",
193-
"modelId": "gemini-1.5-pro"
193+
"modelId": "gemini-2.5-pro"
194194
},
195195
"theme_color": "#4fd1c5",
196196
"skills": [
@@ -208,7 +208,7 @@
208208
"role": "Support Lead",
209209
"department": "Operations",
210210
"description": "Customer success and incident triage lead.",
211-
"model": "o4-mini",
211+
"model": "GPT-4o Mini",
212212
"model_config": {
213213
"provider": "openai",
214214
"modelId": "gpt-4o-mini"
@@ -229,7 +229,7 @@
229229
"role": "Backend Dev",
230230
"department": "Engineering",
231231
"description": "Backend specialist focused on database scaling.",
232-
"model": "GPT-5.3 Codex",
232+
"model": "GPT-4o",
233233
"model_config": {
234234
"provider": "openai",
235235
"modelId": "gpt-4o"
@@ -248,10 +248,10 @@
248248
"role": "Security Auditor",
249249
"department": "Engineering",
250250
"description": "Vulnerability research and security hardening specialist.",
251-
"model": "Claude Sonnet 4.5",
251+
"model": "Claude 3.7 Sonnet",
252252
"model_config": {
253253
"provider": "anthropic",
254-
"modelId": "claude-3-5-sonnet-20240620"
254+
"modelId": "claude-3-7-sonnet"
255255
},
256256
"theme_color": "#4fd1c5",
257257
"skills": [
@@ -267,10 +267,10 @@
267267
"role": "DevOps",
268268
"department": "Engineering",
269269
"description": "Infrastructure operations and cluster scaling specialist.",
270-
"model": "Gemini 3 Flash",
270+
"model": "Gemini 2.5 Flash",
271271
"model_config": {
272272
"provider": "google",
273-
"modelId": "gemini-1.5-flash"
273+
"modelId": "gemini-2.5-flash"
274274
},
275275
"theme_color": "#4fd1c5",
276276
"skills": [
@@ -286,7 +286,7 @@
286286
"role": "Product Manager",
287287
"department": "Product",
288288
"description": "Product roadmap and feature prioritization specialist.",
289-
"model": "GPT-5.2",
289+
"model": "GPT-4o",
290290
"model_config": {
291291
"provider": "openai",
292292
"modelId": "gpt-4o"
@@ -305,10 +305,10 @@
305305
"role": "Designer",
306306
"department": "Product",
307307
"description": "UI/UX designer and asset generation specialist.",
308-
"model": "Gemini 3 Pro",
308+
"model": "Gemini 2.5 Pro",
309309
"model_config": {
310310
"provider": "google",
311-
"modelId": "gemini-1.5-pro"
311+
"modelId": "gemini-2.5-pro"
312312
},
313313
"theme_color": "#4fd1c5",
314314
"skills": [
@@ -334,7 +334,7 @@
334334
"market_research"
335335
],
336336
"workflows": [
337-
"User Feedback Analysis"
337+
"user_feedback_analysis"
338338
]
339339
},
340340
{
@@ -343,10 +343,10 @@
343343
"role": "Copywriter",
344344
"department": "Marketing",
345345
"description": "Creative copywriter and content strategist.",
346-
"model": "Claude Sonnet 4",
346+
"model": "Claude 3.7 Sonnet",
347347
"model_config": {
348348
"provider": "anthropic",
349-
"modelId": "claude-3-5-sonnet-20240620"
349+
"modelId": "claude-3-7-sonnet"
350350
},
351351
"theme_color": "#4fd1c5",
352352
"skills": [
@@ -362,10 +362,10 @@
362362
"role": "Social Media",
363363
"department": "Marketing",
364364
"description": "Social media engagement and community manager.",
365-
"model": "Grok 4.1",
365+
"model": "Grok Beta",
366366
"model_config": {
367367
"provider": "xai",
368-
"modelId": "grok-1"
368+
"modelId": "grok-beta"
369369
},
370370
"theme_color": "#4fd1c5",
371371
"skills": [
@@ -381,7 +381,7 @@
381381
"role": "SEO Specialist",
382382
"department": "Marketing",
383383
"description": "Search engine optimization and performance marketing lead.",
384-
"model": "GPT-5.2",
384+
"model": "GPT-4o",
385385
"model_config": {
386386
"provider": "openai",
387387
"modelId": "gpt-4o"
@@ -400,7 +400,7 @@
400400
"role": "Sales Rep",
401401
"department": "Sales",
402402
"description": "Sales development representative and lead qualification specialist.",
403-
"model": "o4-mini",
403+
"model": "GPT-4o Mini",
404404
"model_config": {
405405
"provider": "openai",
406406
"modelId": "gpt-4o-mini"
@@ -419,7 +419,7 @@
419419
"role": "Sales Rep",
420420
"department": "Sales",
421421
"description": "Sales development representative and outreach specialist.",
422-
"model": "o4-mini",
422+
"model": "GPT-4o Mini",
423423
"model_config": {
424424
"provider": "openai",
425425
"modelId": "gpt-4o-mini"
@@ -438,10 +438,10 @@
438438
"role": "HR Manager",
439439
"department": "Operations",
440440
"description": "Human resources and organizational health specialist.",
441-
"model": "Claude Sonnet 4",
441+
"model": "Claude 3.7 Sonnet",
442442
"model_config": {
443443
"provider": "anthropic",
444-
"modelId": "claude-3-5-sonnet-20240620"
444+
"modelId": "claude-3-7-sonnet"
445445
},
446446
"theme_color": "#4fd1c5",
447447
"skills": [
@@ -457,7 +457,7 @@
457457
"role": "Finance Analyst",
458458
"department": "Operations",
459459
"description": "Financial analyst and burn rate forecasting specialist.",
460-
"model": "GPT-5.2",
460+
"model": "GPT-4o",
461461
"model_config": {
462462
"provider": "openai",
463463
"modelId": "gpt-4o"
@@ -476,10 +476,10 @@
476476
"role": "Legal Advisor",
477477
"department": "Operations",
478478
"description": "Legal counsel and risk mitigation specialist.",
479-
"model": "Claude Opus 4.5",
479+
"model": "Claude 3.7 Sonnet",
480480
"model_config": {
481481
"provider": "anthropic",
482-
"modelId": "claude-3-opus-20240229"
482+
"modelId": "claude-3-7-sonnet"
483483
},
484484
"theme_color": "#4fd1c5",
485485
"skills": [
@@ -495,7 +495,7 @@
495495
"role": "Support Agent",
496496
"department": "Operations",
497497
"description": "Customer support and technical troubleshooting agent.",
498-
"model": "Qwen 3",
498+
"model": "Qwen 2.5 Max",
499499
"model_config": {
500500
"provider": "alibaba",
501501
"modelId": "qwen-max"
@@ -514,10 +514,10 @@
514514
"role": "Quality Auditor",
515515
"department": "Quality Assurance",
516516
"description": "System robustness and compliance verification lead.",
517-
"model": "Claude Sonnet 4.5",
517+
"model": "Claude 3.7 Sonnet",
518518
"model_config": {
519519
"provider": "anthropic",
520-
"modelId": "claude-3-5-sonnet-20240620"
520+
"modelId": "claude-3-7-sonnet"
521521
},
522522
"theme_color": "#4fd1c5",
523523
"skills": [
@@ -547,7 +547,7 @@
547547
"verify_telemetry"
548548
],
549549
"workflows": [
550-
"Mission Analysis"
550+
"mission_analysis"
551551
]
552552
}
553-
]
553+
]

0 commit comments

Comments
 (0)