docs: reconciliar OpenSpec e escopo do MVP (MAN-124) (#50)

This commit is contained in:
2026-08-11 12:05:00 -03:00
committed by GitHub
parent f8765add85
commit 213d6843e7
29 changed files with 359 additions and 28 deletions

View File

@@ -34,8 +34,7 @@ The system SHALL expose the public routes of SPEC §5.1: `home` (`/`), `services
- **AND** the case MUST appear in the `/portfolio` listing
### Requirement: Home renders the editorial structure from CMS content
The home page SHALL render, in order: header/navigation, hero, manifesto, featured services summary, featured portfolio selection, working method (four steps), testimonials, Amare positioning/profile, final contact CTA, and footer with contact, social links and legal links (WEB-01). Hero copy, brand name, manifesto, method and principles MUST come from `site_settings` (with editorial defaults when optional fields are empty); services, cases and testimonials MUST come from published records. The home MUST follow the Heritage Editorial composition (asymmetric spreads on desktop, linear sequence on mobile) rather than rounded card grids.
The home page SHALL render, in order: header/navigation, hero, manifesto, featured services summary, featured portfolio selection, working method (four steps), testimonials, Amare positioning/profile, final contact CTA, and footer with contact, social links and legal links (WEB-01). Hero copy, brand name, manifesto, method and principles MUST come from `site_settings` (with editorial defaults when optional fields are empty); services, cases and testimonials MUST come from published records. The home MUST follow the Heritage Editorial composition: asymmetric spreads and tonal fields on desktop, with portfolio images in alternating editorial proportions, and a linear complete sequence on mobile rather than rounded card grids.
#### Scenario: Published content is displayed in configured order
@@ -44,6 +43,7 @@ The home page SHALL render, in order: header/navigation, hero, manifesto, featur
- **THEN** the published content MUST be displayed following the `sort_order` and featured flags
- **AND** the hero MUST show the values stored in `site_settings`
- **AND** the manifesto, method and positioning sections MUST be present
- **AND** the portfolio section MUST use an olive tonal field with editorial image proportions
#### Scenario: CTA leads to the contact placeholder page
@@ -65,8 +65,7 @@ The home page SHALL render, in order: header/navigation, hero, manifesto, featur
- **THEN** the browser console MUST contain no JavaScript errors
### Requirement: Listing and detail pages exist for catalog content
The system SHALL render a services listing (WEB-02) and a portfolio listing plus case detail (WEB-03) using the Heritage Editorial visual language. The case detail MUST present summary, event type, optional city/venue/date, challenge, solution, optional result, cover image and the ordered gallery.
The system SHALL render a services listing (WEB-02) and a portfolio listing plus case detail (WEB-03) using the Heritage Editorial visual language. The case detail MUST present summary, event type, optional city/venue/date, challenge, solution, optional result, cover image and the ordered gallery. Portfolio listings and galleries MUST use alternating editorial image proportions on desktop while retaining DOM order and a single-column readable sequence on mobile.
#### Scenario: Services listing shows published services
@@ -79,6 +78,7 @@ The system SHALL render a services listing (WEB-02) and a portfolio listing plus
- **GIVEN** a published case with multiple gallery images
- **WHEN** a visitor loads the case detail
- **THEN** the images MUST be rendered ordered by `sort_order`
- **AND** desktop presentation MUST alternate editorial image proportions without changing that order
#### Scenario: Listings paginate open-ended growth
@@ -86,8 +86,7 @@ The system SHALL render a services listing (WEB-02) and a portfolio listing plus
- **THEN** `/portfolio` MUST paginate instead of rendering all records
### Requirement: Institutional and error pages have brand identity
The system SHALL provide the Sobre and Política de privacidade pages and branded error pages (WEB-07) using the Heritage Editorial public layout, including the brand mark when available. The 404 page MUST use the public layout, and the 500 page MUST NOT expose stack traces or internal details when `APP_DEBUG` is false.
The system SHALL provide the Sobre and Política de privacidade pages and branded error pages (WEB-07) using the Heritage Editorial public layout, including the brand mark when available. Contact, privacy and error surfaces MUST remain sober tonal layouts without decorative photography. The 404 page MUST use the public layout, and the 500 page MUST NOT expose stack traces or internal details when `APP_DEBUG` is false.
#### Scenario: Unknown URL renders branded 404
@@ -146,3 +145,16 @@ When public pages render illustrative/demo photography that is not an authorized
- **WHEN** the home or portfolio renders placeholder photography
- **THEN** a visible note or equivalent disclosure MUST indicate the imagery is illustrative pending authorized assets
### Requirement: Visual public and error pages expose the shared motion contract
The system SHALL apply the shared progressive opening and reveal contract to home, services, portfolio index/detail, about, contact, privacy, and branded 404/419/429/500/503 pages. The contract MUST NOT change page copy, content ordering, route behavior, or structural layout.
#### Scenario: Institutional page uses shared opening
- **WHEN** a visitor loads `/sobre`, `/contato`, or `/privacidade`
- **THEN** the page MUST expose the shared page opening hook and section reveal hooks
#### Scenario: Error page remains branded and progressively enhanced
- **WHEN** Laravel renders a branded 404, 419, 429, 500, or 503 response
- **THEN** the page MUST expose the shared opening hook
- **AND** all error guidance and navigation MUST remain immediately usable without enhancement