LL2 · LLL review board

Kertújítók portal backup and consistent UI

FULL CONTRACT · REVIEW ONLY

Authorized overnight implementation of the nine portal changes and shared design system.

Execution: not launchedRun: kertujitok-portal-overnight-2026-10-02Updated: 2026-10-02 Europe/Budapest
0 / 12criteria verified

Current path to the deliverables

CURRENT STATE

Current state

Live Cloudflare portal exists. Current source shows missing calendar/row/template flows, inconsistent styles, confusing draft controls and pricing-mode gap. Local checkouts may be stale.

INPUTS

Available inputs

  • Meeting and code mapping · confirmed — Use full supplied transcript, screenshot and current-source code-map report, then freshly reconcile actual production.
  • Launch authority · confirmed — Matt explicitly requested a fresh Sol6.1 High executor and no further approval or questions while asleep.
  • Exact requested numbering · confirmed — Use items1–9 in the prior CHAT list. Item9 is independent pricing modes (report P10), not the real-customer trial (report P9).
DESIRED STATE

Desired state

A backed-up, restorable live portal implements the nine requested changes using one coherent design system. Deployed behavior, PDF arithmetic/persistence and postdeployment visual checks are evidenced.

OBSERVABLE DELIVERABLES

Deliverables

  • Export fresh serving Worker source/assets/config/version, affected D1 schemas/data and relevant document/R2 references, with hashes and exact rollback/restore instructions. Keep backups private.
  • Add Egyéb entries with free text and simple date plus optional time. No fabricated customer record.
  • Include the reminder note in the initial create form and persist it immediately.
  • Insert above/below selected rows and move rows into actual work sequence, retaining values and row identity.
  • Remove unwanted rows from the normal editor with practical recovery, maintaining settlement consistency.
  • Create a separate customer quotation by copying editable quote rows/terms, and support named reusable templates without fake customer contact data.
  • Present latest working quotation without manual draft lifecycle management or draft labels, preserving issued history.
  • Inventory exact synthetic IDs and archive/remove only confirmed tests using a verified restore route.
  • Convert footer action to a clear genuine link to the corresponding article, and verify portal route into public collection.
  • Provide clear independent unit-price vs fixed-total choices for labour/material, retaining inclusion controls and fixed transport.
  • Define reusable typography, color, spacing, border stroke/radius, button/input/card/table and state tokens. Apply across shell, CRM drawers, calendar, quotations, blog manager and reporting while preserving green brand and dense spreadsheet usability.
  • Serialize integration, deploy from reconciled source, preserve unrelated routes/data, verify normal workflows and publish honest final contract evidence.
Deliverable details

Verified backup and practical restore

Current problem: The current live portal must be preserved before any change.

Proposed change: Export fresh serving Worker source/assets/config/version, affected D1 schemas/data and relevant document/R2 references, with hashes and exact rollback/restore instructions. Keep backups private.

Visible at: Private backup index and restore receipt

Representative test: Restore representative data/source into isolated resources and verify hashes/counts without rolling back production.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

The pre-change live version, source/config/assets and affected data have a verified practical restore route.

Verification: Read back exact account/Worker/database identity, hash exported artifacts, validate restore commands and rehearse narrowly against isolated resources.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: backup-index
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Private backup/restore index, BEFORE changes; isolated restore results

Independent LUNA must inspect: Exact live version, export date, source/data hashes and restore-check outcomes are readable. No secrets or customer rows are visible. Screenshot supports index readability only; files/hashes/readbacks prove backup.

Evidence file: screenshots/backup-index.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

1. Customer-free calendar entries

Current problem: The planner requires a customer.

Proposed change: Add Egyéb entries with free text and simple date plus optional time. No fabricated customer record.

Visible at: Live calendar creation/edit views

Representative test: Create, edit, reload and remove a customer-free entry, including a personal errand.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

A customer-free calendar entry survives reload and can be edited/removed without changing customer data.

Verification: Exercise deployed create/edit/reload/delete or recoverable archive path and verify storage readback.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: calendar-other-create
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Calendar > Add > Egyéb, completed form

Independent LUNA must inspect: Free-text personal entry, date and optional simple time are visible; there is no required customer selector.

Evidence file: screenshots/calendar-other-create.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Screenshot required: calendar-other-reload
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Calendar, AFTER save and a full reload; entry detail open

Independent LUNA must inspect: The same personal entry appears on the selected date, its saved text is readable, and edit/remove controls are understandable.

Evidence file: screenshots/calendar-other-reload.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

2. Reminder text at creation

Current problem: Reminder creation currently requires a later customer edit to add text.

Proposed change: Include the reminder note in the initial create form and persist it immediately.

Visible at: Live quick planner and reminder display

