timmy-talking-turd/tests
Timmy 9c9286b59f
All checks were successful
Quality gates / quality (pull_request) Successful in 1m53s
fix(ops): harden release observability against hostile review findings
Strict RED-GREEN TDD over PR review blockers; every fix landed test-first
with the failing run observed before implementation.

- failureClass: closed privacy-safe vocabulary (worker.unavailable,
  vision.timeout, model.error) under strict dotted slug grammar. Newlines,
  carriage returns, ANSI/control characters, secrets, medical text, SQL,
  oversized values, and off-vocabulary classes fail the entire evidence
  file closed; nothing hostile can reach rendering.
- depth: added to the counter vocabulary so queue.backlog can fire at all;
  bounded counters (0..1,000,000, integer) fail closed above the ceiling.
  9/10/11 edge tests pin silent/at-threshold/above-threshold; backlog is
  suppressed while worker.outage pages (depth is residual from the same
  incident) and returns the moment the page clears.
- drill integrity: the pre-drill baseline is now read from the fixture
  itself and must be genuinely healthy; already-outaged fixtures are
  refused with exit 2 without touching their switch, and a flip that
  produces no real healthy-to-outage transition reports DRILL FAIL
  instead of passing vacuously.
- manual fallback: deterministic contract replaces the tautology.
  available+none-required when healthy, available+local-journal under any
  degradation, unavailable+app-down only when the app boundary itself is
  down.
- fail-closed telemetry: evidence missing any of the four boundaries is
  rejected; unknown statuses surface as a warn telemetry.gap alert with
  owner/threshold/runbook instead of passing as healthy (documented in
  the runbook inventory).
- drill origin: validateLoopbackOrigin gates every network path before
  any fetch. Only a bare http://127.0.0.1:<port> URL passes; credentials,
  DNS names, hex/decimal/percent-encoded IP encodings, IPv6 forms, paths,
  queries, fragments, and non-http schemes are refused pre-contact
  (raw-string grammar gate plus parse round-trip, because the URL parser
  canonicalizes hostile encodings).
- terminal safety: controlSafe() strips C0/C1 control characters from all
  dynamically produced CLI output so hostile evidence paths cannot inject
  ANSI escapes into a terminal.

Gates: npm test 98/98, check:syntax, npm audit (0 vulns), check:diff,
deploy_staging status read-only; 30 adversarial probes against sanitizer,
alert edges, and live loopback CLI all pass. No merge, no deploy.
2026-08-22 21:43:18 +00:00
..
fixtures feat: simplify Timmy and add secure Hermes chat 2026-08-20 16:21:00 +00:00
agent-gateway.acceptance.test.js fix: enforce urgent chat override server-side 2026-08-20 16:41:35 +00:00
analysis.test.js feat: ship photo-first Timmy prototype and sovereign vision spike 2026-08-19 01:54:29 +00:00
ci-workflow.test.js feat: add hardened atomic staging deployment 2026-08-21 14:49:28 +00:00
domain.test.js fix: recognize past-tense vomiting in chat safety 2026-08-20 17:14:20 +00:00
hermes-agent-service.test.js fix: recognize past-tense vomiting in chat safety 2026-08-20 17:14:20 +00:00
photo-first.acceptance.mjs ci: enforce reproducible quality gates 2026-08-19 08:09:38 +00:00
product-decisions.test.js feat: simplify Timmy and add secure Hermes chat 2026-08-20 16:21:00 +00:00
release-dashboard-cli.test.js fix(ops): harden release observability against hostile review findings 2026-08-22 21:43:18 +00:00
release-dashboard.test.js fix(ops): harden release observability against hostile review findings 2026-08-22 21:43:18 +00:00
release-demo.test.js fix: gate bootstrap syntax in release build 2026-08-21 12:56:48 +00:00
release-observability-runbook.test.js feat(ops): release observability dashboard and incident-response flow 2026-08-22 20:33:10 +00:00
release-observability.test.js fix(ops): harden release observability against hostile review findings 2026-08-22 21:43:18 +00:00
selfhost-bootstrap.test.js feat: package pinned self-host vision bootstrap 2026-08-21 08:15:32 +00:00
service-worker-runtime.test.js feat: add private subpage staging slice 2026-08-21 14:12:17 +00:00
sleek-chat.acceptance.mjs fix: make staging compatible with strict CSP 2026-08-21 15:01:05 +00:00
staging-config.test.js feat: add hardened atomic staging deployment 2026-08-21 14:49:28 +00:00
staging-deploy.test.py feat: add hardened atomic staging deployment 2026-08-21 14:49:28 +00:00
staging-health.test.js fix: make staging compatible with strict CSP 2026-08-21 15:01:05 +00:00
staging.acceptance.mjs feat: add hardened atomic staging deployment 2026-08-21 14:49:28 +00:00
training-ingest.test.js feat: ship photo-first Timmy prototype and sovereign vision spike 2026-08-19 01:54:29 +00:00
ui.acceptance.mjs fix: enforce urgent chat override server-side 2026-08-20 16:41:35 +00:00
vision-config.test.js feat: add hardened atomic staging deployment 2026-08-21 14:49:28 +00:00
vision-service.test.js feat: ship photo-first Timmy prototype and sovereign vision spike 2026-08-19 01:54:29 +00:00