# AI Editor RSP — Hero Optimization Product Scope Acceptance

- task_id: t_b3582c36
- role: moce / Product Scope Acceptance
- project: /root/projects/aieditorrsp
- production_url: https://aieditorrsp.net/
- upstream_design_contract: /root/.hermes/reports/aieditorrsp-hero-optimization-20260603/design-acceptance.md
- input_brief: /root/.hermes/reports/aieditorrsp-hero-optimization-20260603/input-brief.md
- screenshot: /root/.hermes/image_cache/img_f1c401f16193.jpg
- generated_at_utc: 2026-06-03T07:55:51Z

## 1. Verdict

Product-scope verdict for current production: `PM_NO_GO`.

Product-scope verdict for frontend implementation: `PRODUCT_CONTRACT_GO` if the frontend worker implements the acceptance boundaries below and preserves the SEO/compliance guardrails.

Reason: the design contract correctly identifies the core product failure. The first screen must stop behaving like a combined editor + result state + account dashboard + billing teaser. The implementation target should be a focused first-screen edit task: upload source image → choose/edit reusable prompt → generate preview edit.

## 2. Product decision

Confirmed: the right hero panel should be treated as a compact home-entry editor, not the full editor/account surface.

The first-screen user task is:

1. Upload one source image.
2. Choose a reusable style prompt or edit the prompt.
3. Click Generate edit.
4. See result/progress only after action, not as a large idle surface before action.

Do not optimize the hero for account education, plan education, provider transparency, or credit-ledger explanation. Those are valid product surfaces, but not valid first-screen hero content.

## 3. First-screen allowed surface

Allowed in the initial home hero editor:

- Console top line: `STUDIO_CONSOLE_V01` or equivalent brand/status flavor.
- Upload source image control.
- Prompt textarea or prompt preview.
- Style prompt selector.
- One primary Generate button.
- One small neutral helper/quota line only if it is truthful and does not claim a specific balance without live data.
- Optional collapsed result hint, max 56–72px, e.g. `Result preview appears here after generation`.

Required density rule:

- Desktop hero card must fit the core task without scroll at 1366x768, 1440x900, and 1280x800.
- Mobile 390/430 must show Generate before any account/pricing/result expansion.
- If the content cannot fit, remove/collapse secondary content. Do not solve this by internal scrolling of the primary task.

## 4. Must move out of the initial hero

Move out of the home hero initial state:

- Full idle/result `statePanel`.
- `Account Credits` panel.
- `Login with Google` inside the hero editor.
- `Pro monthly`, `Pro yearly`, `Credit pack` buttons.
- Hard-coded `2 free generations left today`.
- Checkout/receipts/paid credits language.
- Provider/API implementation wording such as `server-side provider flow`, `/api/credits`, `/api/generate-image`, `fal processing`.
- Dominant metadata chips like `HD_MODE` and `TOKENS` if they compete with the user task. They may remain only as subordinate visual flavor.

Valid placements:

- Header: `Sign in` may remain if auth is real and tested.
- `/pricing`: plan and checkout education.
- Full editor page or post-quota state: account credits and paid upgrade flows.
- Post-generate or below-fold module: result preview/history/download details.

## 5. Account / credits / billing wording contract

Product-safe copy before compliance/backend verification:

- Allowed generic helper line examples:
  - `Preview generation checks available credits before running.`
  - `Sign in from the header to keep credits and results attached to your account.`
  - `Free preview availability is checked when you generate.`
- Not allowed in initial hero:
  - `2 free generations left today` unless read dynamically from verified credit state.
  - `Use free previews, or sign in for checkout`.
  - Any `live billing`, `live checkout`, `Pro checkout`, or receipt claim.
  - Any unlimited/high-resolution export claim not verified by backend/compliance.

Decision: quota wording should be generic in the hero. Specific remaining-credit count belongs to a verified authenticated/anonymous credit state, not hard-coded marketing UI.

## 6. State surface boundaries

Initial state:

- Show upload + prompt/template + Generate.
- No full result card.
- No account dashboard.
- No billing choices.

On Generate click without required input:

- Show inline validation near the missing field, e.g. `Upload a source image first`.
- Do not reveal a full account panel.

During generation:

- Show compact progress/status in the editor card.
- Keep the core controls visible or clearly disabled.

After successful generation:

- Result preview may expand below the Generate row or below the hero fold.
- Download/open-result affordance can appear after result exists.

After quota exhaustion or account-required state:

- Show account/upgrade prompt as a contextual state, not as default hero content.
- Pricing CTA can point to `/pricing`; checkout itself should remain off-hero unless verified by compliance/backend gates.

## 7. Product acceptance criteria for frontend worker

P0 acceptance:

- Current production blockers from the design contract are fixed without adding new product-scope debt.
- At 1366x768, 1440x900, and 1280x800: Generate is visible without scroll.
- At 390/430 mobile: Generate appears before any account/pricing/result module.
- Initial home hero contains only one user task: upload → prompt/template → generate.
- Initial home hero does not contain Account Credits, Google login, Pro monthly/yearly, Credit pack, or hard-coded remaining quota.
- Header sign-in/pricing navigation may remain, but the editor card itself must not sell plans or describe checkout.
- Result/idle state is collapsed or action-triggered.

