Commit Graph
466 Commits
Author SHA1 Message Date
Jesse_ChenandClaude Opus 5.5 0ab061b96f docs(tasks): record Claude acceptance of BUG-1039
Independent Staging Quality Gate / validate (push) Successful in 11m57s
Independent Staging Quality Gate / publish (push) Successful in 3m22s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-26 06:59:01 +08:00
Jesse_ChenandClaude Opus 5.5 dd8912fea0 fix(ephemeris): alias the engine's three panchanga spellings to the table
Coordinator ruling (brief author, 2026-09-26): Aindra -> Indra (因陀罗),
Variyana -> Variyan (安逸), Dhanishtha -> Dhanishta (虚宿). Spelling aliases
only; the brief's table and its typed test copy are unchanged. BLOCKED item
struck through, PROGRESS / checklist / task index updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-26 06:58:41 +08:00
Jesse_ChenandClaude Opus 5.5 2981da6fbc fix(people,ephemeris): style /people and make the ephemeris readable (BUG-1039)
- /people had zero CSS rules for its people-archive classes. Add the
  approved layout: list -> detail below 1024px (data-view, ?person= history
  entry so Back returns to the list), two columns at 1024px and above;
  avatar rows with the current person highlighted, time cards with a
  rectified state, readable ayanamsa name, three quick actions; delete moves
  to the bottom of the edit view with unchanged confirm/count logic.
- Ephemeris: Chinese-first panchanga names from the brief's table only
  (panchanga-names-zh.ts, three listed aliases, unknown names stay
  Sanskrit), coloured 吉/中/凶 tags, N吉/M凶 counts and a fixed-rule day
  summary (pure function, no model call); the header ask button becomes a
  bottom hint card; transit rows show glyph, 「行星 在 星座」, house line and
  degree; the Lahiri note names the subject's own ayanamsa.
- API, engine and database unchanged; /people and /ephemeris stay Static.
- DESIGN, VOICE, BUG_HISTORY, CHANGELOG, BLOCKED, PROGRESS and a manual
  checklist updated. Two existing assertions changed, with 原值/新值/原因.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-26 06:58:41 +08:00
