Commit Graph

376 Commits

Author SHA1 Message Date
Jesse_Chen c7dfe1c166 fix(rectification): bind evidence to current server turn
Staging Backend Quality Gate / validate (pull_request) Successful in 16m51s
Staging Backend Quality Gate / publish (pull_request) Has been skipped
2026-08-12 12:12:10 +08:00
Jesse_Chen 220828d6f0 fix(rectification): hydrate persisted case turns
Staging Backend Quality Gate / validate (pull_request) Successful in 15m6s
Staging Backend Quality Gate / publish (pull_request) Has been skipped
2026-08-12 10:45:49 +08:00
Jesse_Chen 397b6ef7c2 fix(rectification): surface real activity context
Staging Backend Quality Gate / validate (pull_request) Failing after 12m4s
Staging Backend Quality Gate / publish (pull_request) Has been skipped
2026-08-12 09:28:47 +08:00
Jesse_Chen da384357d0 fix(rectification): skip settlement for free turns
Staging Backend Quality Gate / validate (pull_request) Successful in 15m26s
Staging Backend Quality Gate / publish (pull_request) Has been skipped
2026-08-12 02:58:35 +08:00
Jesse_Chen 32b65cfaf3 fix(rectification): pass server case id to agent
Staging Backend Quality Gate / validate (pull_request) Successful in 16m22s
Staging Backend Quality Gate / publish (pull_request) Has been skipped
2026-08-12 02:00:08 +08:00
Jesse_Chen 139baeb94c fix(admin): remove email reauth from account reset
Staging Backend Quality Gate / validate (push) Successful in 13m47s
Staging Backend Quality Gate / publish (push) Successful in 8m20s
2026-08-11 21:09:30 +08:00
Jesse bc64ac743d fix(test): close v9 db fixture pools per URL and seed via admin role 2026-08-11 19:46:11 +08:00
Jesse 5dd0ab66a9 fix(rectification): isolate receipt activity after staging sync
Staging Backend Quality Gate / validate (push) Failing after 11m36s
Staging Backend Quality Gate / publish (push) Has been skipped
2026-08-11 18:22:30 +08:00
Jesse b04dd1a9e0 merge: sync latest staging into rectification v9
# Conflicts:
#	docs/BUG_HISTORY.md
2026-08-11 18:08:42 +08:00
Jesse eddd52d1f3 fix(rectification): harden v9 runtime after adversarial review 2026-08-11 17:57:47 +08:00
Jesse_Chen c0e9a1c9f1 feat(admin): add safe account reset
Staging Backend Quality Gate / validate (push) Successful in 12m13s
Staging Backend Quality Gate / publish (push) Successful in 7m50s
2026-08-11 17:57:40 +08:00
Jesse ca7484666f feat(rectification): stream agent execution and redesign entry routing
Replace the Direct Agentic textStream relay with a durable V9 agent runtime:

- agentic-rectification.ts: short boundary-only system prompt (no gate->scan
  ->score->diagnostics copy); pins skills/jyotish-birth-time-rectification;
  per-action bounded maxSteps (opening/read-only 6, evidence 8, rescore 12,
  accept/confirm 6) with a hard ceiling and repeated-tool-call detection.
- rectification-v9-tools.ts: ten Case-ref tools (read-case, propose/confirm/
  revise-evidence, compare-candidates, read-diagnostics, offer-candidates,
  accept-candidate, confirm-birth-time, close-case). Inputs are minimal refs
  only; RPC-backed evidence ledger, fingerprint cache reuse, receipts, and
  accepted!=confirmed semantics; confirm requires gate + grounded consent.
- /api/rectification/agent: caseId/sessionId/requestId/action/message; exact
  Case<->Session binding verified server-side; client history never overrides
  the durable dossier; pending turn -> completed/failed/retryable; consumes
  result.fullStream and emits allowlisted NDJSON only (reasoning/raw/provider
  metadata/tool payloads/birth data/scores never forwarded); first-turn real
  skill.started/skill.loaded gate with one controlled retry; billing bound to
  rectification:case:{caseId}.
- New forward migration 20260813010000_agentic_rectification_v9_agent_api.sql:
  case dossier/compute, turn finalize, fingerprint-cached candidate persist,
  case-scoped accept, consent-gated confirm, guarded transitions,
  needs_rebaseline profile guard, run_phases receipt table, and the
  rectification_runtime_version feature flag (v9 default, legacy read-only).
- Frontend: homepage/sidebar entry routing now uses the server Case open API
  (openRectificationFromHomepage/openRectificationSession/startNewRectification)
  with exact sessionId/caseId and server-owned shouldStartOpening; CTA driven
  by entry-summary; chat restores from persisted turns, candidate cards from
  the Candidate Snapshot API, activity from real NDJSON + persisted receipts;
  direct durable candidate-accept endpoint for the UI cards.
