WIP: feat: first simple codex integration #4

Draft
addison wants to merge 44 commits from feat/codex-app-server-simple-integration into main
Owner

First simple integration with codex app-server. One codex conversation per websocket connection.

First simple integration with `codex app-server`. One codex conversation per websocket connection.
docs: record codex app-server integration decisions
All checks were successful
PR Build / backend (pull_request) Successful in 54s
PR Build / android (pull_request) Successful in 6m25s
bc49bcb9d6
Amp-Thread-ID: https://ampcode.com/threads/T-019d2e5f-25a3-7300-a2aa-1f226ff9c030
Co-authored-by: Amp <amp@ampcode.com>
addison changed title from feat: first simple codex integration to WIP: feat: first simple codex integration 2026-03-27 04:28:37 -04:00

Build Successful

Commit: bc49bcb
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `bc49bcb` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1138/artifacts/arthur-debug-apk)
Amp-Thread-ID: https://ampcode.com/threads/T-019d2e69-6465-746b-8ce0-80adda86fcb5
Co-authored-by: Amp <amp@ampcode.com>
test(server): cover codex fallback and error speech behavior
All checks were successful
PR Build / backend (pull_request) Successful in 47s
PR Build / android (pull_request) Successful in 8m32s
906344a076
Amp-Thread-ID: https://ampcode.com/threads/T-019d2e69-6465-746b-8ce0-80adda86fcb5
Co-authored-by: Amp <amp@ampcode.com>
feat(server): force codex model to gpt-5.4-mini
All checks were successful
PR Build / backend (pull_request) Successful in 1m0s
PR Build / android (pull_request) Successful in 10m50s
d65afb8a9c
Amp-Thread-ID: https://ampcode.com/threads/T-019d2e69-6465-746b-8ce0-80adda86fcb5
Co-authored-by: Amp <amp@ampcode.com>
feat(server): set Arthur developer instructions for codex turns
All checks were successful
PR Build / backend (pull_request) Successful in 1m21s
PR Build / android (pull_request) Successful in 10m6s
081f78da06
Amp-Thread-ID: https://ampcode.com/threads/T-019d2e69-6465-746b-8ce0-80adda86fcb5
Co-authored-by: Amp <amp@ampcode.com>
feat(server): fail codex startup if workspace setup is invalid
All checks were successful
PR Build / backend (pull_request) Successful in 1m16s
PR Build / android (pull_request) Successful in 9m25s
0f199a8b24
Amp-Thread-ID: https://ampcode.com/threads/T-019d2e69-6465-746b-8ce0-80adda86fcb5
Co-authored-by: Amp <amp@ampcode.com>

Build Successful

Commit: 906344a
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `906344a` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1139/artifacts/arthur-debug-apk)

Build Successful

Commit: d65afb8
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `d65afb8` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1140/artifacts/arthur-debug-apk)

Build Successful

Commit: 081f78d
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `081f78d` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1141/artifacts/arthur-debug-apk)

Build Successful

Commit: 0f199a8
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `0f199a8` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1142/artifacts/arthur-debug-apk)
feat: improve system prompt and workspace handling
Some checks failed
PR Build / backend (pull_request) Failing after 52s
PR Build / android (pull_request) Successful in 6m28s
d3d7148070

Build Successful

Commit: d3d7148
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `d3d7148` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1143/artifacts/arthur-debug-apk)
fix(server): thread codex workspace into websocket startup
All checks were successful
PR Build / backend (pull_request) Successful in 45s
PR Build / android (pull_request) Successful in 7m10s
7f63ee0aab
fix(server): strengthen arthur identity prompt
All checks were successful
PR Build / backend (pull_request) Successful in 1m5s
PR Build / android (pull_request) Successful in 8m59s
8e7ae8dde5
fix(server): use model instructions file for codex
All checks were successful
PR Build / backend (pull_request) Successful in 1m22s
PR Build / android (pull_request) Successful in 8m50s
8e33df92d8

Build Successful

Commit: 7f63ee0
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `7f63ee0` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1144/artifacts/arthur-debug-apk)

Build Successful

Commit: 8e7ae8d
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `8e7ae8d` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1145/artifacts/arthur-debug-apk)

Build Successful