Jesse_ChenandClaude Opus 5.5 13c70a162a docs(tasks): brief for starter home hint split and icons
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-26 06:08:49 +08:00
Jesse_ChenandClaude Opus 5.5 65260ca7e0 docs(tasks): brief for warm return to home without replaying the loader
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-26 05:59:41 +08:00
Jesse_ChenandClaude Opus 5.5 4404af4c0a docs(tasks): brief for people page styles and ephemeris readability
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-26 05:56:29 +08:00
Jesse_ChenandClaude Opus 5.5 65e4e98dba docs(tasks): renumber new-chat brief to BUG-1038
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-26 05:53:33 +08:00
Jesse_ChenandClaude Opus 5.5 448ed10684 docs(tasks): brief for new chat from /people landing on stale rectification
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-26 05:53:19 +08:00
Jesse_ChenandClaude Opus 5.5 e3b23c7e8b docs: e84d6eb8 deployed; close BUG-1034..1036
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-26 05:43:37 +08:00
Jesse_ChenandClaude Opus 5.5 e4fc8b7708 docs: 4d801e53 deployed (close BUG-1026/1028/1031-1033); accept d08ffdc0 follow-up
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-26 00:33:16 +08:00
jesse-ux d08ffdc0a6 fix: keep western labels near their planets and chats on the current person
Independent Staging Quality Gate / validate (push) Failing after 6m46s
Independent Staging Quality Gate / publish (push) Skipped
Cap planet captions at 30 degrees with a third ring, fall back only within the current person's sessions, and load self when the people catalog fails.
2026-09-25 23:02:17 +08:00
Jesse_ChenandClaude Opus 5.5 bd0fc25c97 docs: accept 4d801e53 fixes; follow-up brief for label drift, wrong fallback, catalog outage
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-25 21:05:20 +08:00
jesse-uxandClaude Code 4d801e53c3 fix: integrate people archive, report reader and western chart corrections
Independent Staging Quality Gate / validate (push) Successful in 16m28s
Independent Staging Quality Gate / publish (push) Successful in 3m33s
Validate on Linux Node 22 and PostgreSQL 17: 3894 frontend tests and 64 database tests pass, with no removed test names or new failures. Preserve static Home, bounded gzip, assertion-change records and manual acceptance gaps.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-25 20:41:16 +08:00
Jesse_ChenandClaude Opus 5.5 48fe4daf51 docs: record fabe0114 acceptance on board and bug statuses
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-25 10:45:40 +08:00
jesse-ux 44610a8bc7 docs: point the people archive task at its commit 2026-09-25 04:19:19 +08:00
jesse-ux ab6c55f822 feat: keep up to five chart subjects on typed columns
Chart, ephemeris, reports, daily language, consult, and synastry read birth data only through resolveSubjectBirth. The current person is a request parameter outside Home(). /people replaces the settings chart pane, and deleting someone removes that person's chats and reports.
2026-09-25 04:19:05 +08:00
jesse-ux 4b579af661 docs: point dasha and western redesign at the rebased SHA
Independent Staging Quality Gate / validate (push) Failing after 6m36s
Independent Staging Quality Gate / publish (push) Skipped
2026-09-25 03:02:18 +08:00
jesse-ux 0b4c137c03 docs: point the dasha and western redesign at its commit 2026-09-25 03:01:48 +08:00
jesse-ux 5a2d9da985 feat: fold dasha periods and redraw the western wheel
The dasha tab leads with a now card and a duration bar, and keeps sub-periods inside the current details element. A zero-year Chara row stays grey, shows 0 年, and cannot expand. The tropical wheel uses a 520 view box, element bands, separated planet labels, and aspect lines that stay visible while a selected body is highlighted.
2026-09-25 03:01:48 +08:00
jesse-ux c2030a4f36 docs: point home page split status at the rebased SHA
Independent Staging Quality Gate / publish (push) Canceled after 0s
Independent Staging Quality Gate / validate (push) Canceled after 2m39s
2026-09-25 02:59:52 +08:00
jesse-ux 9b74708ffb docs: mark the home page split ready for review
Point the status board at e530d6bb and record that SHA in the progress note.
2026-09-25 02:59:11 +08:00
jesse-ux 9167d75e74 docs: point report reader status at the rebased SHA
Independent Staging Quality Gate / validate (push) Successful in 11m38s
Independent Staging Quality Gate / publish (push) Successful in 3m24s
2026-09-25 02:22:46 +08:00
jesse-ux 3c2f7bd559 fix(report): use the upstream reader edition for new longform bodies
New reports request reader_main from upstream origin/main 23b9609e.
KP and transit no longer copy an empty vars() dict, solar returns keep
birth_asc_sign_idx, and ordinary projection deletes internal lines whole.
2026-09-25 02:21:46 +08:00
jesse-ux 59c2301838 docs: point chart ephemeris status at the rebased SHA
Independent Staging Quality Gate / publish (push) Canceled after 0s
Independent Staging Quality Gate / validate (push) Canceled after 8m10s
2026-09-25 02:14:20 +08:00
jesse-ux 3a40445bfe docs: record chart ephemeris fix SHA on the status board 2026-09-25 02:10:48 +08:00
jesse-ux 19ea0f06c1 fix(chart): keep zero-year chara and ephemeris dates apart
A zero-year Chara period is shown as 0 years instead of failing the whole chart. Switching ephemeris dates drops the previous day immediately and can be retried. Missing birth data links to chart settings.
2026-09-25 02:10:48 +08:00
jesse-ux 82c8aeb06a merge console noise cleanup into rectification title result
Independent Staging Quality Gate / publish (push) Canceled after 0s
Independent Staging Quality Gate / validate (push) Canceled after 7m13s
Keep both changelog notes and BUG-906, BUG-907, and BUG-1001.
2026-09-25 02:07:00 +08:00
jesse-ux 88fe67df9b fix(sessions): title rectification chats with the result time 2026-09-25 01:56:57 +08:00
jesse-ux 90b027f0fd fix(frontend): stop chart svg height warnings and idle consult status 404s 2026-09-25 01:43:59 +08:00
Jesse_ChenandClaude Opus 5.5 514951d708 docs: page.tsx split brief, forbid stricter line-count red lines, accept 824647f2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-25 00:58:28 +08:00
Jesse_ChenandClaude Opus 5.5 6dc6510c1b docs: acceptance of 0e4dd0f4..f125fae0 — gate red on 5 contract tests, fix brief
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-24 21:01:06 +08:00
Jesse_ChenandClaude Opus 5.5 edc9c22c37 docs(tasks): brief for people archive P1 (multi-subject charts)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-24 15:11:29 +08:00
Jesse_ChenandClaude Opus 5.5 b975617603 docs(tasks): brief for chart dasha and western tab redesign
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-24 14:57:59 +08:00
Jesse_ChenandClaude Opus 5.5 e0db23f47a docs(tasks): briefs for slow-network home, chart/ephemeris fixes, report actions and reader_main
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-24 14:42:49 +08:00
Jesse_ChenandClaude Opus 5.5 9c9b66d64c docs(tasks): product approves D5 exception for CRLF chart fences (BUG-1020)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-24 14:16:59 +08:00
Jesse_ChenandClaude Fable 5.1 7da2e6ca8e docs: record Claude acceptance of 1420471a (BUG-1015..1019 resolved)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-24 13:13:48 +08:00
jesse-uxandClaude Code 1420471ab1 feat: add chart waiting states and report block exports
Independent Staging Quality Gate / validate (push) Successful in 10m34s
Independent Staging Quality Gate / publish (push) Successful in 3m36s
Add bounded chart loading, per-layer retry states, and shared SVG skeletons. Add report block downloads with SVG, localized metadata, and inline deletion.

