# Verunel · developer handoff

Frozen implementation pack for `VER-26-0085` · v4.
Every ticket preserves the measured signal, business impact, affected scope, evidence and re-verification criteria.

**Implementation tasks:** 4  
**Issue groups:** 4  
**Evidence items:** 4  
**Cutoff:** `2026-09-07T12:00:00.000Z`
**SHA-256:** `abb94f9d31b4129d502bd773568bfefdbc9cf56611733d2b7f23b74b400ff8b6`

# 01 · Speed up the main content

**Priority:** now  
**Owner:** development  
**Effort:** M

## Rationale

Late main content can hinder the first view of the offer\. Business impact is not measured in this sample\.

## Steps

- First capture the LCP element and timing trace\. The image, font or server are hypotheses, not a confirmed cause\.
- Repeat the lab measurement on the same URL, profile, network and cache state\. LCP should be at most 2\.5 s; retain the raw record and element attribution if available\. Confirm the cause with a timing trace; assess real\-user data separately\.

## Related measurements

- **The main content appears too slowly:** Synthetic lab LCP: home page 4\.1 s on desktop and 4\.2 s on mobile\. The good LCP threshold is 2\.5 s\.

## Affected URLs

- `https://primer.test/`

## Evidence

- `ev-measurements`

# 02 · Enforce the verified CSP policy

**Priority:** next  
**Owner:** development  
**Effort:** M

## Rationale

Report\-only records violations but does not block disallowed sources\. This alone does not demonstrate an exploitable vulnerability\.

## Steps

- Review reported violations, identify required sources and enforce CSP after testing the journeys\.
- The assessed URL response includes an enforced Content\-Security\-Policy header with approved sources\. Report\-only is not enforcement\. Verify agreed journeys and policy violations after enabling it\.

## Related measurements

- **CSP is only in report\-only mode:** The synthetic home\-page response contains Content\-Security\-Policy\-Report\-Only, but no enforced Content\-Security\-Policy header\.

## Affected URLs

- `https://primer.test/`

## Evidence

- `ev-headers`

# 03 · Give pages distinct, descriptive titles

**Priority:** later  
**Owner:** marketing/SEO  
**Effort:** S

## Rationale

Distinct descriptive titles help people and search engines distinguish the content\.

## Steps

- Keep the appropriate title for /storitve, use “Kontakt \| Primer” for /kontakt and repeat the comparison\.
- Every URL in the assessed scope has an appropriate, unique title\. A repeated title comparison over the same scope no longer detects these duplicates\.

## Related measurements

- **Two pages share the same title:** /storitve and /kontakt use “Storitve \| Primer”; the home page has a different title\.

## Affected URLs

- `https://primer.test/storitve`
- `https://primer.test/kontakt`

## Evidence

- `ev-titles`

# 04 · Verify the image purpose and accessible name

**Priority:** later  
**Owner:** design  
**Effort:** S

## Rationale

If decorative, the description unnecessarily repeats content in a screen reader\. No real user session was performed\.

## Steps

- Confirm the decorative purpose, use alt="" and inspect the accessible name\. If the image conveys meaning or a function, describe that instead\.
- A person verifies the image purpose\. A decorative image has alt="" and does not repeat nearby text in its accessible name; an informative or functional image describes its meaning or function\. Repeat accessible\-name inspection and automated checks\.

## Related measurements

- **Review the decorative image description:** The sample element \#hero\-decoration has alt “Jasna storitev\.”, repeating the adjacent heading\. Its decorative purpose is an explicit sample assumption requiring human judgement\.

## Affected URLs

- `https://primer.test/`

## Evidence

- `ev-home`
- `ev-measurements`
