Commit Graph

793 Commits

Author SHA1 Message Date
Jesse_Chen 779717f48c docs(tasks): upstream tasks 3/5/7 accepted; fix brief still open and its P1 is now live on staging
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-04 01:52:00 +00:00
Jesse_Chen 85f0189879 docs: align bug history date 2026-09-04 05:00:50 +08:00
Jesse_Chen 8950b77746 test(reports): support Node 22 module mocks
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
2026-09-04 04:58:16 +08:00
Jesse_Chen 71f63f8a84 docs(tasks): close upstream capability acceptance
Independent Staging Quality Gate / validate (push) Failing after 10m24s
Independent Staging Quality Gate / publish (push) Has been skipped
2026-09-04 04:01:02 +08:00
Jesse_Chen 49cd66c537 docs(tasks): upstream-sync acceptance — fix brief for the degraded→blocked domain contract, finance strict-evidence drift, template registry refs, gate coverage; hygiene fix accepted
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-03 15:38:07 +00:00
Jesse_Chen c1e3f32a0f fix: restore ayanamsa state and keep tests hermetic
Independent Staging Quality Gate / validate (push) Successful in 21m34s
Independent Staging Quality Gate / publish (push) Successful in 2m1s
2026-09-03 23:22:50 +08:00
Jesse_Chen 027e4b0827 fix(frontend): remove undefined ayanamsa class
Independent Staging Quality Gate / validate (push) Successful in 16m5s
Independent Staging Quality Gate / publish (push) Successful in 2m7s
2026-09-03 22:34:51 +08:00
Jesse_Chen 734d20590c feat(upstream): wire merged engine fields into chat and reports
Independent Staging Quality Gate / validate (push) Failing after 31m48s
Independent Staging Quality Gate / publish (push) Has been skipped
Consultation and personal reports otherwise ignore the merged friendship table, timing seed, module audit, and Pratyantar windows.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 20:58:47 +08:00
Jesse_Chen b631827fbe docs(tasks): repo-hygiene acceptance — fix brief for the gulika global ayanamsa leak, settings class style, hint copy, leftover literals, tests writing the repo
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-03 12:45:07 +00:00
Jesse_Chen f224146348 feat(upstream): merge a6f47abd engine, MCP, and orchestrator
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
Three-way-merge calculation modules and pl9-export into the product fork while keeping commercial API routes, Raman ayanamsa, and the consultation contract as a keypath superset.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 20:28:57 +08:00
Jesse_Chen 45d132588f feat(upstream): snapshot a6f47abd, REST VedAstro path, and 116-technique truth layer
Advance the one-way import to git commit a6f47abd with consultation keypath golden, switch official VedAstro comparison to the REST Calculate bridge, and receive the 25 new registry entries behind research_only_blocked.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 17:35:26 +08:00
Jesse_Chen 01a4536333 docs(tasks): record merged-branch cleanup and mark hygiene for review
Independent Staging Quality Gate / validate (push) Failing after 13m57s
Independent Staging Quality Gate / publish (push) Has been skipped
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 16:57:20 +08:00
Jesse_Chen 2415e751fe chore(repo): make the release gate reproducible and clean product URLs
PyJHora absence is now partial, tests write research manifests to tmp, the registry allows experimental_variant, and product links point at the Gitea repo. Early logs move to docs/history.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 16:55:26 +08:00
Jesse_Chen b6a70aa7df fix(ayanamsa): pin Lahiri on reference sets and add a user setting
Product default stays Raman. Public-case revalidation and fixture dashas now pass --ayanamsa lahiri; profiles store the four selectable values.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 16:33:46 +08:00
Jesse_Chen 58cae371bb docs(tasks): upstream sync brief — parallel rules against repo-hygiene
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VawU7Xfd5jS9wUEXz1XYmS
2026-09-03 08:19:47 +00:00
Jesse_Chen 487fed40de docs(tasks): upstream sync brief — lift rectification freeze for three scoped items (task 7)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VawU7Xfd5jS9wUEXz1XYmS
2026-09-03 08:15:45 +00:00
Jesse_Chen 2dba9e2597 docs(tasks): upstream sync brief — surface coverage matrix, rectification freeze rationale, task 6 wiring new engine fields
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VawU7Xfd5jS9wUEXz1XYmS
2026-09-03 08:09:43 +00:00
Jesse_Chen 4ac9883de6 docs(tasks): upstream sync brief — data-file rules for the engine merge
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VawU7Xfd5jS9wUEXz1XYmS
2026-09-03 07:58:48 +00:00
Jesse_Chen 2974ca5b85 docs(tasks): upstream sync brief — snapshot to a6f47abd, engine three-way merge, health/VedAstro REST/professional export
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VawU7Xfd5jS9wUEXz1XYmS
2026-09-03 07:52:25 +00:00
Jesse_Chen 591ffd21a1 fix(rectification): keep an open out-of-sample A–D card tappable
Independent Staging Quality Gate / validate (push) Successful in 11m52s
Independent Staging Quality Gate / publish (push) Successful in 1m46s
GET was dropping choice_card when the recast had no choice_frame, so the
embedded options rendered disabled. Replay the persisted reverse-verify /
out-of-sample schema instead of silencing the live question.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 15:30:49 +08:00
Jesse_Chen 74aaa1ba99 docs(tasks): repo-hygiene brief — product ruling: default ayanamsa stays Raman, user-selectable in settings; reference sets pin lahiri explicitly
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-03 07:27:30 +00:00
Jesse_Chen 62e1592001 docs(tasks): repo-hygiene brief — default ayanamsa back to Lahiri (P0), release gate reproducibility, registry allowlist, repo URLs, history logs, branch cleanup; status board rows
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-03 07:23:08 +00:00
Jesse_Chen 99a91a97f4 docs(rectification): record the surface redo — BUG-505..509, DESIGN.md rectification surface, walkthrough section 8
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JUei7K13cYxLHE3Axe4A45
2026-09-03 07:07:45 +00:00
Jesse_Chen 0cefaea6a2 docs(tasks): add a status board with state and landing commit per task brief
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-03 07:05:15 +00:00
Jesse_Chen 8db71aaf81 docs: product-level README, AGENTS.md split into code/reading parts, add CLAUDE.md, move task briefs to docs/tasks
- README.md is now the product/repo front door (architecture, repo map,
  local dev, test tiers, delivery flow, doc map). Engine positioning,
  VedAstro/Codex setup and the oracle/benchmark command reference move
  verbatim to docs/engine/README.md, docs/engine/vedastro-gateway.md and
  docs/benchmark/README.md. Capability badges realigned with the registry
  (91/78/8/0); tests/test_readme_badges.py was red on staging.
