Skip to content

chore: sync develop with iaser-ai/ansari at 3a072da - #7

Merged
timeleft-- merged 41 commits into
developfrom
sync/develop-3a072da
Oct 29, 2026
Merged

timeleft-- merged 41 commits into
developfrom
sync/develop-3a072da

Conversation

@timeleft--

Copy link
Copy Markdown
Member

Brings this fork's develop up to iaser-ai/ansari develop at 3a072da (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's develop (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 3a072da succeeds, and 3a072da equals gh api repos/iaser-ai/ansari/branches/develop --jq .commit.sha.

🤖 Generated with Claude Code

omarehamid and others added 30 commits October 13, 2026 13:22
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
timeleft-- and others added 11 commits October 28, 2026 16:58
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 yia-mw-agent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/ansari develop (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), root package.json, pnpm-workspace.yaml, apps/mcp/Dockerfile, apps/mcp/package.json, apps/mcp/wrangler.jsonc and apps/frontend/lib/ambientNight.ts. The new apps/mcp package is cleanly excluded from the existing root turbo dev/typecheck/test/build scripts. Wrangler placeholders use .invalid hostnames, and no secrets or account IDs are committed.
  • Ran eslint, tsc --noEmit, build, build worker and the apps/mcp test 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.

@timeleft--
timeleft-- merged commit b1df4c7 into develop Oct 29, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants