Follow up Gemini migration and Sutta metadata schemas - #187
Conversation
Use the SDK JSON schema conversion for translation and amendment review. Preserve nullable objects and arrays; canonical proposal enums now reach Gemini. Verified real SDK request shapes and two bounded live calls.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@codex review the current PR diff. Review source, tests, docs and the bounded public Sutta metadata additions only; exclude unrelated novel/LFS content and local operator artifacts. Check Gemini nullable schema conversion and proposal enums, compatibility of optional fields, evidence scope of work versus phrase parallels, and truthful local issue status. No deployment or merge requested. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d9034451c9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| startWordId: string; | ||
| endWordId: string; | ||
| /** Phrase recurrence; separate from phase- or whole-work parallels. */ | ||
| parallels?: ParallelRef[]; |
There was a problem hiding this comment.
Preserve citation IDs on parallel references
When a packet contains both work-level and phrase-level references to the same work—as MN10 now does for DN22—neither new reference can identify which flat Citation supports it because ParallelRef has no citation field. The Suttaplex provider already emits citationId (services/providers/scSuttaplex.ts:95-101), but typing these additions as ParallelRef[] discards that provenance contract, and the new test only locates a hard-coded citation independently. Add an optional citation ID to ParallelRef and populate it on both workParallels and span parallels so a renderer or validator can audit each claim against the correct work- or phrase-scoped evidence.
Useful? React with 👍 / 👎.
Summary
Follow up the merged Gemini SDK migration (#186): share the canonical translation JSON schemas, remove seven unused audio helpers, and add the optional Sutta metadata requested in #39, #40 and #42. Reconcile retired paths and resolved local investigations without changing their historical evidence.
Changes
formatDuration(126 → 8 lines); repository searches found no consumers of the other seven exports.docs/sutta-studio/curation/phase-a.md.Testing
gemini-3.6-flashpassed with the shared schemas: translation and amendment review (proposal: null), approximately $0.0036 from reported tokens. Synthetic text only; no key or private novel content in the branch.d903445(run 36043274326). CI line coverage 60.71% → 60.79%; statement coverage 59.17% → 59.25%. Codex review requested.anytypes removed.Limits
The earlier live compile returned no
ripples, so it did not establish whether the stripped map-value constraint changes output;responseJsonSchemais unchanged. No new renderer UI, browser acceptance, production model default, compiler unification (D2), or settings/provider architecture change is included. Historical manual acceptance gaps remain explicit. Read-only preview navigation reached Vercel sign-in, so no deployed browser-render acceptance is claimed.Review checklist
Closes #39
Closes #40
Closes #42