Commit: 8e33df9
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `8e33df9` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1146/artifacts/arthur-debug-apk)
fix(server): add ambient-baseline speech detection
All checks were successful
PR Build / backend (pull_request) Successful in 45s
PR Build / android (pull_request) Successful in 6m57s
99aaf6689f
fix(android): add sound graph and speakerphone toggle
All checks were successful
PR Build / backend (pull_request) Successful in 54s
PR Build / android (pull_request) Successful in 7m3s
b12ee18930

Build Successful

Commit: 99aaf66
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `99aaf66` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1147/artifacts/arthur-debug-apk)
fix(server): tolerate noisy ambient speech
Some checks failed
PR Build / backend (pull_request) Successful in 1m4s
PR Build / android (pull_request) Failing after 1m32s
3b4307d187

Build Successful

Commit: b12ee18
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `b12ee18` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1148/artifacts/arthur-debug-apk)
fix(server): use time-based speech endpointing
All checks were successful
PR Build / backend (pull_request) Successful in 48s
PR Build / android (pull_request) Successful in 6m54s
39975ddb23
fix(server): refine system prompt for tts
Some checks failed
PR Build / backend (pull_request) Successful in 1m0s
PR Build / android (pull_request) Failing after 3m4s
b78285f5ac

Build Successful

Commit: 39975dd
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `39975dd` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1150/artifacts/arthur-debug-apk)
fix(android): switch speaker route through telecom
All checks were successful
PR Build / backend (pull_request) Successful in 48s
PR Build / android (pull_request) Successful in 6m36s
9b4c5b7487

Build Successful

Commit: 9b4c5b7
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `9b4c5b7` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1152/artifacts/arthur-debug-apk)
fix(android): simplify call screen and transport
Some checks failed
PR Build / backend (pull_request) Has been cancelled
PR Build / android (pull_request) Has been cancelled
9f818ed307
fix(android): simplify call status copy
Some checks failed
PR Build / backend (pull_request) Has been cancelled
PR Build / android (pull_request) Has been cancelled
0a124cea5c
style(android): soften call plumbing copy
All checks were successful
PR Build / backend (pull_request) Successful in 48s
PR Build / android (pull_request) Successful in 6m13s
3a3edbbbee

Build Successful

Commit: 3a3edbb
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `3a3edbb` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1155/artifacts/arthur-debug-apk)
feat(android): add settings screen for backend url
Some checks failed
PR Build / backend (pull_request) Successful in 48s
PR Build / android (pull_request) Failing after 1m17s
4893281dcd
fix(android): simplify backend settings input
All checks were successful
PR Build / backend (pull_request) Successful in 43s
PR Build / android (pull_request) Successful in 6m26s
ddafe8b986

Build Successful

Commit: ddafe8b
APK: app-debug.apk
Size: 12M

Download Debug APK

## Build Successful **Commit:** `ddafe8b` **APK:** app-debug.apk **Size:** 12M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1157/artifacts/arthur-debug-apk)
feat(android,server): real settings nav and tailscale bind
All checks were successful
PR Build / backend (pull_request) Successful in 47s
PR Build / android (pull_request) Successful in 10m14s
bb37a41944
docs(agents): add recent project learnings
Some checks failed
PR Build / backend (pull_request) Successful in 2m1s
PR Build / android (pull_request) Has been cancelled
abc997effe
fix(server): seed codex thread with persona prompt
Some checks failed
PR Build / android (pull_request) Failing after 17s
PR Build / backend (pull_request) Successful in 53s
dcb3bfcbbb
fix(server): add opening phone-call greeting
Some checks failed
PR Build / android (pull_request) Failing after 16s
PR Build / backend (pull_request) Successful in 44s
ba338b5eda

Build Successful

Commit: bb37a41
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `bb37a41` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1158/artifacts/arthur-debug-apk)
fix(server): lengthen speech endpoint hangover
All checks were successful
PR Build / backend (pull_request) Successful in 1m17s
PR Build / android (pull_request) Successful in 9m35s
8266734700

Build Successful

Commit: 8266734
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `8266734` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1168/artifacts/arthur-debug-apk)
fix(server): direct long-term memories to workspace agents
All checks were successful
PR Build / backend (pull_request) Successful in 1m20s
PR Build / android (pull_request) Successful in 13m17s
6338de5530
fix(server): add codex barge-in handling
Some checks failed
PR Build / android (pull_request) Failing after 9m27s
PR Build / backend (pull_request) Failing after 11m27s
663306beda
fix(server): protect opening greeting from barge-in
Some checks failed
PR Build / android (pull_request) Failing after 25m0s
PR Build / backend (pull_request) Failing after 25m2s
45579a93ba
fix(server): make thinking hum louder
Some checks failed
PR Build / android (pull_request) Failing after 18m38s
PR Build / backend (pull_request) Failing after 20m36s
bcab92d210
fix(server): make memory writes silent
Some checks failed
PR Build / backend (pull_request) Failing after 18m32s
PR Build / android (pull_request) Failing after 17s
537b11f3b6