Record verification and retain CRLF export, full-build, and controlled-device acceptance blockers. User authorized staging delivery with these gaps documented.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-24 12:33:09 +08:00
Jesse_ChenandClaude Fable 5.1 5ff43b47f3 docs(tasks): report chapter export is a download, replaces whole-report export
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-24 10:23:09 +08:00
Jesse_ChenandClaude Fable 5.1 cd95aae090 docs(tasks): brief for report chapter copy drawer and list-page fixes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-24 10:16:50 +08:00
Jesse_ChenandClaude Fable 5.1 d5ad57d965 docs(tasks): brief for chart-page skeleton wait and stuck waiting copy
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-24 10:02:17 +08:00
jesse-uxandClaude Code 8902e48468 fix(chat): honor new-chat intent from secondary pages
Independent Staging Quality Gate / validate (push) Successful in 13m41s
Independent Staging Quality Gate / publish (push) Successful in 3m30s
Create a fresh local consultation for explicit new-chat navigation and keep reserved recovery from taking over its landing. Add regression tests and record validation gaps for remote review.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-24 00:25:28 +08:00
Jesse_ChenandClaude Fable 5.1 1c95eb3979 docs(tasks): brief for secondary-page new-chat landing on last session
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-23 19:59:24 +08:00
jesse-uxandClaude Code 6b53d9bb5b docs: record BUG-1011 green gate and staging deployment
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-23 19:17:40 +08:00
jesse-uxandClaude Code 018b2b4883 fix(test): stream large report snapshot SQL
Independent Staging Quality Gate / validate (push) Successful in 11m8s
Independent Staging Quality Gate / publish (push) Successful in 3m52s
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-23 18:51:08 +08:00
Jesse_ChenandClaude Opus 5.5 451a58089a docs(tasks): correct how BUG-1011 must be fixed
Gate run 2857 on 36a73761 ran 3,762 tests with one failure, the report
snapshot database test, so it is the last thing between staging and a deploy.

The brief told the executor to move the shared psql and psqlAs helpers to
stdin. That instruction is withdrawn. The two helpers serve 522 calls across
29 test files, and psql -c runs a multi-statement string as one implicit
transaction. selectAsAuthenticated relies on that: it sets the JWT subject
with set_config(..., true), which lasts only for the current transaction.
Statement-at-a-time execution would run every later RLS query with no user
set, so those tests would stop testing what they claim to test. Five other
files also write their own begin, commit or rollback.

The brief now asks for a separate single-transaction stdin helper with an
explicit maxBuffer, used only by the snapshot test, with a test proving a
transaction-local set_config stays visible. It also says that if the snapshot
test then fails a real assertion, that is a product defect to report, not an
assertion to relax.

Privacy scan on this tree before push: zero findings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-23 17:29:44 +08:00
jesse-uxandClaude Code 8c2db6874d Merge staging gate acceptance note
Preserve the parallel staging acceptance documentation while retaining the verified run 2857 failure evidence and deployment blocker.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-23 17:23:53 +08:00
jesse-uxandClaude Code 15036465ee docs: record staging gate result
Record Gitea run 2857 evidence: H1-H3 pass, BUG-1011 remains the sole E2BIG failure, publish skipped, and staging is not deployed. Mark BUG-1012 through BUG-1014 resolved at the code-contract level while retaining the deployment blocker.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-23 17:18:09 +08:00
Jesse_ChenandClaude Opus 5.5 c91ddfcc14 docs(tasks): accept the staging gate repair
36a73761 fixes exactly the three failures the brief named and adds none:
under Node 22 the frontend goes from 3,748 tests / 26 failing to 3,750 / 23,
and the three that turned green are the breakpoint allowlist, the chat panel
scroll guard and the composer queue contract. Putting isLoading back into
inputDisabled turns the new AST assertion red on its own. The build keeps /
static, first-load gzip moves by 0.001%, and no 375px rule reaches the CSS.

The executor's reading of the real gate log before the fix shows run 2856
failed on exactly four tests, these three and the BUG-1011 database test, so
BUG-1011 is expected to be all that keeps run 2857 red. That still needs the
log to confirm.

Privacy scan on this tree before push: zero findings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-23 16:55:33 +08:00
jesse-uxandClaude Code 36a737616c fix(frontend): repair staging breakpoint and focus contracts
Independent Staging Quality Gate / validate (push) Failing after 12m24s
Independent Staging Quality Gate / publish (push) Skipped
Merge entry overflow rules into the existing 480px breakpoint, restore picker focus without scrolling, and sync composer and entry contracts without changing page logic. Add AST generation-state guard and both picker close-path regressions.

Validation: targeted 33/33; Chrome isolated components 145 checks; tsc and lint zero errors. Node22 full suite 3706 tests, no lost names or new failures; three target failures fixed, 88 baseline environment/contract failures unchanged. Windows build remains blocked by symlink EPERM. Changed-file privacy check: 11 files, no findings, not a full-repository pass. BUG-1011 remains separate.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-23 16:31:10 +08:00
Jesse_ChenandClaude Opus 5.5 93cd01dbf9 docs(tasks): brief why the staging gate has been red since 09-22
Staging has not deployed since 1bc6a954. Rerunning the shared frontend
failures under Node 22 splits them in two. Three are real, and each passes on
its parent commit and fails from the commit that introduced it: 45ec4617 adds
a 375px breakpoint outside the allowlist, and 2a3013f2 adds two focus() calls
without preventScroll inside the chat panel and changes inputDisabled without
updating the composer's source contract. The rest fail here only because this
machine has no Docker or rsync; the gate has both, so the executor must read
the gate log rather than infer from local runs.

Privacy scan on this tree before push: zero findings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-09-23 16:07:12 +08:00