 mathiasandClaude Sonnet 5.5
|
51ee5d48e5
|
feat(errkind): a database error is reduced to its SQLSTATE, never its message, which can quote a transcript value (fourth review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:47:13 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
cff5cd2f0a
|
test: fourth review -- a hang-up anywhere in the body, an abandoned request is not an implicit 200, a database error is logged as its SQLSTATE (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:46:07 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
fc8ac376fa
|
test: fourth review -- a hang-up anywhere in the body, an abandoned request is not an implicit 200, a database error is logged as its SQLSTATE (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:46:07 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
73fe203d62
|
test: fourth review -- a hang-up anywhere in the body, an abandoned request is not an implicit 200, a database error is logged as its SQLSTATE (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:46:07 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
fbc3ee61c1
|
test: fourth review -- a hang-up anywhere in the body, an abandoned request is not an implicit 200, a database error is logged as its SQLSTATE (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:46:07 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
e97d4400b0
|
test: fourth review -- a hang-up anywhere in the body, an abandoned request is not an implicit 200, a database error is logged as its SQLSTATE (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:46:07 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
6e50a97b6d
|
docs(adr): third review -- the hang-up path, the client-read marker, the note kept visible
CI / Lint / Test / Vet (pull_request) Successful in 26s
CI / Build & Import (pull_request) Skipped
CI / Deploy via GitOps (pull_request) Skipped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:36:42 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
815ee98d4c
|
test(web): the title input that proves a bidi character is dropped, not replaced
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:36:42 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
067620d06a
|
chore(web): regenerate uploads_templ.go
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:36:42 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
91e475807c
|
fix(web): a finished upload's record opens when a step carries a note (third review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:36:42 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
6d044ba403
|
fix(web): a client that hangs up is logged at INFO and not answered; the 400 follows the marker, not io.ErrUnexpectedEOF; hasNote (third review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:36:42 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
632dbeba0e
|
feat(uploads): ErrClientRead marks an error from reading the client's body (third review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:36:42 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
fb5dc9d461
|
test: third review -- a real disconnect is not an error, a DB drop is not the client's, a note stays visible, every bidi character and the 80% boundary pinned (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:35:29 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
272a5db75f
|
test: third review -- a real disconnect is not an error, a DB drop is not the client's, a note stays visible, every bidi character and the 80% boundary pinned (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:35:29 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
1b0fc668bc
|
test: third review -- a real disconnect is not an error, a DB drop is not the client's, a note stays visible, every bidi character and the 80% boundary pinned (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:35:29 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
375da83c5e
|
test: third review -- a real disconnect is not an error, a DB drop is not the client's, a note stays visible, every bidi character and the 80% boundary pinned (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:35:29 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
af4e9c8632
|
test: third review -- a real disconnect is not an error, a DB drop is not the client's, a note stays visible, every bidi character and the 80% boundary pinned (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:35:29 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
04a3bc261f
|
test: third review -- a real disconnect is not an error, a DB drop is not the client's, a note stays visible, every bidi character and the 80% boundary pinned (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:35:29 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
08ffc2ff62
|
test(web): Go escapes for the bidirectional characters, which staticcheck ST1018 requires -- task check does not gate lint (#41)
CI / Lint / Test / Vet (pull_request) Successful in 25s
CI / Build & Import (pull_request) Skipped
CI / Deploy via GitOps (pull_request) Skipped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:23:50 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
e70e56a531
|
test(web): the render tool shows a step note
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:23:01 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
b46a0dd0c9
|
docs(adr): second review -- the note instead of a refusal, room before spooling, the callable chat model, and the image that was actually built (ADR-035 decision 8)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
fe6c0fae3a
|
test(acceptance): follow the renamed scenario
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
2a616c6ae1
|
docs(use-cases): a short recording is noted, not refused
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
bcec4f6e86
|
docs(homelab): engine timeout 20m
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
be20adc76b
|
chore(fixtures): an obviously invented context phrase (second review F10 residual)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
1b97851a39
|
chore(fixtures): an obviously invented context phrase (second review F10 residual)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
b59b1a22dd
|
test(web): joiners and variation selectors survive the title cleaning
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
22c0317c71
|
fix(web): a body cut off mid-file is a 400; bidirectional controls are stripped from a title (second review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
9a2f24b3c9
|
fix(uploads): refuse a full queue before spooling, probing or creating a row (second review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
3f5b9345a0
|
feat(uploads): HasRoom -- say before spooling whether a submit would be accepted (second review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
16db156406
|
fix(config): the engine timeout defaults to 20 minutes so two wedged engines leave the job time for a fallback (second review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
471425cd4c
|
fix(cmd): the configured upload chat model is in the shared chat service's list, so it is no longer silently swapped (second review finding 2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:22:41 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
8f79132fcb
|
test: second review -- the upload chat model outside the chain, room checked before spooling, a cut-off body is a 400, bidi controls in titles, the ensemble's deadline wiring, an honest test name (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:38 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
b1f9d5f4b7
|
test: second review -- the upload chat model outside the chain, room checked before spooling, a cut-off body is a 400, bidi controls in titles, the ensemble's deadline wiring, an honest test name (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:38 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
5bd2e3d3d0
|
test: second review -- the upload chat model outside the chain, room checked before spooling, a cut-off body is a 400, bidi controls in titles, the ensemble's deadline wiring, an honest test name (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:38 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
b8a6e2f6f5
|
test: second review -- the upload chat model outside the chain, room checked before spooling, a cut-off body is a 400, bidi controls in titles, the ensemble's deadline wiring, an honest test name (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:38 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
335ad0cd85
|
test: second review -- the upload chat model outside the chain, room checked before spooling, a cut-off body is a 400, bidi controls in titles, the ensemble's deadline wiring, an honest test name (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:38 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
59bc373068
|
test: second review -- the upload chat model outside the chain, room checked before spooling, a cut-off body is a 400, bidi controls in titles, the ensemble's deadline wiring, an honest test name (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:38 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
d505f64c99
|
test: second review -- the upload chat model outside the chain, room checked before spooling, a cut-off body is a 400, bidi controls in titles, the ensemble's deadline wiring, an honest test name (red)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:38 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
dbe37e5756
|
feat(web): style for a step note
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:02 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
0962b6f639
|
chore(web): regenerate uploads_templ.go
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:02 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
9314454ab1
|
feat(web): show a step's note under it, escaped (second review finding 1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:02 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
9c8ac0f9fb
|
fix(web): no message for the removed incomplete kind (second review finding 1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:02 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
f7284ccdc9
|
fix(uploads): a file much shorter than it claimed is transcribed and noted, not refused; the tolerances are named (second review finding 1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:02 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
4943c80dbd
|
feat(progress): Annotate -- a note on a step, saved at once (second review finding 1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:02 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
8eca8f721b
|
feat(domain): ProgressStep.Note; UploadErrIncomplete removed -- a short file is noted, not refused (second review finding 1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:20:02 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
406c0232c1
|
test: a shortfall is noted on the audio step, not refused; the 80%, two-minute and 30-second tolerances are pinned (red; second review finding 1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:19:32 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
ac530de91a
|
test: a shortfall is noted on the audio step, not refused; the 80%, two-minute and 30-second tolerances are pinned (red; second review finding 1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:19:32 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
a90107b73b
|
test: a shortfall is noted on the audio step, not refused; the 80%, two-minute and 30-second tolerances are pinned (red; second review finding 1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:19:32 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
0ef83f2ccb
|
test: a shortfall is noted on the audio step, not refused; the 80%, two-minute and 30-second tolerances are pinned (red; second review finding 1)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:19:32 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
71cd50aa88
|
fix(docker): install xz in the ffmpeg stage -- the golang image has none; found by building the image, which CI does not do on a pull request (second review)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 17:19:06 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
aa54089230
|
docs(claude): errors are logged and shown as kinds, and what carries transcript text must be local (ADR-035)
CI / Lint / Test / Vet (pull_request) Successful in 25s
CI / Build & Import (pull_request) Skipped
CI / Deploy via GitOps (pull_request) Skipped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:50:56 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
8749ffe6a9
|
docs(homelab): the engine timeout, a local chat model, ffmpeg in the image, and 31B with Low Power Mode off
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:50:56 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
67879f85eb
|
test(acceptance): map the hardening scenarios, and follow the two tests renamed in the review
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:50:43 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
08b7654d06
|
docs(use-cases): scenarios for the review's hardening (ADR-035 decision 8) -- the coverage gate is red until mapped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:50:35 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
f03b0213d0
|
docs(adr): record the owner's decisions on #34, #35 and ADR-034, and the adversarial review's hardening (ADR-035 decision 8)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:50:22 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
cb22832413
|
feat(docker): static ffmpeg and ffprobe in the distroless image, pinned by version and sha256 (#34 option A)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:50:02 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
5d4324c2a2
|
chore(fixtures): invented text in place of words that may come from the private recording; the research note no longer names the private file (adversarial review F10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:49:54 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
6596e83cd5
|
chore(fixtures): invented text in place of words that may come from the private recording; the research note no longer names the private file (adversarial review F10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:49:54 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
bc90e3aec7
|
chore(fixtures): invented text in place of words that may come from the private recording; the research note no longer names the private file (adversarial review F10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:49:54 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
1a57489d04
|
chore(fixtures): invented text in place of words that may come from the private recording; the research note no longer names the private file (adversarial review F10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:49:54 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
ede6c0e5ea
|
chore(fixtures): invented text in place of words that may come from the private recording; the research note no longer names the private file (adversarial review F10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:49:54 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
5928925589
|
chore(fixtures): invented text in place of words that may come from the private recording; the research note no longer names the private file (adversarial review F10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:49:54 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
e5bba3cd23
|
chore(fixtures): invented text in place of words that may come from the private recording; the research note no longer names the private file (adversarial review F10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:49:54 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
2df8a7eb20
|
chore(fixtures): invented text in place of words that may come from the private recording; the research note no longer names the private file (adversarial review F10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:49:54 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
6e7c772b31
|
chore(fixtures): invented text in place of words that may come from the private recording; the research note no longer names the private file (adversarial review F10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:49:54 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
a2027c9f9b
|
chore(fixtures): invented text in place of words that may come from the private recording; the research note no longer names the private file (adversarial review F10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:49:54 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
e38ea3175d
|
test: assertions the adversarial review found missing -- log lines, immediate saves, snapshot isolation, store and temp-file failures, bounded snippet, identical list (review F9)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:48:58 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
cdb709b9e2
|
test: assertions the adversarial review found missing -- log lines, immediate saves, snapshot isolation, store and temp-file failures, bounded snippet, identical list (review F9)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:48:58 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
0d8bf0f94c
|
test: assertions the adversarial review found missing -- log lines, immediate saves, snapshot isolation, store and temp-file failures, bounded snippet, identical list (review F9)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:48:58 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
5b3e550d9b
|
test: assertions the adversarial review found missing -- log lines, immediate saves, snapshot isolation, store and temp-file failures, bounded snippet, identical list (review F9)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:48:58 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
cb0ed8642a
|
test: assertions the adversarial review found missing -- log lines, immediate saves, snapshot isolation, store and temp-file failures, bounded snippet, identical list (review F9)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:48:58 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
b8a4778513
|
test(web): a malformed multipart header is a 400 whose text is not logged; the file-name case no longer demands a 303
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:47:49 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
9b82c06d92
|
fix(web): 429 for a busy queue; a non-UUID id and a malformed or odd-byte title are 4xx or cleaned, never 500 (review F6, F7)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:47:49 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
93b4dbec1e
|
feat(uploads): a full queue is a busy rejection, the row failed honestly (review F6)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:47:49 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
f9ad85cac4
|
feat(uploads): a bounded queue, in total and per user (review F6)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:47:49 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
a1d6754ae9
|
feat(uploads): ReasonBusy, a rejection that is the user's to retry (review F6)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:47:49 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
e4584fb2ac
|
feat(domain): UploadErrBusy -- the queue was full (review F6)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:47:49 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
019ee636c8
|
test: a bounded queue answered as 'busy', and bad input answered with a 4xx (red; adversarial review F6, F7)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:46:13 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
0da24d42f4
|
test: a bounded queue answered as 'busy', and bad input answered with a 4xx (red; adversarial review F6, F7)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:46:13 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
2891ffabae
|
test: a bounded queue answered as 'busy', and bad input answered with a 4xx (red; adversarial review F6, F7)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:46:13 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
aa0322095b
|
test: a bounded queue answered as 'busy', and bad input answered with a 4xx (red; adversarial review F6, F7)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:46:13 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
a7e2cc43c0
|
test(cmd): the built worker refuses audio longer than the configured maximum (review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:45:25 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
fdcdee7413
|
test(cmd): the uploads store double records the kind a job failed with
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:45:25 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
dc100d1cd4
|
test(web): the job carries the claimed duration
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:45:25 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
6b83d72655
|
fix(cmd): the converter is capped and the worker measures, at the configured maximum (review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:45:25 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
07050cf9b6
|
feat(web): say in words why a recording was refused for its real length (review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:45:25 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
16cd246241
|
feat(uploads): the worker measures the converted audio against the limit and the claim (review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:45:25 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
132f46b047
|
feat(uploads): the job carries the duration the file claimed (review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:45:25 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
12576aa129
|
feat(audio): MaxSeconds caps the converted length, so a header that lies cannot become hours of WAV (review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:45:25 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
ba39864b2b
|
feat(domain): UploadErrTooLong and UploadErrIncomplete -- the two ways a file's claimed length can be wrong (review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:45:25 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
741eccb575
|
test: the duration limit is checked against what is converted, not what the header claims (red; adversarial review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:43:46 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
5640d95f40
|
test: the duration limit is checked against what is converted, not what the header claims (red; adversarial review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:43:46 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
8f62d053ee
|
test: the duration limit is checked against what is converted, not what the header claims (red; adversarial review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:43:46 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
52351c2cc1
|
test: the duration limit is checked against what is converted, not what the header claims (red; adversarial review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:43:46 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
29b3b725d1
|
test: the duration limit is checked against what is converted, not what the header claims (red; adversarial review F2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:43:46 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
7a468fdc09
|
fix(cmd): every local engine call carries its own deadline (review F4)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:42:46 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
c9b7df9f95
|
feat(config): TAPIR_TRANSCRIBE_ENGINE_TIMEOUT, default 25 minutes (review F4)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:42:46 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
c8ec468e47
|
feat(transcribe): WithTimeout -- each engine call gets its own deadline so a wedged engine fails while the job lives (review F4)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:42:46 +02:00 |
|
 mathiasandClaude Sonnet 5.5
|
81a60d5fd4
|
test: a per-engine deadline so a wedged primary reaches the fallback (red; adversarial review F4)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
2026-10-02 16:41:38 +02:00 |
|