2026-08-11 17:17:56 +08:00
Jesse_Chen 46cdc3bbf4 feat(consultation): let the jyotish agent drive skills and tools 2026-08-11 16:22:02 +08:00
Jesse d394dd0585 feat(rectification): add durable case and evidence runtime 2026-08-11 16:18:53 +08:00
Jesse 60e2ce4fa4 feat(rectification): add v9 skill and domain contracts 2026-08-11 16:18:49 +08:00
Jesse_Chen 6d7a9a97be merge: consultation fixes into staging
Staging Backend Quality Gate / validate (push) Successful in 12m19s
Staging Backend Quality Gate / publish (push) Successful in 8m44s
# Conflicts:
#	docs/BUG_HISTORY.md
2026-08-11 12:00:25 +08:00
Jesse_Chen 620131d6a8 fix: keep foreground consultations responsive 2026-08-11 11:59:14 +08:00
Jesse_Chen ce46aae5c8 fix: polish storefront account and membership state 2026-08-11 11:59:03 +08:00
Jesse 2697d16ef1 feat(identity): test-only fixed OTP channel and rectification candidate cards
Staging Backend Quality Gate / validate (push) Has been cancelled
Staging Backend Quality Gate / publish (push) Has been cancelled
- IDENTITY_TEST_OTP env: when set to a 6-digit code, no real email is
  delivered; login page surfaces the fixed code so testers can register
  and sign in without a mailbox. Opt-in, never set in production.
- email-otp-login: test-channel notice with the pinned code.
- Rectification candidate list restyled with the project design system
  (warm canvas, action color, display serif, soft shadow, hover lift).
- Regression tests for config parsing, pinned OTP generation, login UI
  notice, and candidate card styles.