Build Successful

Commit: 6338de5
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `6338de5` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1169/artifacts/arthur-debug-apk)
fix(server): stabilize greeting barge-in flow
All checks were successful
PR Build / backend (pull_request) Successful in 54s
PR Build / android (pull_request) Successful in 14m12s
8c2e4a1a90
fix(server): make opening greeting local
Some checks failed
PR Build / backend (pull_request) Successful in 1m17s
PR Build / android (pull_request) Failing after 2m45s
8efc191fbf
fix(server): make thinking hum much louder
All checks were successful
PR Build / backend (pull_request) Successful in 1m21s
PR Build / android (pull_request) Successful in 13m1s
95eba73f94
fix(server): soften barge-in sensitivity
Some checks failed
PR Build / backend (pull_request) Successful in 1m10s
PR Build / android (pull_request) Failing after 7m41s
86d7712632

Build Successful

Commit: 95eba73
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `95eba73` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1176/artifacts/arthur-debug-apk)

Build Successful

Commit: 8c2e4a1
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `8c2e4a1` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1174/artifacts/arthur-debug-apk)
feat: systemd service"
All checks were successful
PR Build / backend (pull_request) Successful in 48s
PR Build / android (pull_request) Successful in 4m16s
fc8562bd3d

Build Successful

Commit: fc8562b
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `fc8562b` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1197/artifacts/arthur-debug-apk)
feat(nix): package arthur server and module
Some checks failed
PR Build / android (pull_request) Successful in 4m10s
PR Build / backend (pull_request) Failing after 10m35s
4372b936f5

Build Successful

Commit: 4372b93
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `4372b93` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1198/artifacts/arthur-debug-apk)
ubtuntu
Some checks failed
PR Build / android (pull_request) Successful in 4m11s
PR Build / backend (pull_request) Failing after 10m37s
b8aa3558fb

Build Successful

Commit: b8aa355
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `b8aa355` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1199/artifacts/arthur-debug-apk)
feat: lots of improvements
Some checks failed
PR Build / android (pull_request) Successful in 4m15s
PR Build / backend (pull_request) Failing after 10m35s
79def7a444

Build Successful

Commit: 79def7a
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `79def7a` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1200/artifacts/arthur-debug-apk)
feat: improve call audio source
Some checks failed
PR Build / android (pull_request) Failing after 3m57s
PR Build / backend (pull_request) Failing after 10m42s
53dc425eec
fix(android): remove duplicate material opt-in
Some checks failed
PR Build / android (pull_request) Successful in 4m4s
PR Build / backend (pull_request) Failing after 10m23s
a1abd86c24

Build Successful

Commit: a1abd86
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `a1abd86` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1207/artifacts/arthur-debug-apk)
fix(android): preserve selected audio route
Some checks failed
PR Build / android (pull_request) Successful in 4m12s
PR Build / backend (pull_request) Failing after 10m35s
831abbd3ce

Build Successful

Commit: 831abbd
APK: app-debug.apk
Size: 19M

Download Debug APK

## Build Successful **Commit:** `831abbd` **APK:** app-debug.apk **Size:** 19M [Download Debug APK](https://git.kwila.cloud/kwila/arthur/actions/runs/1208/artifacts/arthur-debug-apk)
Some checks failed
PR Build / android (pull_request) Successful in 4m12s
PR Build / backend (pull_request) Failing after 10m35s
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/codex-app-server-simple-integration:feat/codex-app-server-simple-integration
git switch feat/codex-app-server-simple-integration

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff feat/codex-app-server-simple-integration
git switch feat/codex-app-server-simple-integration
git rebase main
git switch main
git merge --ff-only feat/codex-app-server-simple-integration
git switch feat/codex-app-server-simple-integration
git rebase main
git switch main
git merge --no-ff feat/codex-app-server-simple-integration
git switch main
git merge --squash feat/codex-app-server-simple-integration
git switch main
git merge --ff-only feat/codex-app-server-simple-integration
git switch main
git merge feat/codex-app-server-simple-integration
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kwila/arthur!4
No description provided.