Change history
Template versions
MDX entries are validated automatically and included in the standalone build.
DEXTRA
v0.1.0August 7, 2026
Platform updates for DEXTRA.
Надёжность и общие настройки — 2026-11-02
- Личные и административные настройки используют общие компоненты Linear, единые формы, поверхности и меню; мобильные действия статистики получили достаточную область нажатия.
- Исправлены видимость фокуса переключателей, изоляция черновиков между пользователями и обновление задач после создания.
- Поздние задачи календаря сохраняют точное положение времени и остаются доступны для прокрутки.
- Просроченные сроки активных задач снова выделяются красным в списке, карточках и редактировании; даты и статусы сохраняются.
- Импорт корректно читает кэш дат общих формул Excel; объёмы коммерческих позиций сохраняют единицу продукта без произвольной конверсии.
- Переходы из редактора книг ожидают подтверждения сохранения. Очистка файлов согласована с записью данных и восстановлением резервной копии.
Root и контекст работы — 2026-11-02
- Страницы Root, модальные окна и мобильные действия согласованы с Linear; длинные имена и организации не растягивают списки, а навигация остаётся доступной при загрузке и ошибках.
- Роли пользователей и меню аккаунта Root используют единое оформление; мобильная навигация корректно закрывается при переходе к широкому окну, а меню аккаунта — при скрытии его кнопки.
- Личные настройки Root используют общий шаблон настроек с оформлением Linear и адаптивной навигацией. Уведомления сохраняют общую палитру при открытии и закрытии диалогов.
- Выбор организации в списке пользователей, форме создания пользователя и аудите поддерживает поиск.
- Контекст Root сворачивается в таймер с зелёной дугой, отдельной отметкой и минутами в центре. Раскрытая панель показывает пользователя, организацию и существующие действия; её можно перемещать без сдвига страницы.
- Плавающая панель существующих массовых действий рабочих каталогов получила общее оформление.
- В профиле контрагента Long/Short изначально свёрнуты; подсказки условий продуктов стали компактнее и сохраняют числовые значения целиком.
Согласованность рабочей области — 2026-10-31
- Пустые состояния, формы и панели действий согласованы; числа показываются без переноса, мобильные цели календаря увеличены, локализация дат и возврат фокуса после повтора загрузки исправлены.
- Пустая главная, существующие формы и детали сделок, а также детали Platts используют общее оформление рабочей области.
Подтверждение подключения — 2026-10-31
- Подтверждение подключения получило оформление Linear; сведения о приложении, выбор профиля и прав сохранены.
Мои подключения — 2026-10-31
- Страница подключений и окна создания и отзыва токена получили оформление Linear; поля, права и действия с токенами сохранены.
ИИ-помощник — 2026-10-31
- ИИ-помощник получил оформление Linear и компактные действия истории, сообщений и предложений; ввод и подтверждения сохранены.
Справочники — 2026-10-31
- Справочники получили общие поиск и действия Linear; категории, свойства продуктов, палитра классов и редактирование в строке сохранены.
Рыночные данные — 2026-10-31
- Рыночные данные получили общие вкладки, поиск и действия Linear; обзор, история импортов и личные настройки сохранены.
Комплаенс — 2026-10-31
- KYC использует общие поиск, фильтры и действия Linear; таблица, мобильные карточки, статусы и даты сохранены.
Спецификации — 2026-10-31
- Каталог спецификаций использует общие поиск, панель действий и оформление окон Linear; таблица, группировка и просмотр файлов сохранены.
- Поиск сохраняет фокус после отправки; общий шаблон ошибки позволяет заново загрузить данные, а шапка загрузки остаётся компактной на телефоне.
Переходы разделов — 2026-10-31
- Переходы в «Позиции» и по прежним ссылкам открывают общее оформление рабочей области без краткого показа старого дизайна.
Торговые таблицы — 2026-10-31
- Каталог XLSX получил общую панель поиска по имени, создание и загрузку в шапке и компактные действия скачивания и удаления. Открытие книг и существующие действия сохранены.
Панель заметок — 2026-10-31
- Поиск и фильтры заметок размещены в общей панели над списком и редактором; создание остаётся в шапке, черновики и автосохранение сохранены.
Заметки — 2026-10-30
- Личные заметки получили оформление Linear и общие действия создания, поиска, фильтров и доступа. Список, компактный редактор, приватность, черновики и автосохранение сохранены.
- Навигация, меню аккаунта и поля модальных форм рабочих разделов согласованы с Linear, включая наведение и фокус; привычные действия и черновики сохранены.
Шапки разделов — 2026-10-30
- Шапки и панели действий задач, Pipeline, позиций и завершённых сделок согласованы на общих компонентах. Поиск, фильтры и существующие действия сохранены; создание задачи доступно в общей шапке.
- В задачах выбор статуса и владельца согласован с видами каталогов, меню отображения использует компактные строки Linear, а пустое состояние таблицы и карточек занимает доступную рабочую область.
Календарь — 2026-10-30
- Календарь получил оформление Linear и общие компактные действия навигации, выбора вида и формы события. Месяц, неделя, день, личные события и свои задачи сохранены.
Задачи — 2026-10-30
- На телефоне фильтры, поиск и действия выровнены в компактные группы. Кнопки, селекторы, календарь и действия форм используют общие роли Linear; таблица, карточки, черновики и автосохранение сохранены.
Short — 2026-10-30
- Список Short получил оформление Linear на общих компонентах, последовательные фильтры и действие добавления в шапке. Данные, колонки, личная видимость, просмотр условий и действия сохранены.
Long — 2026-10-30
- Список Long получил компактное оформление Linear, общие последовательные фильтры и действие добавления в шапке. Данные, колонки, личный выбор видимости, просмотр условий и действия сохранены; Short сохраняет прежнее оформление.
Контрагенты — 2026-10-30
- Компактное оформление Linear и последовательные фильтры на общих компонентах; данные, восемь колонок, их видимость и действия сохранены. Формы и размеры общих кнопок согласованы с Linear в шапках, меню и модальных окнах.
Закрытые сделки — 2026-10-30
- Список получил компактное оформление Linear и общие меню фильтров для последовательного выбора условий с сохранением выбранных месяцев. Состав таблицы, значения, оценка P&L и итог сохранены.
Pipeline — 2026-10-30
- На телефоне расширены области нажатия селекторов формы. Пункты меню фильтров выровнены по краям и получили плоское выделение.
- После выбора критерия меню фильтров остаётся открытым: можно сразу добавить следующий, сохранив поиск и предыдущие условия.
- Статус в строке сделки выровнен по вертикальному центру.
- У кнопки «Диапазон» добавлены наведение, выделение включённого режима и клавиатурный фокус.
Pipeline — первый этап Linear — 2026-10-29
- Действие Add перенесено в шапку. Строковые селекторы стали компактнее и показывают подписи целиком; заливка строк и цветная полоса продукта сохранены.
- В меню фильтров можно искать свойство и сразу выбирать значение. Поиск и остальные выбранные критерии сохраняются.
- Форма создания получила общее оформление Linear с компактными свойствами; поля и варианты выбора сохранены.
- Перенос ограничен Pipeline и его диалогами. Данные, состав, порядок и ширины колонок сохранены; следующий раздел переносится после просмотра и согласования.
Дизайн Root — 2026-10-29
- Область Root получила оформление рабочего Linear: обе темы, компактная навигация, каталоги и формы с общими компонентами.
- В настройках резервных копий справка собрана в компактных значках у получателя и раздела шифрования; инструкции сохранены.
- Перенос ограничен Root; идентичность DEXTRA и оформление остальных рабочих областей сохранены.
Общие элементы интерфейса — 2026-10-28
-
Исправлены минутное ожидание при переключении Root в свою область или под пользователем и запоздалые ответы проверки сессии. Защита черновиков и незавершённых сохранений сохранена.
-
Убрано растягивание строки статуса резервных копий: история начинается сразу под ней.
-
Root-разделы получили компактные шапки и плоские каталоги Console. Существующая оболочка и логотип сохранены.
-
Мобильный список пользователей стал компактнее; вторичные действия доступны в меню. В аудите появились понятные названия операций с сохранением технического контекста.
-
Исправлены черновик новой книги, состояния отказа загрузки и ответов AI, повтор чтения предложений и возврат клавиатурного фокуса.
-
Выровнены таблицы и отступы форм; улучшен контраст выделения и графика. При сохранении перед выходом показан компактный статус.
-
Уведомления сохраняются при закрытии и переключении диалогов.
-
Уменьшено скругление области выбора Platts; кнопка загрузки получила вертикальные отступы в строке вкладок.
-
Кнопки создания и загрузки уплотняются по доступной ширине панели. На узком экране сохраняются иконки, подсказки и области нажатия 44 px; действия остаются в одной строке.
-
Аккаунт в Root и настройках собран в компактное меню. Исправлено обрезание иконки приоритета в задачах.
-
Кнопки и селекторы получили компактные варианты для действий, форм и свойств; на телефоне сохранены области нажатия 44 px.
-
Меню и диалоги используют общие поверхности обеих тем. Сохранены клавиатурное управление, фокус и черновики.
-
Добавлены плотности таблиц для каталогов и журналов. Аудит Root использует доступную ширину рабочей области.
Организации и управление Root — 2026-10-28
- Добавлен отдельный раздел Root: организации, пользователи, бэкапы, диагностика и аудит. Пользователи и AI-настройки Admin ограничены своей организацией; личные данные сохраняют прежнюю приватность.
- Добавлены роли Admin/Trader, явный вход Root в рабочую область и маскированная выдача временных паролей. Смена контекста защищает черновики и фоновые сохранения.
- Локальные проверки и восстановление пройдены. Существующие данные и личные настройки сохраняются; выпуск на сервере выполняет оператор.
Личная группировка спецификаций — 2026-10-28
- Группы можно сворачивать; при новом открытии все снова раскрыты. Выбор и переходы просмотрщика учитывают только раскрытые строки.
- Режим группировки сохраняется отдельно для каждого пользователя между устройствами. Временный режим из ссылки не меняет предпочтение до явного выбора.
- Ошибка сохранения оставляет прежний режим с возможностью повтора или явного обновления после конфликта.
Спецификации — 2026-10-28
- Добавлена необязательная группировка по компании-владельцу. Плоский список остаётся по умолчанию; сортировка и переходы просмотрщика соответствуют порядку документов на экране.
- Производитель показан отдельной колонкой в глобальном и вложенном списках. Контролы компактнее, таблица прокручивается внутри на телефоне.
- Клавиатурный выбор переходит между группами, а закрытие просмотра возвращает фокус к документу после перегруппировки.
Workspace task preview and autosave — 2026-10-28
- Keep the task preview inside the workspace, with navigation available, no dimming and actions aligned right.
- Save edits automatically after a short pause without interrupting typing. Preserve newer edits, independent task drafts and conflict protection; retry failed saves explicitly.
Direct task editing — 2026-10-27
- Let the task description fill the available height and keep properties at the bottom above the save actions.
- Edit a task immediately after opening its preview, without a separate Edit step. Save and Cancel keep the panel open; closing and switching tasks preserve independent drafts.
- Keep untouched previews in sync with inline updates while protecting edited drafts and their conflict versions.
Primary task side peek — 2026-10-27
- Open task rows and cards in a compact panel on the right and edit in the same surface. Keep the catalog available on desktop and use the full screen on phones.
- Return to the saved preview after saving; cancel only the current draft. Preserve separate drafts when switching tasks or closing the panel, and return keyboard focus correctly after nested actions.
Inline task properties — 2026-10-27
- Change priority, due date and time directly in task rows and cards, including empty values. Keep task view preferences and independent date/time values.
- Prevent duplicate priority saves and restore keyboard focus when a task moves to another priority group.
Market Data overview — 2026-10-27
- Find personal spreads and quotations in Market Data, with upload history in a separate tab and Platts upload available from either view. Dashboard remains empty for a future summary.
- Update market data after uploading without losing layout drafts, search or conflict protection. Keep file details, downloads and deletion in upload history.
Task side peek — 2026-10-27
- Edit tasks in a spacious panel on the right without leaving the list. Keep separate task drafts, a growing title, a large description area and fixed save actions.
- Use Today, Tomorrow and Start of next week shortcuts, preserving the task's time. Keep task preview actions reachable on small screens.
Trading/Source Market — 2026-10-26
- Use one Trading/Source Market directory for counterparties and positions, replacing the separate Region directory. Preserve existing selections, links and personal columns.
- Keep compound market names intact when creating, filtering, renaming and reopening records.
Administrative settings — 2026-10-26
- Keep Users, Backups, Diagnostics and AI administration inside Settings. Preserve their addresses and Root authorization; remove direct administrative shortcuts from the account menu.
- Use compact shared controls, on-demand help and aligned tabs. Keep user roles and backup values on one line and modal actions inside the visible dialog.
- Generate a secure temporary password when creating a user and explicitly copy email and password after success. Keep the password only in the open dialog's memory.
- Avoid loading application indicators in Settings, and bound diagnostic reads with a request-local buffer and a strict scan limit.
Diagnostics and settings reliability — 2026-10-26
- Preserve diagnostic events across scan boundaries, long-lived history cursors and case-insensitive UUID filters. Distinguish incomplete history from an empty successful search.
- Protect AI profile and backup-settings drafts from concurrent saves, late initial reads and browser Back/Forward navigation. Retain entered values after failed saves.
- Prevent overlapping backup-history refreshes and stale responses after actions, settings saves or leaving the page. Keep the existing visual design.
Diagnostics console — 2026-10-26
- Keep all nine services in one compact panel, with check time, releases and journal status in a shared metadata row. Show missing observations as unknown and preserve each service's own check details.
- Present errors in an adaptive table with the recorded cause, issue details and safe row copying. Keep advanced filters in a popover without losing their values or ID draft.
- Preserve report limits, correlation, retained results and Root-access revocation; return keyboard focus to the selected issue after closing its details.
Settings workspace — 2026-10-26
- Add a dedicated settings sidebar with personal appearance controls and Root-only AI and backup sections, using compact shared rows and persistent save actions. Preserve the existing AI and backup addresses and authorization.
- Keep unsaved AI limits and replacement keys when checking or removing a saved connection. Prevent edits during pending saves and retain drafts after failed requests.
- Confirm unsaved settings before following another section link, and protect page refresh or closing while changes remain unsaved.
AI answers and backup status — 2026-10-26
- Let AI compose a final answer from collected results after reaching the six-round tool limit, while preventing further tool execution.
- Keep backup-runner status current throughout archive delivery and maintenance, with the existing expiry when the process stops.
AI connection check status — 2026-10-26
- Mark text and document connection checks ready only after a completed response. Failed, incomplete and unfinished responses retain a non-ready status and their sanitized diagnostic cause; voice checks remain independent.
- Preserve retries, key rotation and recovery after a successful recheck. Refresh previously stored results using the existing connection-check action.
Diagnostics coverage — 2026-10-26
- Capture confirmed failures in browser requests and rendering, streamed downloads, specification previews and validation workers, backup downloads, MCP/OAuth, voice sessions and background cleanup.
- Preserve the original allowed cause, operation stage and technical snapshot through nested error wrappers. Keep normal input errors and cancellation quiet, prevent recursive telemetry and exclude secrets and document, chat or audio content.
AI response diagnostics — 2026-10-26
- Record AI failures that occur inside an HTTP 200 event stream, including incomplete responses, disconnected streams, tool errors and server deadlines. Preserve the original cause, operation stage and technical turn state without recording chat content.
- Correlate browser observations with API events by turn and request. Keep intentional cancellation quiet, retain drafts and distinguish individual response failures from shared provider availability.
- Prevent empty responses without proposals from being saved as completed answers; retain valid refusal text and proposal-only answers.
Root diagnostics — 2026-10-25
- Preserve the original failure code, upstream status, safe code location, operation stage and technical record snapshot in copied and JSON reports. Correlate API, Web, workbook saves and background jobs by operation and record; keep current service checks separate from incident state.
- Capture WOPI session and lock conflicts, Garage failures, backup stages, Resend attempts and AI maintenance errors. Distinguish invalid successful responses from upstream failures, exclude normal cancelled requests and show unconfigured workers accurately.
- Isolate backup-runner diagnostics from API writes with separate bounded directories; keep all diagnostic journals outside backups and start them empty after recovery.
- Distinguish service states with green, red, amber, blue and neutral labels and distinct icons. Mark affected rows and error severity; preserve readable contrast, keyboard descriptions and compact mobile layouts.
- Remove generic instructions and repeated explanations. Keep observed failures, report actions, technical details and warnings about unconfirmed workbook saves.
- Show a compact service summary with plain-language names and check details. Separate the latest service check from past errors.
- Copy a sanitized developer report or one issue with related events, timestamps, release versions and request IDs. Mark incomplete results and unverified browser reports; clear private data when Root access is lost.
- Add a Root-only Diagnostics page with independent service checks, bounded technical history, request correlation and sanitized JSON reports. Mark browser observations separately from confirmed server events.
- Keep seven days of diagnostic history in separate API, runner and Web directories outside business data and backups. Prepare permissions during deployment and start an empty journal after recovery.
- Collect fixed error codes without file contents, filenames, tokens or raw error messages. Preserve business operations when diagnostic storage is unavailable.
Data backups — 2026-10-23
-
Add an isolated Apple Silicon Colima recovery launcher: verify and import a full archive into new local data volumes, run the matching application/editor version, and keep external sending disabled.
-
Reuse installed backup timers during production releases without additional root authorization. Update the runner code/image through the current release, check both timers and the deployed revision heartbeat, and preserve the healthy application if the readiness check needs a retry.
-
Manage encrypted data backups from the Root account menu: history, progress, integrity, download, resend and confirmed deletion. Keep settings and credentials private to the installation.
-
Run online PostgreSQL/Garage snapshots in a separate resource-limited process. Preserve workbook versions and personal settings without stopping the editor; coordinate cleanup and deployments.
-
Schedule daily backups at 03:00 Moscow, retain seven successful daily copies and expire manual/test copies after seven days. Configure encrypted Resend attachments and sample/full tests on the Backups page.
-
Restore into an empty installation using the original encryption keys and exact Git commit; keep the private recovery key outside production and disable restored sessions and external sending before operator checks.
Tasks and workbook reopening — 2026-10-22
- Switch Tasks between a card grid and a table in Display. Save layout, grouping and ordering separately for each account; preserve previews, inline dates, completion undo and bulk actions.
- Move all your unfinished overdue tasks to tomorrow while keeping their scheduled time. Apply the shortcut independently of catalog filters; preserve other users’ tasks and completed records.
- Recover from temporary initial editor failures when quickly reopening a workbook. Keep the loader during bounded retries, preserve the opening deadline and leave an already loaded workbook in place.
Trade Sheets — 2026-10-22
- Fix saving after an editor update: stop Collabora while WOPI is available and clear abandoned locks only after confirming the editor has stopped. Preserve workbook data and versions.
- Use personal Excel workbooks as the only calculation workspace. Remove the former calculator, its templates, history and stored calculations; preserve books, versions, trades and estimated deal P&L.
- Autosave through the self-hosted editor after idle and periodic editing, with save on exit. Keep manual save and protected download/navigation/sign-out without background success notifications.
- Rename workspace sections in English and Russian and use a spreadsheet icon. Keep Documentation, route addresses, navigation order and existing functions.
- Redirect retired calculator links to the workbook catalog and clear only the signed-in user's legacy calculator drafts on the next workspace visit.
- Publish Collabora through a managed loopback gateway; check discovery before app rollout and refuse incompatible calculator rollback after retirement.
Personal PnL workbooks — 2026-10-22
- Show a centered loader while fetching workbooks and opening the spreadsheet. Wait for document readiness; stop loading on failure and support retry without a stuck placeholder.
- Preserve the active workbook after a delayed upload and keep the selected tool's URL when the hidden calculator finishes loading.
- Stop ordinary sign-out while another window has an open workbook; allow access revocation through an explicit discard decision. Preserve independent note drafts across windows and clear pending private note state on remote sign-out.
- Keep Unicode upload names and return workbook lists/deletion without waiting for storage cleanup.
- Preserve company and Long / Short drafts through filtering; prevent a failed inline company draft from moving to a different company. Show all linked Reference records, including lists longer than 100.
- Require both bounds of a selected volume range and compare Dashboard spreads only when both quotation identities match.
- Open private spreadsheet workbooks as the main PnL workspace; keep the existing calculator in a separate tab with its calculations, drafts and history.
- Create or upload XLSX, edit with the self-hosted Collabora editor, save and download. Store encrypted versions in private Garage with access limited to the owner.
- Preserve the open workbook while switching tools, confirm saving before leaving or downloading, and renew editor access without reloading the document.
- Keep the editor menu compact by removing the standalone logo block and its spacing.
Personal calendar — 2026-10-21
- View your own dated tasks, including completed tasks, alongside private events in month, week and day views. Open tasks in their existing details.
- Create, edit and delete personal events with notes, start/end times and all-day dates. Keep drafts on close or errors, protect concurrent edits and display times in the device timezone.
- Use a compact selected-day view on phones and separate overlapping appointments on the time grid. Keep the grid directly below its toolbar and date calendars scrollable inside forms.
Company and catalog workflows — 2026-10-21
- Add a new company to Long and Short independently, selecting each direction's products from the company's list. Keep creation atomic and avoid duplicates when retrying.
- Highlight new Long / Short records until every product has volume, quality, pricing, delivery, transport and origin. Show a personal menu indicator for records assigned to you; preserve the appearance of older records.
- Create one blank KYC check for every Onboarded Company selected when creating a company, including quick creation and file attachments. Preserve existing checks and avoid duplicates on retry.
- Select multiple regions from the shared directory and create missing options from the selector. Preserve existing compound names as whole choices.
- Show primary and additional company fields in permanent sections of a wide form, stacked on mobile. Keep nested forms and file drafts independent.
- Open Company List and Long / Short previews from ordinary row cells or the keyboard. Edit only company notes in the catalog; retain the other company editors in the preview. Give Long / Short previews more width.
- Edit task dates directly in the catalog with the existing presets, calendar and manual input. Preserve time, completion, undo and version checks.
- Tighten note line and paragraph spacing while preserving font sizes and document content. Highlight linked company names in Notes and Tasks using a shared theme color.
Dashboard search and spacing — 2026-10-21
- Search all current Platts quotations by code or original/localized name in a bounded read-only popover, alongside selected spreads. Keep personal blocks and drafts unchanged, with explicit missing values and keyboard access.
- Stack each column's blocks directly after their content with standard spacing, preserving personal order, widths and horizontal gutters. Remove outer vertical padding and the search input's duplicate focus border.
Specification preview — 2026-10-21
- Choose an optional Company List manufacturer for each file, or create a company from the selector without losing file drafts. Edit or clear the manufacturer later; search and preview show the saved company.
- Use a compact upload/edit form and a narrower document viewer. Give the catalog search enough room for its full placeholder.
- Open specification documents at 50% zoom by default. Keep the existing zoom, fit, rotation and page controls.
Pipeline preview — 2026-10-14
- Keep workspace navigation groups collapsed when reopening the mobile menu or changing screen size. Remove animated sidebar resizing and group fades that repeatedly reflow the calculation; preserve keyboard focus without scrolling.
- Fix duplicate React keys for the PnL and task sections. Keep each section scoped to the selected deal when switching or reopening previews in Pipeline and Completed deals.
PnL start and shared dialogs — 2026-10-14
- Reorder expenses directly using the handle on the quiet left strip, with the existing settings and deletion actions on the right. Save the order through autosave; retain groups, amounts, history and read-only access, with mouse, keyboard and touch support.
- Keep one shared default template: transportation, insurance, inspection and financing, all with empty amounts. Remove personal-template browsing and management from the interface; every expense remains editable and removable.
- Choose a template or start from scratch before a new calculation. Continue the active calculation or recovered draft without asking again; preserve existing calculations, personal templates and history.
- Unify modal surfaces, spacing, sizing and confirmation dialogs using the existing shared components. Restore focus without scrolling; retain pending protection, nested dialogs, form drafts and mobile touch targets.
PnL result and history — 2026-10-13
- Add the optional Sea cargo starter template: a new calculation with five common expenses and empty USD amounts. Every expense remains editable and removable; existing calculations, drafts, personal templates and saved versions are preserved.
- Preserve settled amounts, units and profit/loss colors during recalculation; keep product tabs and the total bar stable, with a visible pending state and reduced-motion support.
- Prevent quick-delete focus from scrolling the expense list. Retire reverted recovery drafts without erasing another tab's branch, and replay committed requests safely after a lost response.
- Match history changes by stable row identity and show current-version deltas only when their server version matches the displayed calculation.
- Add immediate expense deletion beside each row's settings. Preserve autosave, common/product scope, saved versions and read-only access, with separate accessible targets on mobile.
- Give expense values enough width for full decimal precision and signs. In narrow layouts, place the value below its name while retaining aligned units and accessible actions.
- Combine product and common expenses into one compact ledger with aligned columns, collapsible groups, scoped add actions and the selected product's share below each common amount. Preserve all saved calculations and versions.
- Supply exact group subtotals from the existing server Decimal rules without rounding individual rows or rewriting saved results.
- Emphasize the calculation's PnL using existing profit/loss colors, with neutral zero and incomplete states. Keep all amounts and formulas unchanged.
- Apply the same profit/loss colors to each product tab, preserving neutral zero and missing values when switching products.
- Refine the single History dialog with aligned compact tabs, a searchable calculation list, a bounded version list and a contextual comparison action. Preserve keyboard navigation, focus return, snapshots and drafts on desktop and mobile.
- Add DESIGN.md with Linear as the visual reference, permission to inspect the available account, and rules for reusing DEXTRA components.
AI chat reliability — 2026-10-13
- Present task/note deletions as compact record titles, short permanent-deletion warnings and Reject/Delete actions in chat and modal reviews. Hide all other fields and preserve final confirmation, cancellation and original approval data.
- Show task/note edits as compact changed-field Before/After pairs with a short record context, readable note content and explicit confirmation. Hide unchanged snapshot fields and prevent confirming empty edits; preserve original approval data.
- Apply the same immediate compact preview to new tasks: title, calendar deadline/time, localized priority and Reject/Create task actions, with explicit unset values and unchanged human approval.
- Present new notes immediately as a full-width title and readable body with compact Reject/Create note actions. Remove the empty current-values column, redundant chat header and approval copy in both chat and modal reviews.
- Hide internal IDs, save requests, versions and hashes in chat and modal approval reviews. Show related companies, recipients, products, files and Dashboard blocks by name while preserving exact server approval data.
- Clear the composer when a request starts; restore stopped or failed input without overwriting the next draft, and allow a fresh request after Stop.
- Keep streamed responses and review cards visible while history catches up; prevent late refreshes from replacing newer messages and update approval counts after decisions.
- Smooth composer and review transitions, animate the working indicator and batch streamed text per frame. Respect reduced motion and preserve manual reading position until a new request or Jump to latest.
- Show proposed Notes as readable paragraphs and lists, keeping nested review fields within the available width on desktop and mobile.
Interactive AI agent — 2026-10-13
- Use a Linear-inspired agent canvas with conversation history in the header, a centered composer, suggestion cards and a compact send control. Remove the profile selector and inline connection statuses; preserve offline drafts and private history.
- Render Markdown tables, lists, emphasis and code in saved and streaming responses. Copy answers/code, inspect authorized sources and jump to the latest message.
- Review proposed changes from text or voice, then approve or reject exact fields. Recheck access, source versions and expiry before writing; repeat approval never duplicates the change.
- Offer GPT-6 Luna Low and Realtime 2.1 Mini in Root settings with model-specific pricing and budget accounting, preserving saved model choices.
PnL recovery and history — 2026-10-13
- Keep one History entry on the left for calculations and saved versions; remove the separate right panel.
- Preserve saved data and newer drafts when reopening a newly created calculation. Retire corrected invalid recovery drafts after saving, without clearing another tab’s unsaved branch.
- Persist unfinished copy, snapshot and template requests across editor remounts and reloads. Replay the original operation before saving newer template fields.
- Compare allocation remainders exactly in engine v3; preserve existing calculations and immutable versions.
- Reject invalid NUL characters before database writes.
PnL product focus — 2026-10-13
- Scroll desktop expenses independently while keeping product inputs and totals in place. Keep all fields accessible on short and narrow screens.
- Show dashed borders on empty editable inputs; reveal them on filled inputs only on hover, keyboard focus or an open selector. Align quantity and unit, and mark missing required values directly instead of showing an instruction paragraph.
- Remove whole-row and sheet focus highlights. Add confirmed product deletion from tab context menus while preserving common expenses and saved versions.
- Use Sale for the selling side and accept explicitly signed premiums or discounts. Verify that missing current quotations never reuse an older price or override.
- Open a calculation directly, or start with one empty product without creating an empty record. Keep all calculations accessible in a searchable catalogue.
- Switch between products while editing prices, quantity and compact expense rows on one sheet. Separate individual and common expenses, including the selected product’s allocation.
- Collapse the version history; retain comparison, restoration, read-only sharing and immutable snapshots.
- Keep existing calculations, autosave recovery, exact server calculations and independent drafts across tabs.
PnL reliability fixes — 2026-10-12
- Correct half-cent aggregate rounding and plain-decimal serialization of small quantities and quotations.
- Preserve newer input during quote refresh, restored autosave and copy recovery after lost responses; retain independent drafts in other tabs.
- Retry snapshot and copy requests without duplicates, recover manual drafts after source deletion and label history differences with the compared units.
- Retry transient database serialization failures while preserving real version conflicts, access checks and existing saved history.
Personal product PnL — 2026-10-12
- Calculate one or multiple products in USD with editable prices, explicit MT/bbl conversion, expense allocation and financing tranches.
- Use frozen Platts quotations, preview their refresh, save personal templates and prefill available Pipeline/Reference inputs.
- Keep private calculations with read-only sharing, autosave recovery, immutable named versions, comparison and restoration.
- Link accessible calculations from Pipeline while preserving the independent Completed Deals estimate.
Protected specification certificates — 2026-10-12
- Accept PDF certificates with copying/editing restrictions, retaining the original bytes for preview and download.
- Keep structural validation, page limits and bounded decoding; cover protected PDFs with upload, retry and rendered-page regressions.
KYC dates and compact Notes — 2026-10-12
- Use DD.MM.YYYY for KYC dates in both languages, including manual entry and creation. Accept historical and future dates while preserving start/end validation.
- Let Notes fill the editor pane with smaller desktop text, tighter paragraph spacing and matching read-only rendering.
- Make formatting controls visually smaller while retaining accessible touch targets, selected states and keyboard navigation.
- Clear a cancelled formatting draft before autosave without removing a newer draft from another tab.
- Preserve a recovered conflicting draft when another tab reverts to the saved note or refreshes; keep explicit discard and acknowledged-save cleanup working.
AI assistant and MCP — 2026-10-12
-
Root has a separate AI usage page with interactive daily charts, profile filters, monthly budget, reserved capacity and unconfirmed costs. New paid operations share a configurable monthly budget of $10 by default.
-
Text and document analysis use GPT-6.1 Sol with low reasoning; Root can allow up to five specifications per request. Personal MCP tokens last 90, 180 or 360 days, with OAuth retained as an alternative.
-
Agents can only read imported Platts quotations. Excel uploads, deletion and original workbook access remain outside MCP; the existing Platts interface is unchanged.
-
Keep one user's voice cancellation or invalid request from disabling voice for everyone.
-
Isolate OAuth request budgets by trusted client address and route group.
-
Bound temporary specification uploads across the app and MCP; preserve selected files and form drafts when capacity is reached.
-
Add a signed-in DEXTRA documentation hub with section navigation, article contents, a separate header and theme surfaces. Provide client-neutral MCP instructions with an optional Codex example.
-
Preserve modern MCP method/name headers through the application proxy.
-
Connect compatible MCP clients using personal tokens with permissions from the current agent profile, expiry and revocation; show each token once and preserve browser approval for changes.
-
Place AI sidebar actions in one icon row, revealing labels on hover and keyboard focus and retaining labels on mobile.
-
Add private text conversations and realtime voice, with read-only access to permitted workspace data and specification analysis.
-
Let Root manage the encrypted OpenAI connection, agent profiles, models and usage limits; keep history available when a capability is unavailable.
-
Connect external agents through OAuth/PKCE and MCP, with each business change reviewed and confirmed in DEXTRA.
-
Preserve Notes permissions across tools, source links and conversation history, including after access is revoked.
Personal notes — 2026-10-11
- Add private Notes with optional company, plain text and nested lists, automatic saving and recovery of unsaved drafts.
- Share read-only access with selected users and revoke it; a link or Root role alone does not grant access.
- Keep the list and editor independently scrollable, with separate mobile views and account-scoped draft cleanup at sign-out.
- Switch between text, bulleted and numbered lists directly with compact formatting toggles, with the current format highlighted.
DEXTRA logo — 2026-10-11
- Use the supplied vector logo in the workspace menu, sign-in and public header, with the platform's light and dark theme colors.
- Replace browser/application icons with the compact mark while preserving its shape, navigation and stored data.
DEXTRA — 2026-10-10
- Rename the platform in navigation, sign-in, page metadata and the application manifest.
- Keep the existing logo until the new one is provided; preserve deployment identities, stored data, sessions and personal preferences.
Dependency updates — 2026-10-10
- Update Next.js to 16.3.8 and compatible security fixes in runtime and tooling dependencies.
- Bound deeply nested glob processing with a reproducible local patch; preserve application additions, frozen installs and existing data through deployment.
Specification audit fixes — 2026-10-10
- Protect saved originals from reused upload IDs and temporary-file cleanup; reject excessive PDF expansion and damaged images.
- Preserve large uploads, Unicode filenames and complete metadata batches without truncation.
- Keep closed drafts through sorting/filtering; remove stale rows after refresh and recover partial transfers without losing versions or selection.
- Release PDF loading when the viewer closes and follow the current page at high zoom.
Company specifications — 2026-10-09
- Add shared PDF, JPEG, PNG and WebP specifications to companies, including quick creation; keep file drafts after closing or a failed save.
- Browse, search, sort, transfer and delete documents in Specifications, Company List and Long / Short without pagination.
- Preview originals with local PDF pages, zoom, fit, rotation and navigation; download through authenticated routes.
- Preserve existing data and settings through an additive migration; upload-only Nginx configuration is applied separately.
Task preview — 2026-10-09
- Change or clear due date and time directly in task details, including empty fields, without opening the full editor.
- Keep date/time presets, manual input and validation; save each property independently, cancel with Escape and retain drafts after failed requests.
- Show task dates as DD.MM.YYYY in both languages, with matching input order and unchanged stored dates.
Audit fixes — 2026-10-09
- Preserve product notes when editing general commercial conditions, and keep shared company fields consistent across legacy forms.
- Reload current company versions after a conflict, restore cancelled counterpart choices, and open company details from Tasks.
- Keep Dashboard block removal in the draft until Save; search all commercial products by class and volume.
- Prevent successful logins through the shared gateway from exhausting another user's quota.
- Retire workflow Excel transfer tools while preserving stored business data, settings, migration history and Platts uploads.
Task scrolling — 2026-10-09
- Scroll the complete task list beneath its fixed toolbar on desktop and mobile, without pagination.
Tasks — 2026-10-08
-
Tasks link to an optional company, show company/title and a single-line description, and offer Tomorrow / Next week / Next month plus 09:00 / 13:00 / 18:00 presets.
-
Keep completion and a labelled priority at the start of task rows on every screen, using Pipeline styling and consistent spacing before the company and description.
-
Pipeline shows tasks of its client/supplier; deleting a deal no longer changes tasks. Existing tasks retain their fields and start without a company after the one-time migration.
-
Place compact date/time presets first; switch between date options and the calendar with its own button; keep properties beside create/cancel actions, validate time while typing and use High/Medium/Low priorities.
-
Создание, редактирование и дублирование используют минимальную форму: свободные название/описание и строка компактных свойств с раскрываемыми датой/временем.
-
Create shared tasks with only a title; add priority, description, independent date/time and a company when needed.
-
View Mine by creator or All, Active or Completed, with personal grouping and sorting saved to the account.
-
Complete immediately and undo during the five-second countdown inside the filled completion circle.
-
Use compact details, searchable company selection, duplication, context menus and bulk actions without selection checkboxes.
-
Keep tasks when deleting their company; Next Steps and deal status stay independent.
Market and Long / Short — 2026-10-08
- Use the shared Market reference with search and multiple selections in Long and Short forms.
- Open product details from the catalogue; view separate conditions for each product and edit them in the modal.
- Keep KYC/type tooltips, status menus, bulk actions, comparison and personal columns.
KYC creation — 2026-10-07
- Start a KYC check directly from the catalogue, selecting an existing company with search.
- Quickly create a company from that picker and select it automatically while keeping the KYC dates, status and notes.
- Row actions preselect their company; closing or retrying the form preserves its draft.
Consistent editors — 2026-10-07
- Keep company and trade drafts when closing editors; detect conflicting company type changes before saving.
- Preserve product quantities, accept grouped decimal quantities and use the same volume display in Pipeline previews.
- Use one manual date mask in KYC forms and cells, compact quantity popovers, accessible multi-select choices and toast-only form validation.
- Escape cancels unsaved inline choices and month filter changes; existing KYC no longer offers an unsupported Onboarded Company clear action.
Company types and On hold — 2026-10-07
- Select multiple company types in company forms, Company List and Long / Short; reference renames and merges preserve the other types.
- Inline type editing keeps every saved choice immediately, including when reopened before the table refreshes. Hover or focus a type cell in Company List, Long / Short and KYC to see its full list.
- Use On hold in Pipeline and KYC through forms, inline editing, menus, bulk actions and filters.
Contacts and completed deal totals — 2026-10-07
-
Completed Deals: месяцы доступны рядом с Filters, общий P&L выровнен по колонке сумм; положительные и отрицательные значения используют цвета Dashboard.
-
Store company contact names, phones and other details in one editable multiline field; search companies by their contacts.
-
Scroll Long / Short creation and editing forms with the action buttons kept outside the scroll area.
-
Completed Deals shows Total P&L for the current filters and the number of uncalculated deals; filter by multiple months or records without a month.
-
Remove the derived Class field and column from Pipeline; Supplier remains in the table.
Long / Short loading — 2026-10-07
- Remove the duplicated status column from loading rows so headers, cells and column widths stay aligned without React key warnings.
Class colors — 2026-10-07
- Set colors on Classes in Reference; products and catalog rows inherit the assigned class color in both themes. Products without a class stay neutral.
- Apply the approved initial class palette once during migration; later deploys preserve edits. Excel product fills remain import-report evidence.
Pipeline references and KYC dates — 2026-10-07
- Pipeline shows the linked Supplier and the product's current reference class, preserving historical class values as fallback.
- Market of Source is a searchable reference catalog with existing values, record links and rename/merge support.
- Enter manual KYC dates independently of today, including during creation; the start date cannot follow the end date.
Catalog selection — 2026-10-07
- Right-click Select enters a checkbox-free mode with a compact bottom action bar; row clicks select instead of editing. Escape returns to normal interaction.
- Apply catalog-specific bulk actions with confirmation for deletion; conflicts preserve the failed selection and report partial results.
- Duplicate a Pipeline through its menu into a prefilled creation form, retaining its status and conditions without copying its P&L or history.
- Bulk status and priority choices reuse the table's colored icons; KYC statuses open in a compact submenu.
- Select Onboarded Company from Reference in company and Add KYC forms, with a visible dropdown indicator and preserved drafts.
- Compare selected Long / Short rows from the bottom Actions menu, without a separate comparison list or header button.
- When more than four companies are selected, Compare is disabled and a tooltip explains the limit.
Workspace users — 2026-10-06
- The original account receives Root once during deployment; Root can add users from the account menu.
- New users change their temporary password on first sign-in. Excel import instructions identify the selected trader while preserving shared companies and references.
Continuous catalogs — 2026-10-06
- Scroll through all filtered catalog records without page controls, including Platts files and Reference links.
- Edit Pipeline Next Steps in the row: Enter or blur saves, Escape cancels, and conflicts retain the draft.
Reference links and merging — 2026-10-06
- Open linked records from Reference usage counts or the row menu.
- Rename used values inline; merge into an existing name while preserving the destination settings and linked records. Conflicting product conditions, KYC checks and volume units remain protected.
Company visibility and catalog controls — 2026-10-06
- Preview Long / Short KYC on hover in a compact list of status icons and onboarded companies; prioritize completed checks, then the number of checks.
- Fix server rendering of catalog creation buttons and keep KYC summaries compact, padded and readable.
- Show every company in KYC with a blank status until its first edit; preserve independent checks and sortable, filtered lists.
- Add companies from KYC without switching pages, and start further checks from the company’s row menu.
- Align status controls consistently and use the same compact “Add company” action across KYC, Long / Short and Company List.
KYC and company registry — 2026-10-06
- Restore confirmed historical onboarding companies and keep independent checks and manual edits.
- Edit exact KYC dates inline with automatic separators and calendar validation; sort every KYC and Long / Short column before pagination.
- Keep Company List as a compact registry with name, country, region, type, website, address and notes, while retaining historical details in the preview.
Long / Short and KYC — 2026-10-06
- Switch Long / Short tabs within one workspace, choose visible columns, and keep each product’s quality and commercial conditions separate.
- Manage independent KYC cases for each Onboarded Company, with automatic calendar dates and read-only status summaries in catalogs.
- Assign product classes and volume units in Reference. Enter numeric quantities; show kilograms and kilotonnes in tonnes and keep barrels separate.
Reference — 2026-10-05
-
Choose named, muted product colors from the Excel palette; Reference and catalog rows share the same accents in both themes.
-
Open the same Reference actions by right-clicking a row or using its menu; rename/delete safeguards also apply there.
-
Scroll the complete Reference table within the workspace while categories, search and column headings remain visible.
-
Import the supplied palette once; later releases preserve edited catalog colors.
-
Manage shared products, classes, transport modes and company types in a compact, searchable workspace with usage counts.
-
Create missing values from working fields; select multiple transport modes and company products without leaving a draft.
-
Preserve existing names and business fields, and protect values used by records from renaming or deletion.
Default market pairs — 2026-10-05
- Use the approved three-column layout: ULSD / Fuel Oil / Tickers above Naphtha / Gasoline / Gasoil. Initialize existing accounts once during migration; later deployments preserve personal changes, and new accounts start with the same layout.
- Start with 20 confirmed spreads in Naphtha, Gasoline, ULSD, Fuel Oil and Gasoil groups, plus their 24 source tickers.
- Convert the two diesel barrel legs by 7.45 before calculating spreads and their changes; preserve source quotation units and exact decimal precision.
- Resolve verified units for older Platts imports without rewriting their quotations, and show each spread's actual pair.
Platts prices and navigation — 2026-10-05
- Color positive and negative Platts prices with the shared Dashboard palette; keep zero and missing data neutral.
- Move between Platts files from the header, retaining ticker search and the file list order across pages.
- Restore Dashboard changes for matching series whose units are omitted in both imports; preserve exact prices and checks against mismatched units and ambiguous data.
Linear market dashboard — 2026-10-05
- Show multiple confirmed spreads and selected tickers together in compact market lists, with searchable personal selection, ordering and responsive layouts.
- Color spread signs and price changes independently. Compare exact Decimal values against the most recent earlier imported assessment, showing both dates and preserving missing data.
- Match workspace menus, dialogs, loading, mobile controls and both themes; preserve saved settings and conflict drafts.
Commercial workspace — 2026-10-05
-
Unify searchable menus, selectors, fields and dialogs with the compact Linear workspace. Keep full status names and remove dashed field outlines.
-
Select a counterparty directly from a table cell. Create missing companies from search with the entered name; retain company drafts and open the created profile without clearing list filters.
-
Match Company List row density to Sourcing and Outlets. Create a company once without selecting a role, and use it in either commercial section.
-
Search commercial conditions across Excel fields with combined words and product, quality, transport and market filters.
-
Edit table cells in place with Enter or blur; keep failed drafts and version conflict protection.
-
Open exact company profiles with offers and requests in tabs, and return to the filtered list and selected record.
-
Compare up to four offers or requests across pages through context actions and preview buttons, without checkboxes. Choose desktop columns and retain the main commercial criteria on mobile.
-
Preserve existing data meanings, status rules and freshness behavior. Reference remains a separate step.
Linear Sourcing and Outlets — 2026-10-05
- Restore both commercial lists with compact product accents, owner/status/search filters and matching mobile/loading states.
- Open complete commercial conditions in the same right-hand preview as Pipeline, with adjacent-record navigation, keyboard support and context actions.
- Share versioned status changes between rows, menus and previews; retain modal editing, confirmed deletion and conflict drafts.
- Preserve workbook fields and links to Company List, with both locales and themes.
Linear Platts — 2026-10-05
- Restore the Excel file list and quotations in the compact workspace, with matching loading states and mobile rows.
- Use a compact upload dialog with file selection or drop, filename, size and validation before submission.
- Show every quotation in one scrollable list with ticker search; omit the technical Source column. Keep exact prices, missing-value states, dates, downloads and confirmed deletion.
- Use the existing muted yellow attention style for both Platts and Completed deals. Platts needs attention when no current assessment exists for today or yesterday in the device timezone.
- Preserve both languages and themes, with pagination only in the file list.
Month input mask — 2026-10-05
- Insert the dot automatically while entering a deal month: 102026 becomes 10.2026. Support pasting complete dates and replacing the month or year without moving the caret to the end.
- Highlight invalid months immediately; reject letters and extra digits, and keep incomplete dates editable until corrected. Preserve Enter/blur saving and Escape cancellation in the table and deal preview.
Estimated deal P&L — 2026-10-04
- Show Loading and Completed trades in Completed deals while keeping the same records in Pipeline.
- Reuse the deal's existing Volume and convert exact t/kt/kg values to MT automatically. Changing Volume recalculates the estimate; ranges and unsupported units remain unresolved.
- Edit estimated P&L per MT directly in cells or the deal preview; save with Enter or on leaving the field and reject nonnumeric input.
- Calculate the approximate USD total on the server, highlight missing inputs, and keep the personal navigation indicator until every eligible trade has both values. Zero and negative P&L are valid estimates.
- Edit one month and year for each trade; show Completed before Loading, then newer months first, with missing months last within each status. The attention indicator is red.
Linear Completed deals — 2026-10-04
- Restore Completed deals with seven compact columns, product row accents, owner views, search and persistent filters.
- Reuse the floating deal preview, context actions, modal editing and confirmed deletion; preserve reversible status changes and canonical record links.
- Adapt the list and loading state to mobile and restore the assigned-completed-deal indicator in navigation.
Linear Company List — 2026-10-04
- Restore Company List with compact role views, persistent search/KYC filters, regional row accents and mobile rows.
- Open companies in a floating preview with full role-specific fields, adjacent-company navigation and context actions.
- Keep distinct requests/offers in compact expandable blocks, with existing status, creation, editing and confirmed deletion actions.
- Share saved KYC versions between list, preview and menu; retain drafts on conflicts and adapt company/commercial forms to the workspace.
Linear Pipeline — 2026-10-04
- Replace expanded rows with a floating quick preview, adjacent-deal navigation and in-place edit/delete actions. Add grouped context menus with Status, Priority and copy-link actions, also available from the preview on mobile.
- Apply the selected row accent: a product-colored left edge and subtle row tint, with neutral product text in both themes and on mobile.
- Restore product colors as subtle labels and distinguish stages and priorities with colored markers in both themes, including the product picker.
- Restore Pipeline with a compact neutral table, in-place details, owner views and persistent filters.
- Adapt the trade editor, detail page and loading states to the new workspace; preserve existing fields, version checks and notifications.
- Show compact mobile rows with full details on expansion, and a full-screen editor with fixed actions. Other sections remain empty.
Linear workspace — 2026-10-04
- Rebuilt the workspace shell with compact navigation, grouped sections and an account menu.
- Added a mobile navigation drawer, keyboard focus handling and reduced-motion transitions.
- White base with system theme; section pages remain empty during this design stage.
Included
- Feature-Sliced Design boundaries and public APIs.
- Unit, contract, and production-runtime test layers.
- Internationalization, security headers, Docker, CI, and AI-agent rules.
Restore commercial pages — 2026-10-03
- Restore separate Sourcing and Outlets pages and navigation, including their filters, quick status editing and expandable Excel columns.
- Restore Company List expansion inside the table; keep records, KYC sorting and saved navigation preferences.
Compact navigation — 2026-10-02
- Start with the desktop menu pinned open; remember each account's choice in this browser across page reloads.
- Collapse desktop navigation to a narrow rail, revealing the menu on hover or keyboard activation without moving the table.
- Pin the menu open or hide it; keep Escape, focus handling and the mobile Menu button.
Company List — 2026-10-02
- Sort by KYC in either direction across all pages, keeping search and role filters; unspecified KYC stays last.
- Keep one company per row, with Client/Supplier badges and a compact role filter.
- Show linked requests and offers in the company expansion, preserving every product and set of conditions.
- Add and edit conditions with the company already selected; keep quick Status editing and confirmed deletion.
- Keep legacy Client/Supplier list links pointing to Company List while preserving existing records.
Completed deals attention indicator — 2026-10-02
- Show an attention badge in desktop and mobile navigation when the current trader has completed deals.
- Refresh the indicator after completion, reopening or deletion. Until calculations are implemented, all completed deals need attention.
Full-width table columns — 2026-10-02
- Distribute available width across all columns in Pipeline, Completed deals, Sourcing, Outlets, Company List and Platts.
- Match loading skeletons to the same column proportions and keep horizontal scrolling on narrow screens.
- Keep volume numbers together instead of breaking them between digits.
Completed deals — 2026-10-02
- Move completed trades out of Pipeline into a dedicated compact table, keeping the same record and commercial data.
- Reopen a trade through quick Status editing or the modal, preserving its history and returning it to Pipeline.
- Keep assigned-owner filters, search, internal scrolling, and matching loading skeletons. Financial calculations remain deferred.
- Allow wheel and touch scrolling in searchable selectors inside dialogs while keeping the underlying form locked.
Compact selectors and visible transport mode — 2026-10-02
- Center compact Select options without a left selection stripe, keeping mobile touch targets.
- Align Priority, Status and KYC headings with their inline controls.
- Show Mode after Volume in Sourcing and Outlets, with matching loading skeletons.
KYC choices and inline editing — 2026-10-02
- Use the workbook's Requested, Pending and Completed statuses, with an empty option, in company forms and Company List quick editing.
- Keep company role updates atomic and preserve other fields on conflicts.
- Center editable table values and use dashed hover, focus and open borders.
Company roles and one Add action — 2026-10-02
- Show Client/Supplier badges next to company names before expanding a row.
- Use one Add action with Client · Outlets and Supplier · Sourcing choices, preserving form drafts when switching.
- Keep editing and company creation inside deals bound to their existing role.
Consistent tables and company details — 2026-10-02
- Show common company fields once and preserve differing Client/Supplier values with their roles.
- Keep full company names available on expansion and retain separate profile actions.
- Align table text, spacing and typography across modules; use Add in trading lists with contextual form titles.
Record deletion and local Platts dates — 2026-10-02
- Delete Pipeline, Sourcing, Outlets, company profiles and Platts through a shared confirmation dialog.
- Preserve linked companies and use the freshest remaining Platts issue after deletion.
- Treat today and yesterday as current using the user's local calendar, without shifting the Excel assessment date.
Small buttons, KYC filtering and no archive — 2026-10-01
- Make small buttons the product default and unify elongated actions in expanded rows.
- Filter Company List by KYC together with search while preserving both company profiles.
- Remove archive actions, filters and selection restrictions without deleting company records or links.
Sourcing, Outlets and Company List — 2026-10-01
- Separate supply offers and buyer requests with Excel fields, quick statuses, compact filters and modal forms.
- Expandable tables share Pipeline density, internal scrolling and muted source colors.
- Company List groups buyer/supplier profiles without losing their separate terms and editing actions.
Pipeline row colors and fewer columns — 2026-10-01
- Tint entire summary rows softly using each product's existing Excel color, preserving readable text and status badges in both themes.
- Keep nine columns with a narrower table; Producer and Pricing remain in expanded details and the editor.
Pipeline counterparties and compact filters — 2026-10-01
- Show Client, Producer, Origin and Pricing in collapsed pipeline rows, with full values available on expansion.
- Replace the tall filter area with a compact toolbar and a popover for company/product filters; preserve drafts when it closes.
- Apply filters within the persistent workspace, retaining priority sorting and returning to the first page.
Table scrolling and priority sorting — 2026-10-01
- Scroll table rows inside the workspace while keeping page actions, filters, pagination and column headers available.
- Contain pipeline badges beneath the table header and match loading skeletons to the same layout.
- Sort all filtered deals by priority before pagination; toggle direction in Priority and keep unassigned priorities last.
Pipeline from Trade — 2026-10-01
- Match the seven Trade columns and expose the remaining source fields on expansion.
- Change colored priorities and statuses directly in the table without moving the row.
- Create and select clients or producers inside the pipeline form while preserving its draft.
Compact project forms — 2026-10-01
- Keep all project fields visible in four permanent sections, with a wider responsive dialog and a matching loading skeleton.
- Reduce shared page, form and table spacing while preserving readable text, keyboard focus and mobile control sizes.
- Keep a single footer cancellation action in forms, including loading and failed-load states.
- Place an explicit back arrow and label beside page titles, with matching loading geometry and mobile layout.
Modal workflows — 2026-10-01
- Open create/edit actions, Platts uploads and block settings in shared responsive dialogs; keep the current screen after successful edits.
- Confirm company archival and block removal before acting; retain failed drafts and keep Sonner actions accessible within the active dialog.
Workspace loading — 2026-10-01
- Use route-specific shadcn skeletons for market blocks, tables, forms and details, with shared spacing and reduced-motion support.
- Keep navigation and account controls mounted while workspace pages load.
- Keep the loading announcement available to assistive technology without visible loading copy.
- Preserve existing URLs and page-level session checks with a shared workspace layout.
Project table — 2026-10-01
- Replace project cards with a compact table while retaining filters and pagination.
- Expand rows to inspect full terms, next steps and linked companies, with direct access to project editing.
- Keep key columns on mobile and reveal the remaining fields inside each row; support keyboard disclosure.
Workspace pages and controls — 2026-10-01
- Standardize page headers, actions, filters and pagination across the five workspace modules.
- Replace system selectors with styled controls and searchable owner/company pickers, retaining async pagination and form values.
- Add a localized date field with a keyboard calendar, compact file selection and consistent mobile control sizes.
Action notifications — 2026-10-01
- Show action confirmations and failures in Sonner without shifting page content.
- Keep conflict recovery inside persistent notifications while preserving unsaved drafts.
- Use text dismissal, both themes and localized mobile-friendly notifications across all modules.
Workspace shell — 2026-09-30
- Apply the warm graphite palette in both themes, with stronger input boundaries, distinct separators and opaque button hover states.
- Let tables and market lists share the workspace background.
- Reveal theme, language and logout below the account trigger; anchor the desktop account to the sidebar bottom and keep mobile actions inside the menu, with reduced-motion support.
- Refresh the shared workspace with a full-viewport charcoal navigation frame, a rounded content surface and blue accents, without an outer canvas or gutter.
- Add an inline mobile menu with keyboard dismissal, safe-area spacing and consistent navigation across all five modules.
- Keep the shell fixed to the viewport with internal overflow scrolling and suppress scroll chaining and boundary bounce.
Trade project management — 2026-09-30
- Add a compact card list, assigned-owner filters and linked clients/suppliers.
- Create and edit projects, search company directories, and preserve conflicting drafts.
- Let every active trader change stages with actor history and completion dates.
Workflow import — 2026-09-30
- Import trade, execution, supply and demand records as separate projects with linked companies.
- Preserve unknown products, stages and completion dates; filter projects with an unspecified stage.
- Keep commercial terms and saved numeric values without executing formulas or overwriting trader edits on repeat imports.
Clients and suppliers — 2026-09-30
- Add separate client and supplier directories with consistent compact pages, search, editing and archive.
- Preserve independent company IDs for future trade links and detect conflicting edits.
- Populate local directories with business fields from the trading workbook, without workbook references in company records.
Production deployment — 2026-09-28
- Add a project-specific deployment manual for trader.luvl.dev, private PostgreSQL/Garage storage and manual nginx configuration.
- Build production images without repeating local quality checks; preserve readiness checks and recovery scripts.
- Report deployment start and result to the existing Axis notification system; check connectivity with a signed ping before the first deployment.
Removed
The source project's MES domain, Keycloak integration, catalogs, roles, and project-specific source-code assertions are intentionally not part of the reusable core.
Toolchain update — 2026-09-02
- Use pnpm for installation, scripts, CI, Docker, and Git hooks.
- Support Node.js 24 and 25, with Node.js 24 as the default runtime.
- Preserve the pnpm lockfile when initializing a new project.
- Validate package-manager consistency alongside the repository contracts.
- Use Pino for server JSON logs and pino-pretty during development, with tested credential redaction.
- Update vulnerable transitive dependencies within their existing version ranges.
- Fix standalone dependency tracing, theme hydration, CSP nonce propagation, and locale switching with query/hash preservation.
- Verify every page script's CSP nonce, current-version MDX, 404 security headers, and production startup logs.
- Keep the theme bootstrap executable during SSR and inert during client navigation to avoid React script warnings.
- Update Knip and use its normal parser during Docker builds to support constrained builders.
Lint policy update — 2026-09-07
- Add four Oxlint anti-slop rules that preserve type evidence, alongside the existing ESLint, Steiger, and Knip checks.
- Verify allowed and forbidden lint examples, including parsing boundaries and FSD public APIs, in the contract gate.
- Fix ESLint slice-internal import patterns so every FSD segment is protected without brace expansion.
- Add 14 native Oxlint rules for Promise handling, unsafe types, assertions, generics, exhaustive switches, and empty or redundant catches.
- Require runtime parsers for shared JSON clients and reject invalid health responses with an ApiError and request ID.
- Restrict global fetch to the shared transports and automatically require named, justified local lint exceptions.
Repository automation update — 2026-09-08
- Remove the default Dependabot configuration and its setup instructions.
- Keep agent tools and docs local after project initialization, with scoped Git ignores, safe untracking, and checks that support clean clones.
Template reliability update — 2026-09-08
- Support Node.js 24 LTS consistently across package engines, CI, Docker, and contributor instructions; remove Node.js 25 support.
- Normalize network failures, timeouts, and cancellation into the shared ApiError contract, with a browser request timeout.
- Exclude ignored local environment files from secret checks while retaining checks for tracked and untracked nonignored source files.
- Reject slice names that produce invalid TypeScript identifiers before creating files.
- Preserve dollar signs and quotes when initializing environment values, with regression checks using the Next.js environment loader.
Test workflow update — 2026-09-08
- Discover repository contracts automatically under one test command, without a package script for each check.
- Keep documentation checks local after initialization and verify that clean copies run without them.
- Disable automatic instruction-file generation during development.
Local workflow update — 2026-09-08
- Remove bundled CI and dependency-audit workflows, commit/push hooks, and the hook installation command.
- Make toolchain versions recommendations: warn on Node.js mismatches, remove local pnpm constraints and pins, and pin the container toolchain separately.
- Keep tests, verification, and dependency auditing available as explicit commands.
Monorepo update — 2026-09-27
- Move the Next.js application, dependencies, environment, and runtime tests into
apps/web. - Use pnpm workspaces with one lockfile and shared root commands for development, tests, checks, and builds.
- Prepare workspace discovery for a future backend and shared packages without adding placeholder applications.
- Preserve initialization, FSD generation, lint policies, and Docker standalone deployment with the new paths.
Modular applications — 2026-09-28
- Initialize frontend, API and workers independently, retaining all blueprints inside the project.
- Add applications and named workers later with conflict checks, staged dependency resolution and rollback on command failure.
- Add a NestJS HTTP gateway and a TCP worker; health aggregates all configured worker responses with bounded timeouts.
- Scope frontend dependencies and contracts to the web workspace; keep one command for all checks.
- Configure project instructions for GPT-6 Astra with contextual documentation and explicit initialization steps.
NestJS quality and DTOs — 2026-09-28
- Add selected NestJS lint rules for dependency injection, decorators, route parameters and DTO validation, inherited by newly added workers.
- Reject cross-application source imports and undecorated DTO fields through the shared lint gate.
- Validate DTOs with explicit types, nested constraints and safe HTTP/RPC errors; validate worker replies and reject malformed health messages.
- Include backend validation and lint regression tests in the existing shared test command.
Audit fixes — 2026-09-28
- Update vulnerable framework and transitive dependencies while preserving the selected stack.
- Fail worker startup reliably and reject conflicting worker registration before adding components.
- Preserve local file dependencies during component additions and make slice generation atomic and frontend-aware.
- Preserve complete inline CLI values, including equals signs.
- Cover HTML error responses with CSP and request IDs; bound smoke-test process shutdown.
- Reject undeclared JavaScript names and include regressions in the shared test command.
- Align contributor instructions with optional applications; fix changelog dates, Markdown styles and reduced motion.
Repeat audit fixes — 2026-09-28
- Protect local documentation and nested source directories when removing unselected applications.
- Reject unsupported pnpm hooks before publishing component changes; preserve Compose include options and reject included service-name collisions.
- Install and build transitive workspace dependencies in the web Docker image.
- Render localized and global not-found responses with visible content and matching CSP nonces.
- Validate server timeout bounds before constructing request signals.
- Check TypeScript tooling module extensions, enforce CommonJS lint rules and detect quoted secret fields.
- Keep all regression checks in the existing shared test command and synchronize retained application blueprints.
Compact market preview — 2026-09-28
- Add a local Dashboard preview covering six markets, with grouped spreads, a separate quotation list, search, favorites and visible-section preferences.
- Apply the Desert Rain palette through semantic tokens and use compact shadcn components, responsive layouts and Russian/English copy.
- Keep private Excel evidence outside tracked source and production responses; show missing series and provisional selections explicitly.
Authentication and Platts — 2026-09-28
- Add login, first-password change, protected pages and sign-out.
- Import QS+VGO Excel into PostgreSQL and encrypted private Garage storage; list uploads and search all quotations by ticker.
- Keep exact decimal prices, source cells and explicit missing values; avoid duplicate imports.
- Remove icons and explanatory dashboard copy, simplify navigation to Dashboard/Platts, and highlight past assessment dates.
Dashboard simplification — 2026-09-28
- Remove dashboard dialogs, row checkboxes, favorites and visibility settings; retain search and the compact quotation lists.
- Remove focus rings throughout the application; indicate keyboard focus with border color or text underlining.
Personal Dashboard — 2026-09-28
- Edit quotation and spread blocks with ticker search, grid dragging, preset widths and row counts, and text move controls on phones.
- Save shared contents with independent desktop/mobile layouts per account; detect conflicting saves across devices.
- Read all quotations from the current Platts import and calculate four confirmed FOB Med minus CIF Med spreads in the API with Decimal.
- Keep missing series visible without older prices; replace the provisional local snapshot with authenticated server data.
Local sign-in — 2026-09-30
- Allow development assets and live reload from the configured 127.0.0.1 address while rejecting unrelated origins.
- Submit authentication forms with POST when JavaScript is unavailable, keeping credentials out of the URL.