This repository has been archived on 2026-03-24 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
3ef5564fb0d6be8e1ea5e87b9459db182a20fb55
Some checks failed
CI / Typecheck & Lint (pull_request) Failing after 0s
Audit findings and changes:
REMOVED:
- T3b (paymentHash as separate PASS) — same HTTP response as T3, artificial
count inflation. Folded into T3 as one combined assertion.
TIGHTENED:
- T9 rate limiter: GOT_429 >= 1 → GOT_429 >= 3. With slot accounting
(T8c=1, T7=2, limit=5), T9 always sees exactly 3x200 then 3x429.
Old assertion passed even if only 1 request was rate-limited.
ADDED (critical paths with zero prior coverage):
- T17: GET /api/world/state — new core route. Checks HTTP 200,
timmyState.{mood,activity}, agentStates.{alpha,beta,gamma,delta},
recentEvents type=array, updatedAt ISO format.
- T18: createdAt/completedAt on job responses — fields exist in code
but were never asserted. Verifies ISO format and correct null/non-null
based on job state.
- T19: X-RateLimit-* headers on /api/demo — set before every response
(including 429s) but never verified. Uses curl -si to capture headers.
- T20 (3 sub-cases): POST /api/jobs/:id/refund — financial endpoint,
zero prior coverage. Guards: missing invoice → 400, unknown job → 404,
non-complete state → 409.
- T21: GET /api/jobs/:id/stream SSE replay — completed job immediately
sends event:token + event:done. Guarded on STATE_T6=complete to avoid
90s timeout on rejected jobs.
- T22: GET /api/sessions/:id unknown ID → 404 — sessions GET was only
tested with a valid ID (T12).
Result: 20 → 27 PASS (net +7 after removing T3b inflation). 0 FAIL 0 SKIP.
Description
Timmy — Lightning-gated AI agent (TypeScript/Express)
Languages
TypeScript
68.2%
JavaScript
14.8%
Shell
12.4%
HTML
4.1%
CSS
0.4%