P1 acceptance:

- Template selector can still communicate the value of reusable prompts, but descriptions should be compressed to avoid pushing Generate below fold.
- Technical visual language can remain, but it must not replace user-facing task instructions.
- The top badge/H1/subhead keep product meaning and SEO intent.

NOT-DO for this implementation:

- Do not rewrite pricing strategy.
- Do not add new billing, auth, or credits behavior.
- Do not change provider/backend generation flows unless strictly needed to remove misleading hero copy.
- Do not move SEO expansion copy into the editor console.
- Do not introduce a full workbench redesign; this is a hero scope correction.

## 8. SEO and compliance guardrails

Frontend must preserve:

- `makeSeoMetadata("/")`.
- `<SeoJsonLd route="/" />`.
- `<SeoExpansion route="/" />`.
- H1 semantic coverage: `AI Image Editor` + `Prompt Templates`.
- Intro semantic coverage: upload/source photo, reusable style prompt/templates, portraits/product/social assets, prompt control.
- Canonical/OG/Twitter/sitemap behavior from current helpers.

Compliance guardrail:

- Until auth, Stripe, credit ledger, provider limits, refunds/account handling, and pricing terms are jointly verified, the hero must avoid specific billing/checkout/credit claims.

## 9. Checks run

- Loaded `kanban-worker` skill.
- Loaded `product-definition-prd` skill.
- Read task context with `kanban_show(t_b3582c36)`.
- Sent Telegram `[START]` to `telegram:孟健一人公司`, message_id 7957.
- Read input brief: `/root/.hermes/reports/aieditorrsp-hero-optimization-20260603/input-brief.md`.
- Read upstream design contract: `/root/.hermes/reports/aieditorrsp-hero-optimization-20260603/design-acceptance.md`.
- Inspected user screenshot: `/root/.hermes/image_cache/img_f1c401f16193.jpg`.
- Checked production HTTP response: `curl -I -L --max-time 15 https://aieditorrsp.net/` returned HTTP/2 200.
- Searched source for current product-scope blockers: `CreditAccountPanel`, `2 free generations left today`, `statePanel`, `HD_MODE`, `TOKENS`, `Generate Edit`.
- Searched source for SEO guardrails and hero layout hooks: `makeSeoMetadata("/")`, `SeoJsonLd route="/"`, `SeoExpansion route="/"`, `.studio-hero--tool`, `.editor-console--hero`.
- Checked repo status after review; source worktree showed `M src/components/ProductPreviewEditor.tsx`. This product-scope task did not intentionally edit code; the diff appears to be implementation work already present in the shared workspace and must be owned/verified by the frontend implementation gate.

## 10. Residual risk

- Final `PM_GO` cannot be granted until frontend implementation is deployed and rechecked on production viewports.
- Auth/Stripe/provider/credits truthfulness was not independently verified in this task; compliance/backend gates must decide whether specific account or billing claims can return outside the hero.
- SEO is protected by guardrails, but copy/layout changes can still accidentally weaken intro semantics; SEO recheck remains required after implementation.
- If the product owner wants result preview visible in the hero before user action, that conflicts with this acceptance contract and should be treated as a product decision, not a design tweak.

## 11. Next inputs

For `mojie` frontend implementation:

- Use this product contract and the upstream design contract as implementation inputs.
- Produce a hero-only change that removes account/billing/result idle overload from the initial home editor.
- Preserve SEO helpers and semantic H1/intro copy.
- Commit, push, deploy, and report production URL + commit SHA.

For downstream checks:

- `moyin`: verify SEO guardrails after implementation.
- `modun`: verify quota/login/checkout/provider claims after implementation.
- `moying`: verify visual first-screen fit after implementation.
- `moce`: recheck product task clarity after deployed screenshots are available.

## 12. Structured acceptance JSON

```json
{
  "verdict": "PRODUCT_CONTRACT_GO_FOR_IMPLEMENTATION",
  "current_production_verdict": "PM_NO_GO",
  "implementation_scope": "hero-only product simplification",
  "first_screen_task": "upload_source_image -> choose_or_edit_prompt_template -> generate_preview_edit",
  "allowed_initial_hero_surfaces": [
    "upload_source_image",
    "prompt_textarea_or_preview",
    "style_prompt_selector",
    "generate_button",
    "neutral_dynamic_helper_line",
    "optional_collapsed_result_hint"
  ],
  "disallowed_initial_hero_surfaces": [
    "full_idle_result_statePanel",
    "Account Credits",
    "Login with Google inside hero editor",
    "Pro monthly",
    "Pro yearly",
    "Credit pack",
    "hard-coded remaining quota",
    "live checkout or billing claims",
    "provider/API implementation wording"
  ],
  "frontend_next_gate": "mojie_frontend_implementation",
  "requires_after_implementation": [
    "design_recheck",
    "seo_recheck",
    "compliance_recheck",
    "product_recheck",
    "final_qa"
  ]
}
```
