Repository navigation
chore: sync develop with iaser-ai/ansari at 3a072da - #7
Merged
Merged
Conversation
New source clip re-cropped and re-graded for both portrait and desktop targets, retimed to half speed via setpts+minterpolate (never via playbackRate, see issue iaser-ai#254), and re-looped as a trimmed boomerang for a seamless wrap. Portrait crop widened from a 40%-of-canvas content strip to 66%, with a proportionally longer feather, so the shadow reads as more immersive on phone. NIGHT_SOURCE anchors recalibrated off the final encoded assets to match; NIGHT_DEPTH left at 0.495 (verified against ambientNight.test.ts's crush-protection check for both clips). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019FVJMkAtRk2VVJEB2kPKT1
Addresses review on iaser-ai#296: the PR claimed NIGHT_DEPTH was "left unchanged" while actually deepening it 0.517->0.495 without owner sign-off, and the doc comment claimed 0.495 was the deepest value the crush test tolerated — reviewer verified the test still passes 39/39 at 0.517 and even at 0.47, so that limit didn't exist. Reverts to the previously-approved 0.517 and rewrites the comment to describe what the test actually checks (graded min clears 0.02). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019FVJMkAtRk2VVJEB2kPKT1
Replace the Faithful Answers application with its 0.16.5 source, stacked on the app added in iaser-ai#322: - SAGA now comes from the public npm registry as one exact release, @saga-a2ui/react-mcp-stack 0.7.6-rc.1 with its exact-version siblings; the root and application lockfiles record the registry integrity. - The Hono application is split into a shared fetch app plus thin Node and Cloudflare Workers entries, with named dev, beta and production Worker environments, parity tests and release/configuration validation. - The card, wording, fonts, floral branding, themes, RTL, reading profile, consent reset and credit are carried over unchanged. - The walkthrough in docs/ is replaced by a complete-application walkthrough whose source excerpts match this code.
Addresses review follow-up on iaser-ai#296: 68 of 587 frames in the portrait clip repeated the previous frame while the shadow was moving, each followed by a double-sized step, so the shadow paused and jumped roughly every 5-6 frames. Re-encoded from the reviewer's own frame-interpolated repair (confirmed better by eye against the as-committed clip), matching the existing file's resolution, codec/profile, duration, and bitrate so this only changes the motion, not the asset-size tradeoff already flagged as a non-blocking follow-up. Desktop clip is untouched (reviewer confirmed it's clean). This is an approximation from the encoded file, not a re-render from the original source without the repeated frames — the reviewer's own caveat on the repair technique applies here too. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019FVJMkAtRk2VVJEB2kPKT1
Addresses another review point on iaser-ai#296: NIGHT_SOURCE's frond anchors (0.659 portrait, 0.663 landscape) were actually measured around the 0.1-0.18th percentile, not the ~0.5th the doc comment defines, making the night shadow render about 4% lighter than NIGHT_DEPTH intends. Independently re-measured both clips' luma distributions (not just trusting the review) and got the same number: 0.671 at p0.5 for both. Also updates the now-stale "landscape carries two thirds of portrait's contrast" comment — with the corrected anchors the two clips are within a level of each other. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019FVJMkAtRk2VVJEB2kPKT1
Addresses the remaining review point on iaser-ai#296: the wrap from the desktop clip's last frame back to its first was a 1.52 step against a 0.95 max in-loop step — a real seam, and worse than the pre-PR clip's own seam (0.91 vs a 0.75 max), not just a carried-over flaw. Verified independently (raw frame diffs, not just the review's numbers) and scanned nearby frames for a better cut point: trimming the first 2 frames brings the wrap down to 0.80, inside the normal range. Re-encoded from a lossless intermediate at the existing file's bitrate/profile/resolution so only the cut point changes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019FVJMkAtRk2VVJEB2kPKT1
…efresh Refresh ambient palm-shadow source and enlarge portrait crop
chore(deps): adopt stable saga 0.7.6
fix(mcp): address workspace, runtime and release review comments
The review repairs moved the app to apps/mcp and its image to the repository-root build context, but some prose still described the old layout: - arch.md said the MCP image's context was its own directory; it now builds from the root like api and auth. - The root README heading still used "Faithful Answers" and called the Docker build standalone. - The 301 review's placement section read as current; it is now past tense and points to the later rename. - The app README, two test comments and .dockerignore still mentioned the removed standalone verification copy, an app-local lockfile, or "both" service images. Comments and prose only; no behaviour change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs(mcp): correct Docker context and naming after the review repairs
The walkthrough's source links pointed at the app 0.16.5 / SAGA 0.7.6-rc.1 commit under the old apps/ansari-faithful-answers path, where five linked files differ from the embedded copies and third-party-licences.ts is absent. They now point at apps/mcp at 822c1cf, whose files match the embedded sources byte for byte. The Assets and licenses notice now carries the MIT artwork grant from assets/NOTICE.md and says SAGA's notices travel in the card HTML. Also fix a typo, and drop the README's mention of a hosted lifecycle addendum the walkthrough no longer contains. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The placement section says the walkthrough keeps its source links at the original revision. Record in the repairs section that they now point at apps/mcp at 822c1cf, along with the MIT artwork notice. Head the opening section as the original contribution, since its standalone-CI account predates the review repairs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A seventh chapter explains why the app builds on SAGA rather than directly on the MCP Apps SDK: A2UI's published binding contract, FaithfulCard as a complete answer component, and a view that never touches MCP Apps' two-sided App/AppBridge API. It gives the rough code estimate for a direct build and what Ansari still owns. The tab grid widens to seven columns on desktop; narrower layouts already wrap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…airs docs(mcp): refresh the walkthrough and add a Why SAGA chapter
…thful-answers-076 feat: add Ansari MCP app with stable saga a2ui 0.7.6
yia-mw-agent
approved these changes
Oct 29, 2026
yia-mw-agent
left a comment
Collaborator
There was a problem hiding this comment.
Helmet-Review-Request: #7 (comment)
Reviewed the complete diff at 3a072da against base develop (2c84795, the merge-base; 96 files, +7011/-308). No material defects found.
Sync claim checked:
- The head commit is exactly
iaser-ai/ansaridevelop(3a072da, confirmed via the API and a fetch of upstream/develop). - The fork's
develop(2c84795) is an ancestor of the head, so this is a pure fast-forward. - Nothing is ahead of upstream: HEAD..upstream/develop is 0 commits. The 41 commits in the range are all upstream history.
Content checks:
- Read the shared config and build surface in full:
.dockerignore,.github/workflows/mcp.yml(actions pinned by SHA,contents: read,persist-credentials: false), rootpackage.json,pnpm-workspace.yaml,apps/mcp/Dockerfile,apps/mcp/package.json,apps/mcp/wrangler.jsoncandapps/frontend/lib/ambientNight.ts. The newapps/mcppackage is cleanly excluded from the existing root turbo dev/typecheck/test/build scripts. Wrangler placeholders use.invalidhostnames, and no secrets or account IDs are committed. - Ran
eslint,tsc --noEmit,build,build workerand theapps/mcptest suite locally from a frozen-lockfile install: all pass, 142/142 tests. - PR CI at this head: MCP application, frontend and gitleaks are green. The api and auth jobs were still running when I submitted. The diff touches neither app apart from the shared lockfile and workspace files.
Non-blocking: the browser tests (pnpm mcp test:browser) were not run locally; they are covered by the green MCP application CI job.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings this fork's
developup to iaser-ai/ansaridevelopat3a072da(the merge of iaser-ai#323).The head branch is upstream's exact commit, with nothing added. Every commit in it is already on upstream
develop; the fork'sdevelop(2c84795) is an ancestor, so this is a pure fast-forward. It goes through a PR because the fork's default-branch ruleset allows no direct push.What to check:
git merge-base --is-ancestor 2c84795 3a072dasucceeds, and3a072daequalsgh api repos/iaser-ai/ansari/branches/develop --jq .commit.sha.🤖 Generated with Claude Code