Skip to content

feat: deliver MotionPress AI animation and SEO publishing workflow#17

Open
youxiandechilun wants to merge 2 commits into
floatboatai:mainfrom
youxiandechilun:agent/full-interview-feature-suite
Open

feat: deliver MotionPress AI animation and SEO publishing workflow#17
youxiandechilun wants to merge 2 commits into
floatboatai:mainfrom
youxiandechilun:agent/full-interview-feature-suite

Conversation

@youxiandechilun

Copy link
Copy Markdown

Description

This PR turns the interview template into MotionPress, a cohesive AI-assisted animation and SEO publishing workspace instead of a collection of disconnected demo surfaces.

What changed

  • Added a responsive workspace with overview, Animation Studio, article publishing, task center, user/role management, usage and cost reporting, and AI provider configuration.
  • Connected prompt rewrite and scoring, safe HTML animation generation, preview persistence, MP4/WebM rendering, CMS attachment, SEO quality gates, publication tasks, Astro synchronization, and public delivery.
  • Added encrypted OpenAI-compatible provider settings, readiness diagnostics, idempotency, concurrency and token quotas, usage settlement, retry handling, and network safety controls.
  • Added Post, Author, and Tag workflows with slug validation, draft/published states, RBAC, disabled-account guards, protected media, and sanitized content output.
  • Added canonical, Open Graph, Twitter Card, robots, sitemap, and JSON-LD generation across the app and blog.
  • Retired the live payment, demo scheduler, and standalone upload surfaces; their reference implementation is isolated under template/app/legacy and excluded from the runtime.
  • Added implementation, product, design, integration, migration, unit, security, and end-to-end documentation and coverage.

Why

The previous feature surfaces were individually discoverable but did not form a usable product workflow. This change establishes one explicit path from system readiness and prompt optimization through animation rendering, editorial review, SEO validation, and public blog delivery.

User and developer impact

  • Users get a bilingual, mobile-ready workspace with role-appropriate navigation and truthful integration readiness states.
  • Editors can publish only after content and SEO checks pass, while public content and media are sanitized and status-gated.
  • Administrators can configure providers without exposing stored API keys and can inspect limits, cost, tasks, and account access.
  • Developers get source-controlled migrations, production configuration validation, fresh-database verification, and broader test coverage.

Validation

  • App unit/security tests: 162 passed (2 opt-in renderer integration cases skipped by the default suite).
  • Real renderer integration: MP4 and WebM 2/2 passed with Chromium and FFmpeg enabled.
  • TypeScript: npx tsc -p tsconfig.src.json --noEmit.
  • Blog tests: 22 passed.
  • Playwright desktop/mobile E2E: 19 passed.
  • Fresh PostgreSQL migration replay: all 5 migrations applied successfully.
  • Wasp compilation and production build passed.
  • Astro online CMS/SEO build passed and generated 15 pages.

Deployment notes

Production deployments must provide public app/blog origins, ADMIN_EMAILS, AI_CONFIG_ENCRYPTION_KEY, an absolute persistent AI_VIDEO_STORAGE_DIR, SendGrid credentials and a verified sender, plus the CMS rebuild webhook credentials when automatic publication deployment is enabled.

Contributor Checklist

  • Update e2e tests: Added and updated desktop, mobile, auth, CMS, admin, and access-control scenarios under /template/e2e-tests.
  • Update demo app: Not applicable to this interview product branch; the implementation is intentionally scoped to the distributable template and its Astro blog.
  • Update docs: Updated the root/template READMEs and added implementation, product, design, CMS integration, and deployment guidance.

@youxiandechilun youxiandechilun marked this pull request as ready for review July 14, 2026 08:31
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.

1 participant