- AGENTS.md: Part A (environment truth, delivery, worktrees, record
  placement, bug workflow, growth freeze, frontend red lines, privacy,
  pre-work check, test tiers) and Part B (reading-rigor constraints).
  GitHub issue-tracker/triage boilerplate removed: GitHub is a read-only
  mirror. All strings locked by tests/ are preserved.
- CLAUDE.md added: roles, three working modes, task-brief sections,
  acceptance criteria, session discipline; imports AGENTS.md.
- 50 tracked TASK-*/PROGRESS-* files and 3 never-committed briefs move to
  docs/tasks/ with an index; REPO_LAYOUT.md merged into README.

Docs-only change (no gated path touched).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-03 06:56:06 +00:00
Jesse_Chen 8e214e290a fix(rectification): give the opening collect question concrete examples
Independent Staging Quality Gate / validate (push) Successful in 10m12s
Independent Staging Quality Gate / publish (push) Successful in 1m50s
The other-domain fallback copy was being used as the first question.
Opening now uses GENERIC_COLLECT_QUESTION; after-evidence other copy stays.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 14:31:23 +08:00
Jesse_Chen 0c0df42679 fix(rectification): require three answers before uncertainty stop
Independent Staging Quality Gate / validate (push) Successful in 9m19s
Independent Staging Quality Gate / publish (push) Successful in 1m52s
One "一时说不好" no longer ends the interview. Plateau streaks use the
same sample floor. Delivery copy states why the range stopped.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 12:08:37 +08:00
Jesse_Chen e8c98c37cf fix(rectification): restore collect-phase exit and drop the consult handoff
Independent Staging Quality Gate / validate (push) Successful in 8m29s
Independent Staging Quality Gate / publish (push) Successful in 1m45s
Public can_adopt no longer starves the collect fallback, 改选 scrolls to
the offer, opening collect uses other, and probe_year stays on the
schema. The status bar no longer starts an empty consultation chat.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 10:41:36 +08:00
Jesse_Chen cf6405ed88 fix(report): say chapters wrote when assembly never finished
Independent Staging Quality Gate / validate (push) Successful in 8m9s
Independent Staging Quality Gate / publish (push) Successful in 1m48s
The 09:31 staging card had four ready sections but showed only structural
validation failure. Derive the list copy from section status so a written
pipeline stop is not described as an empty schema miss.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 09:58:06 +08:00
Jesse_Chen fbd6e48036 fix(report): do not fail a written report when progress projection throws
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
Staging wrote four ready chapters then marked the job schema-invalid 34ms
later with no summary telemetry. Keep chapter persistence and assemble
going if onProgress or a non-lease heartbeat error fails.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 09:54:32 +08:00
Jesse_Chen 35e5781e66 fix(rectification): gate collect-phase adopt cards and keep post-adopt verify answerable
Independent Staging Quality Gate / validate (push) Successful in 9m50s
Independent Staging Quality Gate / publish (push) Successful in 1m53s
Public can_adopt follows session_outcome; reverse_verify reuses the persisted question id; offer cards settle on the owning message with a status-bar handoff.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 09:29:34 +08:00
Jesse_Chen 5c0bec0c94 fix(report): keep personal-report heartbeats ref'd during chapter writes
Independent Staging Quality Gate / validate (push) Successful in 7m56s
Independent Staging Quality Gate / publish (push) Successful in 1m49s
Staging lost the job lease mid-chapter because the unref'd interval never
fired outside an HTTP request. Refresh the lease on section progress and
leave the heartbeat timer ref'd so a long model await cannot starve it.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 02:13:13 +08:00
Jesse_Chen 4329426530 fix(report): keep personal-report leases alive through serial chapter writes
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
Staging verification wrote four ready sections then lost the 120s job lease
mid-chapter. Lengthen the worker lease and cap summary tokens with the same
3072 ceiling the section budget already uses.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 02:07:18 +08:00
Jesse_Chen eda37c1523 fix(report): classify writer failures and size CJK section budgets
Independent Staging Quality Gate / validate (push) Successful in 9m41s
Independent Staging Quality Gate / publish (push) Successful in 1m49s
Staging personal_full died as report_schema_invalid after the first
chapter blocked. Keep assertWriterOutput, stop treating refs mismatch as
missing evidence, and surface section error codes on the report APIs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 01:17:46 +08:00
Jesse_Chen 3568801509 fix(rectification): keep the choice selected state inside the button
Independent Staging Quality Gate / validate (push) Successful in 10m25s
Independent Staging Quality Gate / publish (push) Successful in 1m57s
The outer focus ring overflowed the message bubble and stacked on the existing selected border. Draw keyboard focus inset and skip auto-focusing the first option.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 21:44:55 +08:00
Jesse_Chen 8dfe457f21 fix(rectification): keep choice options and scoring on the server
Independent Staging Quality Gate / validate (push) Successful in 9m30s
Independent Staging Quality Gate / publish (push) Successful in 1m50s
Agent set-focus was writing or dropping choice schema, so probes never scored. Force server-owned options, fail closed when focus list RPC errors, and require the probe year in spokenPrompt.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 20:47:16 +08:00
Jesse_Chen d94049769e fix(rectification): put each question inside the assistant message
Independent Staging Quality Gate / validate (push) Successful in 25m7s
Independent Staging Quality Gate / publish (push) Successful in 2m8s
Focuses now carry asked_turn_id so GET rebuilds stem and options on the
same turn. Agent writes spokenPrompt; the live question slot is gone.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 19:55:20 +08:00
Jesse_Chen 3e13cfd924 docs(report): record blocked-repairs quality gates and staging SHA
Task 4 evidence: local gates, Gitea 2308/2309, health gitCommit 7faf8555. Live personal_full and writer/token still need a logged-in 委托方.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 18:20:16 +08:00
Jesse_Chen 7faf8555a5 fix(report): unblock personal-full themes with real varga, transit, and karaka evidence
Independent Staging Quality Gate / validate (push) Successful in 9m15s
Independent Staging Quality Gate / publish (push) Successful in 1m50s
The extractor only read an obsolete varga object shape, never issued Transit receipts, and the consultation response omitted Chara Karakas, so career/marriage/timing/wealth all blocked. Supply the live engine shape, fail-closed receipts, and jaimini.chara_karakas without relaxing the evidence plan.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 18:03:23 +08:00
Jesse_Chen 33d55b3a54 fix(rectification): satisfy React compiler lint for collect stem attach
Independent Staging Quality Gate / validate (push) Successful in 9m21s
Independent Staging Quality Gate / publish (push) Successful in 1m49s
Move the current-question ref off render and persist the collect stem from snapshot/send callbacks so ESLint no longer fails the staging gate.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 17:05:29 +08:00
Jesse_Chen b1d4796d30 fix(rectification): restore showActivity source lock for the staging gate
Independent Staging Quality Gate / validate (push) Failing after 8m5s
Independent Staging Quality Gate / publish (push) Has been skipped
Keep collect text on bubbleMessage but pass displayedMessage.state so the entry contract matches again.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 16:49:31 +08:00
Jesse_Chen 42c6de142b fix(rectification): put the collect stem in the assistant bubble
Independent Staging Quality Gate / validate (push) Failing after 8m27s
Independent Staging Quality Gate / publish (push) Has been skipped
The live question slot still rendered the collect prompt below the action icons when the streamed body was only a greeting. Join the GET prompt into that bubble and stop drawing a sibling collect slot.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 16:30:26 +08:00
Jesse_Chen 39c30b5597 fix(rectification): persist the collect stem on the same assistant turn
Independent Staging Quality Gate / validate (push) Successful in 7m55s
Independent Staging Quality Gate / publish (push) Successful in 1m47s
The live question slot disappeared on refresh because it was never written to assistant_message. Attach the current collect_spoken prompt to that turn before finalize so chat history keeps it.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 16:06:50 +08:00
Jesse_Chen 643f6f7a15 fix(report): give the interpretive fixture structured D2/D11/D24
Independent Staging Quality Gate / validate (push) Successful in 8m22s
Independent Staging Quality Gate / publish (push) Successful in 1m47s
BUG-486 demotion dropped wealth and education cards when the snapshot only had machine receipts, which failed Gitea validate. Keep write-theme cards only when varga_full is present.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 15:27:59 +08:00
Jesse_Chen 45f190a1d0 fix(report): extract D2/D11 varga aliases so wealth chapters pass final parse
Independent Staging Quality Gate / validate (push) Failing after 7m34s
Independent Staging Quality Gate / publish (push) Has been cancelled
Engine keys like D2_Hora never became structured charts, so wealth write
themes failed the document contract. Canonicalize document vargas, demote
missing charts to blocked, and classify the parse failure.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 14:55:06 +08:00
Jesse_Chen 661a0dab14 fix(rectification): stop the opening body from repeating the collect prompt
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
Persist the interview slot before the opening turn, keep the stem in the question slot, and hide that slot while a run is busy so the same ask does not appear twice.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 14:53:10 +08:00
Jesse_Chen aab3ad4b84 fix(rectification): keep choice stems visible and align overlay adopt with the engine
Independent Staging Quality Gate / validate (push) Successful in 7m44s
Independent Staging Quality Gate / publish (push) Successful in 1m48s
Walkthrough polish: fail-closed empty D9 prompts, stop asserting the next question is on screen, vary same-domain collect copy, switch to reverse-verify after adopt, and let coverage route interview without blocking can_adopt.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 13:11:22 +08:00
Jesse_Chen 482796fc52 fix(chat): reveal the home page once after a two-phase bootstrap
The loading screen now owns every wait: starter questions, today's
starlanguage and the rectification entry summary are fetched in a prepare
phase before reveal (4s budget, static fallbacks), the rectification chunk is
warmed, recent sessions are prefetched, and no component spinner remains
after the page appears. BUG-479.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-02 04:39:04 +00:00
Jesse_Chen f542c02490 refactor(chat): share composer, scroll follow and jump control across both chat surfaces
The rectification session rendered its own textarea (no length ceiling,
no count), its own rAF scroll follow with a sticky-scroll helper, and its
own jump chip styled differently from the main chat's inline Tailwind
button, while the main chat re-ran scrollTo on every streamed token and
added a smooth scroll on settle. ChatComposer now accepts a controlled
value so the rectification surface reuses it without touching the main
draft store; useConversationScrollAnchor owns the follow through a
ResizeObserver, one frame per content change, for both surfaces; a
single JumpToLatestButton replaces both chips; the 720px transcript
override is gone. DESIGN.md records the shared composer, the jump
control, the reading width and the two shadow tokens.

BUG-477 BUG-478

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JUei7K13cYxLHE3Axe4A45
2026-09-02 04:29:01 +00:00
Jesse_Chen 6356d7b549 refactor(chat): render rectification activity through the shared step timeline
The rectification surface had its own activity pipeline: a trace panel
with a 20px canvas orb clipped inside a 14px marker, a list that never
collapsed, a second receipt disclosure under every reply, an inline
failure banner and a staged label while regenerating. Its trace and
receipt are now projected onto ConsultationTimelineRow so both surfaces
render one ConsultationRunTimeline with one live marker and one settled
summary; receipt methods become source chips on the last completed row.
The unreachable sections-report/step-tree path, the trace panel, the
receipt component and the thinking-orbs dependency are removed. The
server-side drop of rectification thinking deltas is untouched.

BUG-476

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JUei7K13cYxLHE3Axe4A45
2026-09-02 04:29:01 +00:00