Representative test: Create a reminder with text and verify after reload.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

New reminders save their note in one flow and show it immediately and after reload.

Verification: Perform normal deployed flow and storage readback, also regression-check existing reminders.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: reminder-create-note
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Calendar > Add > reminder, before save

Independent LUNA must inspect: A note field is available in the initial creation form, alongside selected customer/date.

Evidence file: screenshots/reminder-create-note.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Screenshot required: reminder-saved-note
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Calendar reminder detail AFTER full reload

Independent LUNA must inspect: The entered reminder text is visible and intact without a second customer-edit step.

Evidence file: screenshots/reminder-saved-note.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

3. Insert and reorder quote rows

Current problem: New rows append and predefined sourceRow ordering prevents natural sequencing.

Proposed change: Insert above/below selected rows and move rows into actual work sequence, retaining values and row identity.

Visible at: Live proposal grid and exported PDF

Representative test: Insert below Rotálás, reorder existing/default/new rows, reload and export.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

Grid, autosaved model, reopened proposal and downloaded PDF retain the same chosen order and correct totals.

Verification: Use meaningful model/API/grid/export assertions and actual PDF text/geometry check on mixed rows.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: quote-row-insert
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Proposal editor grid AFTER inserting below Rotálás

Independent LUNA must inspect: The new row is immediately below the chosen row, the remaining sequence and row values stay legible.

Evidence file: screenshots/quote-row-insert.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Screenshot required: quote-row-order-pdf
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Proposal editor AFTER reorder/reload, grid and PDF preview side by side

Independent LUNA must inspect: Chosen work sequence matches between the visible grid and PDF. Totals remain readable; no overlapping row controls or clipped labels.

Evidence file: screenshots/quote-row-order-pdf.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

4. Remove unwanted editor rows

Current problem: Removed rows remain visible and clutter the grid.

Proposed change: Remove unwanted rows from the normal editor with practical recovery, maintaining settlement consistency.

Visible at: Live grid, restore affordance and PDF

Representative test: Remove middle row, reload/export, recover it, including allocation edge case.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

Removed rows disappear from normal editor and active totals/PDF; recovery restores them without corrupting stages/payments.

Verification: Deployed normal workflow plus arithmetic/persistence/settlement regression checks.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: quote-row-removed
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Proposal editor AFTER removing a middle row/reloading, grid and PDF

Independent LUNA must inspect: The removed row does not remain as a faded normal grid row and is absent from active quote content; the normal editor is concise.

Evidence file: screenshots/quote-row-removed.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Screenshot required: quote-row-restored
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Proposal editor AFTER recover/restore

Independent LUNA must inspect: Restored row and values return in a clear position, with recover affordance understandable. Storage/arithmetic evidence supplements screenshot.

Evidence file: screenshots/quote-row-restored.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

5. Duplicate and reuse templates

Current problem: There is no duplicate/template UI/API.

Proposed change: Create a separate customer quotation by copying editable quote rows/terms, and support named reusable templates without fake customer contact data.

Visible at: Live quotation list/create/editor

Representative test: Duplicate A to B and reuse Sablon1/Sablon2; original A stays unchanged.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

New-customer duplication and named templates work, reset original customer link/history/stages/payments/baseline and preserve original issued PDFs.

Verification: Compare source/target records and hashes before/after, reopen each and export representative copies.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: quote-duplicate-customer
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Quotation list > Duplicate dialog/new-customer selection

Independent LUNA must inspect: The source proposal and distinct target customer are unambiguous, editable content-copy scope is clear.

Evidence file: screenshots/quote-duplicate-customer.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Screenshot required: quote-template-reuse
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Named template picker and created proposal editor

Independent LUNA must inspect: At least two named templates are distinguishable; applying one creates the intended rows for a real target workflow without fake customer template contacts.

Evidence file: screenshots/quote-template-reuse.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

6. Simplify latest-version workflow

Current problem: Manual Piszkozat/Elküldött/Lezárult and PDF TERvezet controls cause confusion.

Proposed change: Present latest working quotation without manual draft lifecycle management or draft labels, preserving issued history.

Visible at: Live quotation collection/editor, preview and download

Representative test: Edit/export latest quote without changing status and inspect previous exports.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

Manual draft/status controls and draft/TERVEZET labels are gone; latest edits/export persist and historical PDF bytes stay unchanged.

Verification: Inspect actual deployed controls and PDF text, verify previous document hashes and autosave/recovery behavior.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: quote-latest-editor
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Quotation collection/editor toolbar and PDF options

Independent LUNA must inspect: No manual Piszkozat/Elküldött/Lezárult workflow controls remain. Latest working quote and export action are clear.

