14 Commits

Author SHA1 Message Date
Jesse_Chen e8d201dd9a perf(chat): isolate the composer, split heavy chunks, fix dead tokens
Independent Staging Quality Gate / validate (push) Successful in 13m15s
Independent Staging Quality Gate / publish (push) Successful in 10m9s
Second batch from the staging UX audit (BUG-248..253).

- css: expose the 32 palette tokens through @theme. Seven utilities
  including text-ink, text-danger and text-warning compiled to no CSS
  at all, so 30 call sites had been silently inert (BUG-248)
- chat: move the composer into its own component behind a draft store,
  so a keystroke no longer re-renders a 2723-line component, and
  persist the draft across reloads (BUG-249)
- chat: load gsap, react-markdown and thinking-orbs on demand. First
  Load JS for / drops 549.5 kB to 476.3 kB gzipped (BUG-250)
- chat: route the five in-app destinations through router.push, and
  keep the five auth redirects and the bootstrap retry as hard loads
  on purpose (BUG-251)
- a11y: announce reply completion, and move the live region out of the
  aria-busy subtree that was likely suppressing even the start
  announcement (BUG-252)
- docs: give the 27 collided bug ids unique numbers and repair their
  inbound references; require search rather than a full read of a
  3690-line file (BUG-253)

Verified: tsc, eslint, next build, and 1592 assertions across the 199
non-database test files.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 14:16:05 +08:00
Jesse_Chen 7886629b36 fix(consult): accept a calculation that succeeds after transient failures
Independent Staging Quality Gate / validate (push) Failing after 12m9s
Independent Staging Quality Gate / publish (push) Has been skipped
The runtime contract gated on total consultation tool attempts, so a single
transient calculation failure raised the counter past one and made the run
unrecoverable even after a later attempt succeeded. The already-computed chart
was discarded and the request ended as runtime_contract_incomplete.

Count only successful workflow executions against the single-calculation
boundary. Failed attempts stay in the attempt counter for observability. The
request-scoped cache still retains the successful promise, so a request can
never run more than one billable calculation.

Also record the staging-first branch delivery convention in AGENTS.md.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 12:12:48 +08:00
Codex 9b07e12b0c ops: prepare self-hosted production migration
Staging Backend Quality Gate / validate (push) Has been cancelled
Staging Backend Quality Gate / publish (push) Has been cancelled
2026-08-08 21:12:55 -04:00
Jesse_Chen 5957803de4 Merge GitHub upstream into Gitea primary 2026-08-05 11:13:34 +08:00
Jesse 2da848a1d9 docs: configure agent engineering workflows 2026-07-28 14:40:24 +08:00
Jesse_Chen ae319d3443 docs: require branch changes to land on main 2026-07-22 17:46:10 +08:00
Jesse_Chen 153869fee4 docs: require bug history workflow 2026-07-22 01:14:43 +08:00
Jesse_Chen a57f233d45 fix: harden staging operations runbook contracts 2026-07-21 07:45:14 +08:00
Jesse_Chen 50eceea4bb ci: require manual GitHub Actions runs 2026-07-20 11:44:56 +08:00
Jesse_Chen 4b281ee483 ci: deploy production after successful checks 2026-07-16 10:30:12 +08:00
Jesse_Chen 6f138ebd45 docs: record production deployment and maintenance 2026-07-16 10:13:04 +08:00
732642856 4764482c73 Harden Jyotish runtime evidence gates 2026-07-05 18:27:33 +08:00
732642856 ab5af2c8ba fix: enforce existing mevg invocation across timing workflows 2026-07-02 10:51:24 +08:00
732642856 b884b8e7ea Harden skill rigor constraints and sync reading quality tools 2026-06-27 18:52:10 +08:00