2026-08-10 19:38:27 +08:00
Jesse_Chen 22bbf8abf2 fix: restore report creation and sidebar alignment
Staging Backend Quality Gate / validate (push) Successful in 10m2s
Staging Backend Quality Gate / publish (push) Successful in 8m11s
2026-08-10 17:33:18 +08:00
Jesse_Chen 07ea504e91 fix: align report technique audit evidence
Staging Backend Quality Gate / validate (push) Successful in 10m37s
Staging Backend Quality Gate / publish (push) Has been cancelled
2026-08-10 17:18:52 +08:00
Jesse_Chen 64382c879d fix: allow admin OTP password status
Staging Backend Quality Gate / validate (push) Successful in 12m11s
Staging Backend Quality Gate / publish (push) Successful in 12m43s
2026-08-10 11:52:14 +08:00
Codex 65bcef3001 feat: add global asynchronous report center
Staging Backend Quality Gate / validate (push) Has been cancelled
Staging Backend Quality Gate / publish (push) Has been cancelled
2026-08-09 20:24:09 -07:00
Jesse_Chen a17ff258d8 fix: correct membership back flow and add onboarding paywall
Staging Backend Quality Gate / validate (push) Has been cancelled
Staging Backend Quality Gate / publish (push) Has been cancelled
2026-08-10 11:14:31 +08:00
Jesse_Chen ac0b218c90 hide report PDF action
Staging Backend Quality Gate / validate (push) Successful in 21m7s
Staging Backend Quality Gate / publish (push) Successful in 12m9s
2026-08-09 23:20:36 +08:00
Jesse_Chen ac870d84d6 fix staging reports and membership navigation
Staging Backend Quality Gate / validate (push) Failing after 14m31s
Staging Backend Quality Gate / publish (push) Has been skipped
2026-08-09 08:36:14 +08:00
Jesse_Chen 34395e902c fix(chat): follow active response at bottom
Staging Backend Quality Gate / validate (push) Successful in 11m13s
Staging Backend Quality Gate / publish (push) Has been cancelled
2026-08-09 01:19:39 +08:00
Jesse_Chen 17430a1f21 fix(reports): trust verified proxy origin
Staging Backend Quality Gate / validate (push) Successful in 12m13s
Staging Backend Quality Gate / publish (push) Has been cancelled
2026-08-09 00:54:55 +08:00
Jesse_Chen 32b683ebef fix(consult): preserve streaming across disconnects
Staging Backend Quality Gate / validate (push) Successful in 12m47s
Staging Backend Quality Gate / publish (push) Successful in 31m1s
2026-08-08 21:34:03 +08:00
Jesse_Chen fc47939ba9 fix(admin): repair model discovery and simplify model setup
Staging Backend Quality Gate / validate (push) Successful in 14m16s
Staging Backend Quality Gate / publish (push) Successful in 1h2m51s
2026-08-08 17:29:17 +08:00
Jesse_Chen a32d56677b Allow emergency model provider disable
Staging Backend Quality Gate / validate (push) Successful in 14m32s
Staging Backend Quality Gate / publish (push) Successful in 25m17s
2026-08-08 12:20:26 +08:00
Jesse_Chen 5fa1b8304e Allow public HTTPS model provider origins
Staging Backend Quality Gate / validate (push) Successful in 12m28s
Staging Backend Quality Gate / publish (push) Successful in 22m47s
2026-08-08 11:18:50 +08:00
Jesse_Chen 0676b6c402 Map model provider configuration errors 2026-08-08 11:01:56 +08:00
Jesse_Chen 99e2abe9bc fix(admin): secure proxied model mutations
Staging Backend Quality Gate / validate (push) Successful in 19m41s
Staging Backend Quality Gate / publish (push) Successful in 28m13s
2026-08-08 01:38:50 +08:00
Jesse_Chen c30b4b906b fix(admin): remove model reauthentication
Staging Backend Quality Gate / validate (push) Successful in 14m3s
Staging Backend Quality Gate / publish (push) Successful in 21m16s
2026-08-07 23:23:00 +08:00
Jesse_Chen bf31193b60 fix(admin): reauthenticate model discovery
Staging Backend Quality Gate / validate (push) Successful in 12m14s
Staging Backend Quality Gate / publish (push) Successful in 25m47s
2026-08-07 22:19:15 +08:00
Jesse_Chen d1bea7611e fix(staging): allow model catalog bootstrap
Staging Backend Quality Gate / validate (push) Successful in 12m33s
Staging Backend Quality Gate / publish (push) Successful in 19m38s
2026-08-07 21:21:32 +08:00
Jesse_Chen 3089316d2e feat(admin): configure model providers from database 2026-08-07 20:03:20 +08:00
Jesse 280d3e7a35 feat(membership): replace purchase modal with membership page 2026-08-07 18:24:16 +08:00
Jesse_Chen 3831b5bd9f fix: normalize local postgres date columns 2026-08-07 13:31:40 +08:00
Jesse_Chen f3946eaa6f chore: retire legacy rectification runtime
Staging Backend Quality Gate / validate (push) Failing after 9m57s
Staging Backend Quality Gate / publish (push) Has been skipped
2026-08-07 12:55:32 +08:00
Jesse_Chen 28147b40d0 Merge origin/main into admin release candidate
Staging Backend Quality Gate / validate (push) Successful in 12m49s
Staging Backend Quality Gate / publish (push) Has been cancelled
2026-08-07 12:27:47 +08:00
Jesse_Chen 66a6c96a5c fix(admin): fail safe across migration and auth boundaries
The recovery migration crossed the identity and RBAC ledgers without guarding schema prerequisites, while unknown configuration, provider, and database failures escaped the admin authorization boundary as 500s. Keep recovery in the DB ledger with explicit prerequisite no-ops, and sanitize unknown authorization failures to the existing 503 path.
2026-08-07 12:08:58 +08:00
Jesse 49f6edd7fb feat(web): add persistent beam avatars
Staging Backend Quality Gate / validate (push) Successful in 13m34s
Staging Backend Quality Gate / publish (push) Has been cancelled
2026-08-07 12:07:57 +08:00
Jesse_Chen 754505d40a fix(admin): preserve revoked owners and 503 status
Owner recovery lived in the identity-only migration path and could clear historical revocations on conflict. Admin layout also rethrew authorization 503s, turning service-unavailable failures into 500 responses.\n\nMove recovery behind the RBAC migration sequence, exclude revoked candidates without mutating their history, and terminate layout redirects at a no-store 503 route.
2026-08-07 11:33:48 +08:00
Jesse e7482c49c6 fix(web): restore starter card state after click
Staging Backend Quality Gate / validate (push) Successful in 15m14s
Staging Backend Quality Gate / publish (push) Successful in 10m19s
2026-08-07 11:32:05 +08:00
Jesse_Chen 0d7e5a26d5 fix(admin): break denied-session redirect loop
Preserve 403/503 responses instead of redirecting them through the Caddy root, and recover Owner only for the sole loginable synced identity admin.
2026-08-07 11:06:13 +08:00
Jesse_Chen 9a3d0d440f fix(frontend): declare admin users runtime locally
Staging Backend Quality Gate / validate (push) Successful in 16m8s
Staging Backend Quality Gate / publish (push) Successful in 12m59s
2026-08-06 21:20:12 +08:00
Jesse_Chen 5622ab448a feat(admin): add operations resources and audit UI 2026-08-06 20:15:08 +08:00
Jesse_Chen 28e04857fa feat(models): secure catalog and pin model versions 2026-08-06 20:15:08 +08:00