diff --git a/.project-docs/30-worklog/current-state.md b/.project-docs/30-worklog/current-state.md index aa85fb1..85dcb62 100644 --- a/.project-docs/30-worklog/current-state.md +++ b/.project-docs/30-worklog/current-state.md @@ -14,6 +14,7 @@ This file is the integrated default-branch snapshot. Feature tasks record progre - Commit `823d1cb6305077e1743f8783176d2cae3b5aec39` for the aggregate-first leadership platform-operations dashboard and business-safe input/result projections. - Integration task `20260901-integrate-leadership-dashboard-9e2b6c` for the leadership-dashboard product-definition correction. - Merge commit `029c8c6a59215cb6c3f8d7f126c4313730b2abb2` from feature task `20260902-registration-invalid-params-59f94692`, with canonical promotion by integration task `20260902-promote-password-flow-c81d42`, for non-empty-only password validation and removal of the first-login forced-password-change workflow. +- Commit `63b387f` integrating feature commit `6e212b3` from task `20260902-dashboard-nice-scale-d8c31a` for independent dynamic ranking scales with readable headroom above each leading bar. ## Current Focus @@ -31,6 +32,7 @@ Operate the current `0.5.163` extension baseline and the deployed fixed-scope ac - 2026-09-01: Integrated and started the three-role account system on the standard 8786 control plane. Migrations 015–017 added owner/audit/archive state, team-lead dashboard support, and administrator-managed task-route allowlists; the existing account migrated as administrator. - 2026-09-01: Reframed the leadership dashboard from instruction-history/audit presentation to a platform-running view across tasks, people, input, output, time, type, and completion, with clickable drill-through and no visible technical payload language. - 2026-09-02: Removed application-level password length limits and the first-login forced-password-change flow while preserving voluntary password changes, administrator resets, session revocation, roles, task ownership, and route authorization. +- 2026-09-02: Changed the task-type and employee ranking bars from max-item normalization to independent readable dynamic scales, so the leading bar retains visible headroom while operation counts remain the only encoded length. ## In Progress diff --git a/.project-docs/30-worklog/tasks/20260902-dashboard-nice-scale-d8c31a.md b/.project-docs/30-worklog/tasks/20260902-dashboard-nice-scale-d8c31a.md deleted file mode 100644 index 3f4fa51..0000000 --- a/.project-docs/30-worklog/tasks/20260902-dashboard-nice-scale-d8c31a.md +++ /dev/null @@ -1,55 +0,0 @@ -# Task: Add dynamic nice scale to dashboard bars - -## Identity - -- Task ID: 20260902-dashboard-nice-scale-d8c31a -- Mode: Feature -- Branch: codex/20260902-dashboard-nice-scale-d8c31a-dashboard-nice-scale-d8c31a -- Worktree: /Users/inmanx/Documents/lwltAPI-dashboard-nice-scale-d8c31a -- Base commit: e530b7a3489c8f2be2f15f69de2149658aaa8ca3 -- Owner: codex -- Status: Ready for integration - -## Scope - -- Replace max-item normalization in both dashboard rankings with an independent dynamic “nice” scale that leaves visible headroom above the leading bar. -- Keep row-as-bar presentation, descending operation-count order, exact operation/success labels, fixed layout, scrolling, and drill-through behavior unchanged. -- Update static asset cache versions and focused dashboard regression coverage. - -## Intent And Constraints - -- Choose readable count intervals from `1 / 2 / 5 / 10` steps over roughly five intervals, round the observed maximum upward, and advance one further interval when the maximum already lands exactly on a scale boundary. -- Expected reference cases include `43 → 50`, `359 → 400`, and exact-boundary `100 → 120`; empty data remains safe. -- Compute task-type and employee scales independently. Operation count alone controls bar length; success count remains text and no completion rate or percentage is introduced. -- Preserve leadership-only access, business-safe language, employee/task-type drill-through, and all task/ERP authorization boundaries. -- Do not change the dashboard API, restart or deploy services, mutate runtime data, access ERP, or introduce an organization concept. - -## Outcome - -- Added a reusable dynamic ranking scale that divides the observed maximum into roughly five readable intervals using `1 / 2 / 5 / 10` steps. -- The scale rounds upward and advances one additional interval when the maximum already lands exactly on a boundary, so the leading bar always keeps visible headroom. -- Reference values now resolve as `43 → 50`, `359 → 400`, `100 → 120`, `1 → 2`, and empty data → `1`. -- Task-type and employee rankings compute their scales independently. Existing descending operation-count order, row-as-bar rendering, exact operation/success counts, fixed panel layout, scrolling, and drill-through remain unchanged. -- Updated the static asset cache version and added executable regression assertions for the dynamic-scale reference cases. -- No API, authorization, runtime data, ERP, deployment, or service-restart behavior changed. - -## Verification - -- `node --check LianSyn-platform/app.js`: passed. -- Focused account/dashboard regression: 8/8 passed, including dynamic-scale cases `0 → 1`, `1 → 2`, `43 → 50`, `100 → 120`, and `359 → 400`. -- `node --run check:repo`: 10/10 passed. -- `node --run check`: passed. -- `node --run test:control-plane`: 153/153 passed. -- `node --run test:legacy`: 256/256 passed. -- `node --run build`: passed. -- `git diff --check`: passed. -- Isolated browser preview at `http://127.0.0.1:8892/operations-dashboard?nice-scale=1` used a non-persistent mock dashboard response and the actual feature source/CSS. It rendered task-type widths `86% / 54% / 52% / 48% / 48%` for totals `43 / 27 / 26 / 24 / 24`, and employee width `89.75%` for total `359`. -- Visual inspection confirmed both leading bars retain right-side headroom. DOM and interaction verification confirmed descending order, exact operation/success text, and task-type click-through selecting `order_delete`; no completion-rate or percentage label was shown. - -## Follow-ups - -- Integrate the isolated commit only after the active main-branch password-flow integration releases its ownership gate, then reload the standard 8786 dashboard for a final runtime check. - -## Promotion Candidates - -- None. This is a focused visual-scale correction within the accepted count-based ranking behavior and does not change product, authorization, API, or data semantics. diff --git a/.project-docs/30-worklog/tasks/20260902-integrate-dashboard-nice-scale-77ac4d.md b/.project-docs/30-worklog/tasks/20260902-integrate-dashboard-nice-scale-77ac4d.md new file mode 100644 index 0000000..8a15d11 --- /dev/null +++ b/.project-docs/30-worklog/tasks/20260902-integrate-dashboard-nice-scale-77ac4d.md @@ -0,0 +1,53 @@ +# Task: Integrate dashboard dynamic nice scale + +## Identity + +- Task ID: 20260902-integrate-dashboard-nice-scale-77ac4d +- Mode: Integration +- Branch: main +- Worktree: /Users/inmanx/Documents/lwltAPI +- Base commit: ed456e6a5d3c681679274a136549f1a929fa59bb +- Owner: codex +- Status: Ready for integration + +## Scope + +- Integrate feature commit `6e212b3` from task `20260902-dashboard-nice-scale-d8c31a` into current `main` after the password-flow integration. +- Preserve the newly integrated non-empty-only password behavior while applying only the dashboard dynamic-scale source, cache, test, and task-record changes. +- Record the source commit in canonical current state and run the complete repository/project-document verification gates. + +## Intent And Constraints + +- Keep the accepted row-as-bar leadership ranking and operation-count semantics; add readable per-ranking headroom using the verified `1 / 2 / 5 / 10` dynamic scale. +- Preserve password-flow changes, account roles, task ownership, route authorization, leadership access, business-safe copy, ranking order, and drill-through. +- Do not promote any new product, authorization, API, or data-model decision; the source task has no canonical promotion candidates. +- Do not restart, deploy, mutate runtime data, access ERP, or send data externally. The running service may serve the updated static assets directly after integration. + +## Outcome + +- Verified source feature commit `6e212b3` and its task record, including the absence of promotion candidates or semantic conflicts. +- Cherry-picked the feature onto the post-password-flow `main` baseline as commit `63b387f`; Git merged the overlapping platform and test files without conflict. +- Preserved the integrated non-empty-only password behavior and removed-first-login flow while adding only the dashboard dynamic scale, cache version, focused tests, and source task record. +- Recorded the integrated source and behavior in canonical current state. +- Confirmed the running 8786 service serves `dashboard-nice-scale-1` assets and the integrated `operationsDashboardRankScale` implementation directly; no service restart was required or performed. + +## Verification + +- `node --check LianSyn-platform/app.js`: passed. +- Focused account/dashboard regression: 8/8 passed on integrated `main`. +- `node --run check:repo`: 10/10 passed. +- `node --run check`: passed. +- `node --run test:control-plane`: 153/153 passed. +- `node --run test:legacy`: 260/260 passed, including the integrated password-form coverage. +- `node --run build`: passed. +- `git diff --check`: passed. +- Local HTTP verification against `http://127.0.0.1:8786/` confirmed both asset URLs use `20260902-dashboard-nice-scale-1`; the served JavaScript contains the dynamic-scale helper and exact-boundary headroom branch. +- Source-task isolated browser verification rendered `43` at `86%` on a `50` scale and `359` at `89.75%` on a `400` scale, with descending order and task-type click-through intact. + +## Follow-ups + +- Refresh the already-open dashboard tab to load the new cache-busted assets if it was opened before commit `63b387f`. + +## Promotion Candidates + +- None. The integrated change is a presentation refinement within the accepted leadership-dashboard behavior.