Project

General

Profile

Actions

Feature #3234

open

OMS Web — Order & Expense Management (Next.js + PostgreSQL)

Added by Bot AI 6 days ago. Updated 6 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
08/25/2026
Due date:
% Done:

0%

Estimated time:
Source:

Description

OMS (Order Management System) — Next.js web app backed by PostgreSQL. 18 screens across Orders, Expenses, Expense Summary, Admin (Supplier, Item, Projects, UOM). Reproduces the approved interactive HTML reference (OMS_Screens_standalone.html) + 15 captured reference screenshots at full visual/behavioural fidelity — real CRUD against PostgreSQL, not mocked.

Granularity: parent_with_subtasks, 7 subtasks (approved).

Acceptance criteria (13, from ticket-spec, ids to be assigned): 18-screen fidelity to reference; shared add/edit/view form per module (edit prefilled, view read-only); one shared delete-confirmation modal; server-side search/filter/sort/pagination on every list; Expense Type as enum; Order Status as enum; unique entity names enforced; Supplier form's Supplier field is a dropdown from supplier master; user-friendly validation/error messages; correct PostgreSQL schema/FKs/constraints; Expense Summary aggregation+date filtering; shared UI component library (no duplication); fully functional against real PostgreSQL end-to-end.


Files

SCR-001_orders_list_actual.png (45.9 KB) SCR-001_orders_list_actual.png W21 actual screenshot: Orders list Bot AI, 08/25/2026 01:05 PM
SCR-002_order_new_actual.png (41.3 KB) SCR-002_order_new_actual.png W21 actual screenshot: New Order form Bot AI, 08/25/2026 01:05 PM
SCR-004_suppliers_list_actual.png (48.1 KB) SCR-004_suppliers_list_actual.png W21 actual screenshot: Suppliers list Bot AI, 08/25/2026 01:05 PM
SCR-012_expenses_list_actual.png (45.9 KB) SCR-012_expenses_list_actual.png W21 actual screenshot: Expenses list Bot AI, 08/25/2026 01:05 PM
SCR-013_expense_new_actual.png (43.5 KB) SCR-013_expense_new_actual.png W21 actual screenshot: New Expense form Bot AI, 08/25/2026 01:05 PM
SCR-014_expense_summary_actual.png (35.9 KB) SCR-014_expense_summary_actual.png W21 actual screenshot: Expense Summary Bot AI, 08/25/2026 01:05 PM
Actions #1

Updated by Bot AI 6 days ago · Edited

W21_ui_verify — RESOLVED (FAIL, genuine execution)

Fixed all build/render blockers that were preventing the app from building at all: lib/actions/suppliers.ts's use-server export violation (moved 3 sync helpers to new lib/actions/shared.ts), tailwind.config.ts's bg-surface class-naming bug (promoted surface to a top-level color key), app/not-found.tsx's pre-existing lint error, plus 2 more found during verification itself: app/layout.tsx was unconditionally rendering the Sidebar (incl. sign-out) on /login, and components/ui/Pagination.tsx was passing a non-serializable function prop across the RSC boundary, crashing all 7 list pages in production. All 5 fixes verified via tsc --noEmit (clean) + genuine next build/next start, pushed to GitLab as commit d5585ac4 on feat/3234-oms-order-expense-management.

With the app actually building and rendering, performed genuine UI verification: local Postgres with seeded data, Playwright login through the real /login flow, screenshots of 6 authenticated screens (SCR-001, SCR-002, SCR-004, SCR-012, SCR-013, SCR-014 — a representative sample of the 18-screen inventory, not full coverage) compared field-by-field against the design reference images.

Result: gate_status FAIL, honestly reported, not fabricated as PASS. Found 14 genuine field-level diffs against expected_fields_total=32 (~0.44 diff ratio), well above graph.yaml's visual_verification.max_diff_ratio of 0.10. Diffs cover sidebar logo/nav treatment, a missing role toggle, search/filter control style, several page-title label mismatches, missing currency symbol, missing row-action icons, and — most significant — no Expense-items attachment upload UI despite the backend endpoint (app/api/uploads/route.ts) existing and working; implementation_plan.requirements.cross_cutting explicitly names this requirement.

Full write-up with per-diff detail: verification/W21_UI_VERIFY.md on GitLab (oms-web project), commit d5585ac4.

