timmy-talking-turd/package.json
Timmy e05d7d1e1a
All checks were successful
Quality gates / quality (pull_request) Successful in 1m28s
test: expand deterministic symptom escalation regression suite
Issue #21 (epic #5). Prove model behavior can never suppress or soften
urgent symptom handling.

- Pin the six authoritative red flags, their canonical order, and the
  exact urgent copy as read-only exports; hostile provider output
  cannot reassemble it.
- Grow the positive text matrix from 24 to 56 pinned clinical phrases
  across all flags (bloody stool, dark-red/black descriptions, severe
  abdominal pain variants, vomiting tenses/slang, fever phrasings,
  inability to pass gas) and pin 27 idiomatic negatives that must not
  escalate (threw up my hands, yellow fever history class, black tea).
- Authoritative boundary suite: every red-flag phrase and confirmed
  ledger symptom/note intercepts chat with zero Hermes calls;
  malicious/missing provider replies cannot weaken the deterministic
  response; truthy junk symptoms can neither fabricate nor suppress
  escalation.
- Wiring suite: the single chat gate screens urgency before any agent
  turn in both service and browser code; detection stays centralized
  in the frozen domain pattern table.

RED evidence: URGENT_MESSAGE unexported, 9 matrix misses (bleeding from
my rectum, bloody stool/poop, severe pain in my abdomen), 8 false
positives (I threw up my hands, feverish about the election).

GREEN: 87/87 npm test, syntax/diff gates clean, 0 vulnerabilities,
browser suites pass with zero /api/agent/chat calls on urgent input.

Closes #21
2026-08-22 20:57:04 +00:00

20 lines
1.6 KiB
JSON

{
"name": "timmy-talking-turd",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"test": "node --test tests/domain.test.js tests/analysis.test.js tests/symptom-escalation.regression.test.js tests/escalation-boundary.test.js tests/escalation-wiring.test.js tests/vision-service.test.js tests/vision-config.test.js tests/hermes-agent-service.test.js tests/agent-gateway.acceptance.test.js tests/staging-health.test.js tests/service-worker-runtime.test.js tests/training-ingest.test.js tests/ci-workflow.test.js tests/product-decisions.test.js tests/release-demo.test.js tests/selfhost-bootstrap.test.js tests/staging-config.test.js",
"test:ui": "node tests/ui.acceptance.mjs",
"test:photo": "node tests/photo-first.acceptance.mjs",
"test:sleek": "node tests/sleek-chat.acceptance.mjs",
"test:staging-smoke": "node tests/staging.acceptance.mjs",
"check:syntax": "node --check app.js && node --check server.mjs && node --check service-worker.js && node --check src/analysis.js && node --check src/domain.js && node --check src/hermes-agent-service.js && node --check src/vision-config.js && node --check src/vision-service.js && node --check scripts/record_release_demo.mjs && node --check tests/staging.acceptance.mjs && bash -n scripts/bootstrap_selfhost_smolvlm.sh && bash -n scripts/run_selfhost_smolvlm.sh && python3 -m py_compile scripts/ingest_training_photo.py scripts/build_release.py scripts/deploy_staging.py",
"check:diff": "bash scripts/check_diff.sh",
"start": "node server.mjs"
},
"devDependencies": {
"playwright": "^1.62.1"
}
}