Staging at 4ef4c406 produced a standard five-theme document with nine
charts, five chapter bodies, and an empty blocked disclosure.
Co-authored-by: Cursor <cursoragent@cursor.com>
Five-theme assemble cleared the chart and actionNotes caps, then failed
three anonymous guards. Log field path plus kind only, and strip
deterministic phrases from sections the producer already marked blocked.
Co-authored-by: Cursor <cursoragent@cursor.com>
Five-theme personal_full still failed final parse after the charts cap
fix because writer output exceeded actionNotes.max(24). Truncate at
assemble; do not raise the schema cap.
Co-authored-by: Cursor <cursoragent@cursor.com>
Adopted reverse-verify repeated already-asked collect stems, treated 「这题跳过」 as stopping the case, and promised holdout/OOS checks that never ran. Collect spoken stems no longer prefix a year.
Co-authored-by: Cursor <cursoragent@cursor.com>
Five-theme personal_full assembled nine charts after health vargas landed, but the document schema still capped at six. Bind the count to the enum, align JSON/Python contracts, and log final-parse paths without values.
Co-authored-by: Cursor <cursoragent@cursor.com>
Heartbeat and GET were parsing progress_phase with a pattern that rejects the colon prefix the writer already persists, which aborted generation after the first chapter.
Co-authored-by: Cursor <cursoragent@cursor.com>
Accepted profiles were selecting a revoked rectification table and failing the report before the engine ran. Degrade to a null window when that optional read fails.
Co-authored-by: Cursor <cursoragent@cursor.com>
Move nextDatedCollectFollowup after family coverage so a new case still
asks D9 then D10. Dated third-event collect stays education → finance →
relocation → health. Admin input padding contract follows --space-3.
BUG-531 and BUG-532.
Co-authored-by: Cursor <cursoragent@cursor.com>
Holdout stays closed until the training gate opens and skips declined domains.
Dated collect order is shared with exhaustion; spoken prompts must name the domain; progress copy uses collection_progress only.
BUG-527 through BUG-530.
Co-authored-by: Cursor <cursoragent@cursor.com>
API birth payloads store hour/minute as floats, and datetime() rejected them
after sensitivity was wired into every consultation_workflow call.
Co-authored-by: Cursor <cursoragent@cursor.com>
AbortSignal.timeout() is unref'd, so a hanging generateText drained the test event loop and cancelled the rest of the file. Clear the timer after the model returns.
Co-authored-by: Cursor <cursoragent@cursor.com>
The early-exit reused the pre-click dossier, so the agent never ran on the common path. Use this-turn decision, log agent vs template outcome, and time out after 8s.
Co-authored-by: Cursor <cursoragent@cursor.com>
When leftover probes cannot split adjacent minutes, skip frameless follow-ups and let a no-tool agent explain the stop. Distinguish-card "no" no longer closes a whole evidence domain.
Co-authored-by: Cursor <cursoragent@cursor.com>
Consultation and personal reports otherwise ignore the merged friendship table, timing seed, module audit, and Pratyantar windows.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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>
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>
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>
- 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