Timing table: stats/2026-08-25_080144/time-table.md — Active time 2h 15m, Waiting 2h 44m, Total run time 4h 59m, 234,350 tokens.

This closes the original investigation trail (UI & functional verification gates W11–W21, all previously skipped, now genuinely executed) except for the 13 design-fidelity diffs and 1 missing-feature finding above, which are reported findings requiring a human decision on scope — not auto-fixed, consistent with this run's established pattern of not making unilateral design/scope decisions.

Actions #2

Updated by Bot AI 6 days ago

Step Summary

Stage Start (IST) End (IST) Duration Tokens Model/Script Cost
Task Granularity 25-08-2026 13:33:23 25-08-2026 13:36:27 3m 40,354 claude-opus-5, human not priced
Screen inventory 25-08-2026 13:36:32 25-08-2026 13:49:40 13m 43,285 claude-opus-5, human not priced
Field checklist 25-08-2026 13:49:45 25-08-2026 13:55:48 6m not measured native, human not available
Start Confirmation 25-08-2026 14:02:53 25-08-2026 14:10:16 7m 42,298 claude-opus-5, human not priced
Design Mockups, Approval 25-08-2026 14:02:41 25-08-2026 14:02:42 0s not measured human not available
Mobile & Web task redmine ticket Creations 25-08-2026 14:13:21 25-08-2026 14:13:46 25s not measured native not available

ORCHESTRATOR TOTAL: 43m, 125,937 tokens (rows 1-53)
SHARED TOTAL: 0s, 0 tokens (rows 2-47)
WEB TOTAL: 4m, 0 tokens (rows 27-44)

Total Run Time: 42m (wall clock, 25-08-2026 13:31:52 -> 25-08-2026 14:13:46 IST -- not a sum of per-side totals, sides overlap)
Active time: 31m | Waiting (session limits, approvals, dead sessions): 11m -- 1 gap(s) unattributed
Total Tokens Consumed: 125,937

(Posted manually via redmine MCP tool -- the driver's own HTTP post failed: no REDMINE_URL/REDMINE_API_KEY configured in the local repo's .claude/settings.json. Full phase timeline lives in stats/2026-08-25_080144/time-table.md.)

Actions #3

Updated by Bot AI 6 days ago

Progress update (posted manually via redmine MCP tool -- driver's own HTTP post still failing, no REDMINE_URL/REDMINE_API_KEY configured locally):

W01_analyze_implementation_plan complete (Opus, 53,444 tokens). Greenfield Next.js App Router + Prisma/Postgres plan for all 18 screens, 86 files to create. Key findings: OrderStatus/ExpenseType enum value sets are proposed (not fully evidenced in the reference); Order/Expense No generation rule, expense-approval workflow owner, and attachment storage backend are still open questions; no auth/login screens in scope.

Total run tokens so far: 179,381. Full timeline: stats/2026-08-25_080144/time-table.md.

Actions #4

Updated by Bot AI 6 days ago

Progress (manual post, driver HTTP post still failing locally):

W03_schema_review (Opus, 40,669 tok): gate_status FAIL with 12 findings, 3 BLOCKER-severity (OrderItem unique constraint too strict; Attachment/ExpenseItem optional FK cascade defaults would silently orphan/strip data). Accepted by driver as ok_with_issues (not routed to E00) -- carried forward as findings for the implementation nodes to address, not re-litigated as a hard stop.

W04_create_branch: created feat/3234-oms-order-expense-management from main (265b4b9a).

Total run tokens so far: 220,050.

Updated by Bot AI 6 days ago

W21_ui_verify screenshots attached: 6 actual-app screenshots captured via headless Playwright against the live-running (locally verified) build, compared field-by-field against the design reference for gate_status FAIL (14 diffs, ~0.44 ratio vs. the 0.10 threshold). See journal note above and verification/W21_UI_VERIFY.md (GitLab commit d5585ac4) for the full per-diff breakdown.

  • SCR-001_orders_list_actual.png
  • SCR-002_order_new_actual.png
  • SCR-004_suppliers_list_actual.png
  • SCR-012_expenses_list_actual.png
  • SCR-013_expense_new_actual.png
  • SCR-014_expense_summary_actual.png
Actions

Also available in: Atom PDF