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.
Authorized overnight implementation of the nine portal changes and shared design system.
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.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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.
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 pending; this criterion is not verified.
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.
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.
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.
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 pending; this criterion is not verified.
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.
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
Illustrative trigger → action → outcome · not test proof
Fresh source and affected data preserved
Nine changes plus design tokens
Normal flows and independent screenshots
Actual evidence and stable URLs