Evidence file: screenshots/quote-latest-editor.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Screenshot required: quote-no-draft-pdf
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Actual downloaded PDF, first and final page view

Independent LUNA must inspect: No Piszkozat/TERVEZET labels are visible; headings/totals/terms remain legible. Prior PDF hash preservation is evidenced separately.

Evidence file: screenshots/quote-no-draft-pdf.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

7. Clean confirmed test quotations

Current problem: Meeting showed test records in customer work list.

Proposed change: Inventory exact synthetic IDs and archive/remove only confirmed tests using a verified restore route.

Visible at: Live customer quotation list and cleanup receipt

Representative test: Reconcile all proposal records and confirm genuine ones remain.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

Confirmed synthetic/test quotes are absent from normal working list while genuine customer records/docs are preserved.

Verification: Exact before/after IDs/counts and backup/readback; if none remain, show current zero-test inventory rather than delete blindly.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: quote-list-clean
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Quotation list AFTER exact cleanup or verified zero-test inventory

Independent LUNA must inspect: Normal list contains no confirmed test quotations; count/reconciliation is readable without publicly exposing client identities. Exact private IDs/readback prove cleanup.

Evidence file: screenshots/quote-list-clean.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

8. Clickable blog read-more

Current problem: Public cards output Olvasás→ as decorative spans; admin preview is already a link.

Proposed change: Convert footer action to a clear genuine link to the corresponding article, and verify portal route into public collection.

Visible at: Live public blog cards and portal blog navigation

Representative test: Activate card footer for several published articles using mouse/keyboard.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

Every rendered public card footer has a meaningful correct article link, works by mouse/keyboard, and admin edit/delete remain intact.

Verification: Check all current card destinations and representative real navigation plus deployed screenshots.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: blog-card-action
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Public /blog collection card footer at desktop and mobile

Independent LUNA must inspect: A visibly interactive labelled Olvasás/Tovább anchor belongs to each card; alignment, contrast and touch target are clear.

Evidence file: screenshots/blog-card-action.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Screenshot required: blog-destination
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Article page reached through that card footer

Independent LUNA must inspect: Article title visibly matches the source card, with readable article content and no navigation error.

Evidence file: screenshots/blog-destination.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

9. Independent price modes

Current problem: Unchecked cost flags exclude cost; they do not select a fixed amount as described in meeting.

Proposed change: Provide clear independent unit-price vs fixed-total choices for labour/material, retaining inclusion controls and fixed transport.

Visible at: Live grid, totals, preview and exported PDF

Representative test: Quantity5, labour10000/unit, materials3000/fixed, transport2000 =55000Ft; unchecked labour yields5000Ft.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

Independent labour/material modes calculate and persist correctly across sheet/API/PDF and retain legacy proposal totals.

Verification: Golden arithmetic cases including mixed modes, zero/missing/unknown costs, legacy fixtures and real reopened proposal/export readback.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: quote-mixed-prices
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Proposal grid for quantity5, labour10000/unit, material3000/fixed, transport2000

Independent LUNA must inspect: Independent labour/material price modes and inclusion controls are unambiguous; displayed component totals are50000,3000,2000Ft and quote total55000Ft.

Evidence file: screenshots/quote-mixed-prices.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Screenshot required: quote-mixed-prices-pdf
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Reopened proposal and actual downloaded PDF for the mixed-price case

Independent LUNA must inspect: Correct quantity/component amounts and55000Ft total agree with the editor; no clipped column labels, contradictory totals or fake-draft labels.

Evidence file: screenshots/quote-mixed-prices-pdf.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Consistent portal design system

Current problem: Fonts, styles, colors, controls and card geometry vary across modules.

Proposed change: Define reusable typography, color, spacing, border stroke/radius, button/input/card/table and state tokens. Apply across shell, CRM drawers, calendar, quotations, blog manager and reporting while preserving green brand and dense spreadsheet usability.

Visible at: Design specification/token sources and live portal

Representative test: Compare representative components across all modules at desktop/mobile sizes.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

Central predefined tokens/components govern fonts/styles/colors/buttons/cards/corner radii/strokes and visible interaction/error states consistently, without impairing grid/PDF work.

Verification: Inspect token use/computed styles and actual deployed section screenshots; run Luna visual QA fixes and fresh re-QA.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: design-components
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Synthetic component reference using production design tokens

Independent LUNA must inspect: Predefined font hierarchy, colors, buttons, inputs, cards, corner radii, strokes and hover/focus/disabled/error states are visibly coherent.

Evidence file: screenshots/design-components.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Screenshot required: design-module-sections
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Actual deployed shell, customer drawer, calendar, quote editor, blog manager and reporting; desktop1280x900 and mobile390x844

