Commit Graph

7 Commits

Author SHA1 Message Date
Jesse_Chen 89d37b6506 docs: root-cause why the compiler rejects Home, and close two dead ends
Diagnosis was unblocked by temporarily installing
babel-plugin-react-compiler and reading its logger events, which the
Rust port swallows. Every failure in Home comes from the compiler, not
from this repository's code: 24 errors under the stable 1.0.0, all
prefixed Todo: (the compiler's own marker for unimplemented syntax) --
13 for try/finally, 9 for throw inside try/catch, 2 for a
non-reorderable MemberExpression. All 13 finally blocks do real cleanup
(clearing a timeout, releasing in-flight guards, resetting loading
flags), so deleting them to please the compiler would trade correctness
for speculative memoization.

Two paths are now closed by measurement rather than assumption. Newer
compiler builds fix the try/finally gap but Home then hits two
consecutive internal Invariant panics, which are compiler bugs. And
project-wide the version makes no difference at all: across 373 files
both versions compile exactly 134 functions, with the same 21 files
failing, so switching implementations buys nothing.

The diagnostic dependency is therefore removed and the lockfile
restored via npm ci. Deliverable is unchanged: config still rolled
back, frontend/src untouched.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 18:47:46 +08:00
Jesse_Chen f78ad09fcc docs: close the open reactCompiler keep-or-roll-back decision
Decision is to stay rolled back: the round's target was Home, and the
44 functions the compiler does optimize have no measured render benefit
to justify the +2.50% first-load JS. Reopening this should start by
benchmarking those 44, not by flipping the config.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 18:47:46 +08:00
Jesse_Chen 1831befc68 docs: record why React Compiler cannot take over page.tsx Home
The Rust React Compiler in Next 16.3.1 refuses to compile the 2730-line
Home component in frontend/src/app/page.tsx and reports nothing at all:
the build prints the option as enabled, exits 0, and tests stay green
while zero memoization is applied. Six configurations were tried; the
compiler optimized 44 functions elsewhere (including 2 smaller ones in
page.tsx itself) but never Home, and panicThreshold: "all_errors" is a
no-op on the Rust port, so the failing construct could not be located.

The reactCompiler config is therefore rolled back per the task's
stop-loss clause while the Next 16.3.1 upgrade is kept. BUG-255 records
the silent-bailout trap so a future attempt does not mistake "option
enabled and build green" for "compiler actually working". BLOCKED.md
records the two paths out, both of which need authorization: adding
babel-plugin-react-compiler to get diagnostics, or splitting Home.

No business code, test, or CI file was touched.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 18:47:46 +08:00
Jesse ac5aef5f89 docs: record final staging admin delivery 2026-07-28 11:32:16 +08:00
Jesse f950bfd8da docs: record staging controller blocker 2026-07-28 10:24:31 +08:00
Jesse 02ec5db361 feat(admin): add audited Refine staging console 2026-07-28 09:47:13 +08:00
Jesse_Chen ab2944f7fa feat(auth): add staging email password flows 2026-07-27 17:02:16 +08:00