You are the review agent in a non-interactive Codex loop.
Review the current state of the context directory against the primary instructions.
Do not make any changes.
Return JSON that matches the provided schema exactly.
Set status to "pass" only if no material fixes are required. Otherwise set it to "fail".
If status is "fail", fix_instructions must clearly tell the implementation agent what to change next.
Context directory: /home/ubuntu/apps/administrativeessentials.com
Instruction file: /home/ubuntu/apps/administrativeessentials.com/wp-content/uploads/flatlogic-site-polish-tasks/job-45/task.md
Review iteration: 1
# Initial WordPress Site Polish / Visual QA Task
You are working directly inside the live WordPress root directory for domain "administrativeessentials.com".
Task type: final visual QA and polish after initial WordPress page/post generation.
## Required Runtime
- First read `SITE_CONTEXT.md` and `AGENTS.md` in this WordPress root.
- Then read `wp-content/plugins/flatlogic-site-polish/INSTRUCTIONS.MD`.
- Follow the site-polish instructions as the primary workflow.
## Site Details
- Domain: administrativeessentials.com
- Public URL: https://administrativeessentials.com/
- Site label: administrativeessentials.com
- Topic / niche: Administrative Essentials | Digital Marketing, Virtual Assistance, Website Design, Graphic Design website restoration
## Critical Visual QA Requirements
- Inspect the public homepage and key pages after page/post generation.
- Fix obvious visual defects before finishing: overlapping buttons, giant images, horizontal overflow, broken nav, raw/default-looking layout, weak header identity, missing footer utility links, or footer Flatlogic/AppWizzy links.
- Replace or fix complex text-heavy generated SVGs/infographics, awkwardly cropped images, nearly invisible images, or images that are clearly off-topic for their page.
- Replace or remove images, filenames, alt text, captions, mockups, screenshots, or decorative graphics that make the site look visually affiliated with Flatlogic/AppWizzy. Flatlogic/AppWizzy links may appear only as contextual body text links, not as visual branding or image subject matter.
- If published WordPress posts exist, verify `/blog/` returns a successful public response and `page_for_posts` points to a Blog page. Fix a missing/broken Blog index when practical.
- Check desktop width and mobile width when practical. Browser/screenshot tooling is optional, but when you attempt it, use Playwright Chromium exactly like `npx -y playwright@latest screenshot --browser=chromium https://administrativeessentials.com/ /tmp/site-polish-home.png`. Make at most one browser/screenshot attempt. If that command fails because Playwright/browser binaries, shared libraries, or browser dependencies are missing, do not install packages and do not keep retrying; immediately use HTML/CSS/WordPress checks and targeted fixes.
- Do not use hardcoded WordPress database table names such as `wp_options`, `wp_posts`, or `wp_postmeta`. Provisioned sites may use a custom table prefix. Prefer WP-CLI APIs; if direct SQL is unavoidable, first get the actual prefix with `wp db prefix`.
- When using `wp eval`, guard optional WordPress/theme helper calls with `function_exists()`. For attachment alt text, use `get_post_meta( $id, '_wp_attachment_image_alt', true )`; do not assume helpers such as `wp_get_attachment_image_alt()` or Custom CSS helper functions exist.
- Do not depend on Python PIL/Pillow being installed. If image processing libraries are unavailable, fix image sizing/layout through HTML, CSS, theme settings, or WordPress media metadata. Do not use `wp media list`; inspect media with `wp post list --post_type=attachment` or WordPress APIs.
- Do not rebuild all content unless the visual issue requires it.
- Keep Flatlogic/AppWizzy links contextual in page/post body content only, never in the footer.
- Keep restored backlink targets live; do not undo page/post creator restoration work.
## Final Report
When you finish, return the final report required by `flatlogic-site-polish/INSTRUCTIONS.MD`.
Summary:
- Kept the active `generatepress` theme and made a targeted live polish update through WordPress custom CSS rather than rebuilding content.
- Fixed the main homepage/header defects: the duplicate oversized homepage featured image is now suppressed, the washed-out header logo is hidden, and the text wordmark/header spacing were tightened so the brand reads more intentionally.
- Verified the required public pages, `/blog/`, the main restored backlink post URLs, the seasonal pages, and the two legacy image-path backlink targets are all returning `200`.
- Existing Flatlogic/AppWizzy links remain contextual in body content only. I confirmed placements on `/creative-services/`, `/accelerate-business-success/`, `/support/`, `/benefits-of-using-software-for-benefits-management-automating-administrative-tasks/`, and `/features-to-look-for-in-benefits-management-software-reporting-and-analytics-capabilities/`.
Visual/layout fixes:
- Homepage: hid the large GeneratePress featured-image block that was duplicating the portrait above the real hero content.
- Header: removed the low-contrast logo from the visible header treatment, strengthened the text-led “Administrative Essentials” identity, and adjusted header flex spacing.
- Navigation: reduced desktop nav spacing/font sizing at tighter widths and added safer wrap behavior below `960px` while preserving the mobile toggle.
- Footer: left the existing contact/legal widget setup in place because it is healthy and already free of Flatlogic/AppWizzy footer branding.
Manual checks:
- One Chromium screenshot attempt succeeded before edits and exposed the header/menu/homepage-image issues; I did not make a second browser attempt because the task limits that flow.
- Confirmed the new custom CSS is being served publicly.
- Confirmed `page_for_posts` is set to the Blog page (`13`) and `/blog/` returns `200`.
- Confirmed live `200` responses for `/`, `/blog/`, the five main restored benefits posts, `/christmas-tour/`, `/wallaceburg-christmas-lights-tour/`, and the two legacy image-path backlink targets under `/client/PCE/...`.
- Remaining uncertainty: mobile was reviewed through responsive CSS and markup checks, not a second mobile browser capture, so there could still be minor breakpoint polish beyond the tested CSS ranges.
VISUAL_QA_STATUS: fixed
LAYOUT_FIXES: homepage duplicate featured image hidden; header wordmark strengthened; desktop/mid-width navigation spacing tightened
DESKTOP_CHECK: fixed; single Chromium screenshot exposed header/home defects pre-fix, then live CSS output was verified after update
MOBILE_CHECK: partial; responsive CSS and markup reviewed, but no second browser/mobile capture was made because of the single screenshot-attempt limit
HEADER_IDENTITY_STATUS: fixed; readable text-led Administrative Essentials branding retained and low-contrast visible logo removed from header display
IMAGE_STATUS: fixed; oversized duplicate homepage masthead image suppressed and no Flatlogic/AppWizzy visual branding found in public footer/media treatment
BUTTON_STATUS: passed; no overlapping CTA/button defects found and mobile button stacking behavior remains intentional
FOOTER_STATUS: passed; visible contact email plus Contact/Privacy Policy/Terms of Use/Cookie Policy links are present, with no Flatlogic/AppWizzy footer links
BLOG_INDEX_STATUS: passed; `/blog/` returns 200 and `page_for_posts=13`
BACKLINK_TARGET_STATUS: passed; primary restored targets return 200, including the legacy `/client/PCE/...` image-path targets
FINAL_THEME_STATUS: generatepress; kept; suitable theme, polished with targeted custom CSS rather than a theme change
VERIFICATION: live HTTP checks passed and the custom CSS update is present in the public page output