Independent LUNA must inspect: Every named module uses consistent typography/colors/control geometry; dense grid remains usable and no overlap/clipping/broken images/inconsistent corners exist. Capture each named module separately with section boundaries and expanded states.

Evidence file: screenshots/design-module-sections.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Live release and regression evidence

Current problem: Prepared code does not prove the live experience.

Proposed change: Serialize integration, deploy from reconciled source, preserve unrelated routes/data, verify normal workflows and publish honest final contract evidence.

Visible at: Current production URL plus public synthetic review URL and this stable board

Representative test: Normal end-to-end calendar/proposal/blog journeys after deployment.

Requirements, verification, and evidence (0/1 verified)

Requirements and verification

All required changes are deployed and adequately verified, live baseline/data preserved, restore receipt actionable, public synthetic review URL accessible, and board records actual evidence.

Verification: Fresh provider source/config/version readback, relevant repository/API/PDF tests, normal workflow proof and postdeployment section screenshots with required Luna QA loop.

Evidence and screenshots

Evidence pending; this criterion is not verified.

Screenshot required: release-normal-flow
PNG screenshot pending • Do not mark verified from this placeholder

Capture interface/state: Actual postdeployment normal calendar/quotation/blog journey; every changed section/state

Independent LUNA must inspect: The visible requested changes work together on the actual deployment. URL/build, viewport/DPR/scroll/section metadata accompany real PNGs; independent Luna describes observed pixels before parent acceptance.

Evidence file: screenshots/release-normal-flow.png

Independent review: LUNA screenshot-description report pending. Describe visible facts and defects, then compare with criterion; do not infer hidden storage/API success.

Resources, tools, outputs and review context

Resources

  • Canonical source /Users/agency/Documents/Agty/kertujitok-cloudflare; remote dani-clientsflow/kertujitok-cloudflare. Read relevant current instructions and recover latest serving source instead of stale main.
  • Meeting list: /Users/agency/Documents/Agty/KERTÚJÍTÓK/reports/meeting-deliverables-2026-10-01.md; code map: .tmp/meeting-review-2026-10-01/code-map.md with exact remote snapshots and release receipts.
  • Live portal https://kertujitok.hu/yvoC2yDS7HNPAB2KlM63hSDcSa8XRMpup2Ahl0X9TdY/; public blog https://www.kertujitok.hu/blog.

Tools

  • Use look-for-access and existing API/MCP/CLI/authenticated session routes. Do not dump secrets.
  • Use impeccable extract/operate refinement guidance for tokens, preserving incumbent brand and dense grid.
  • Apply luna-visual-qa-section-screehoshots for changed portal/public surface with genuine postdeployment screenshots and fresh re-QA. All generated/materially updated HTML goes through comment-html-review-host as assembled synthetic review surface, not private live data fragments.

Output: /Users/agency/Documents/Agty/KERTÚJÍTÓK/.tmp/overnight-2026-10-02/portal/contract.html

Report: /Users/agency/Documents/Agty/KERTÚJÍTÓK/.tmp/overnight-2026-10-02/reports/portal-executor.md

Shared constraints and sources
  • Launch immediately after preparing contract. Do not wait for another approval. User takes precedence over LL2 generic Prepare/Launch wait. · Source: Matt current request 2026-10-02: Then do not wait for my approval. Create the fresh Sol6.1 High Agent.
  • Do not automatically open files, browser tabs, Pages, panels or previews. Verification may use isolated non-user-facing browser contexts, close tabs when done. · Source: Matt supplied AGENTS.md Deliverable links and Browser cleanup.
  • Do not add a security layer. Preserve existing production access behavior. New public review surface must contain synthetic data and be directly reachable as a bare URL. Private backups and genuine customer data must not be published. · Source: Matt supplied AGENTS.md no new security layers and bare URL requirement, plus preserve unrelated work/data.
  • No external client sends, signing, changed agreed prices, debt payment, permanent important-data deletion without restore, or cash spending beyond USD15 task total. Keep parallel parent work and existing source edits intact. · Source: Matt supplied AGENTS.md approval exceptions and recovery rules.
  • Portal executor is sole live Worker/D1/R2 release writer during its run. Parent owns campaigns/webshop/backlinks and will serialize any later backlink Worker patch. No GAJA/GHL. · Source: Parent implementation choice to avoid conflicting writers; Cloudflare architecture docs and user preservation requirement.

Preview (illustrative, not test proof)

Illustrative trigger → action → outcome · not test proof

TRIGGER

Live backup

Fresh source and affected data preserved

ACTION

Implement and verify

Nine changes plus design tokens

HANDOFF

Deploy and read back

Normal flows and independent screenshots

OUTCOME

Restorable working portal

Actual evidence and stable URLs