Platform Bug Reports

Platform Bug Report / Feature Request

Created: 2026-09-24
Reporter: AI Assistant (Workspace Configuration)
Project: Cost Calculation System for Projects (ТЗ)


BUG REPORTS

BUG-001: LOOKUP_TABLE accepts wrong number of arguments

Severity: High
Category: Formula Engine

Description:
LOOKUP_TABLE documentation states it accepts 4 arguments: LOOKUP_TABLE(table, matchColumn, matchValue, resultColumn). However, when attempting multi-column lookup with 6 arguments:

LOOKUP_TABLE("Производственный календарь", "col_god", {col_year}, "col_month", {col_month}, "Норма рабочих дней")

The error message says "LOOKUP_TABLE takes 4 arguments" but provides no guidance on how to perform multi-column matching.

Expected: Either:

1.

Support multi-column lookup: LOOKUP_TABLE(table, [matchColumn1, matchValue1, matchColumn2, matchValue2], resultColumn)

2.

Or clearly document that SUM_TABLE with predicate should be used instead

Workaround Used: Replaced with SUM_TABLE predicate syntax which works but is less intuitive:

SUM_TABLE("Производственный календарь", @col_workdays, @col_god == {col_year} AND @col_month == {col_month})

BUG-002: Dashboard pivot/chart panels don't aggregate formula columns

Severity: High
Category: Dashboard / Visualization

Description:
When attempting to use SUM aggregation on formula columns in pivot or chart dashboard panels, the system rejects it with:

"sum" is not available for column "col_cost" (Стоимость (руб)), which is of type formula. 
Valid functions for it: countUnique, countEmpty, countNonEmpty.

This is a critical limitation for business intelligence use cases where calculated values (costs, totals, margins) need to be aggregated in dashboards.

Expected: Formula columns should be aggregatable using standard aggregation functions (sum, avg, min, max, count).

Impact: Unable to create pivot tables or charts showing project costs by time period as required by the business requirements.

Workaround: Use table panel type instead, which displays formula values but doesn't aggregate them.


BUG-003: JSON serialization issues in MCP tool calls

Severity: Medium
Category: MCP / Tool Interface

Description:
When passing complex nested JSON objects as arguments to tools (dashboard_set_meta, form_set_meta, data_table_set_meta), the JSON is being serialized to a string somewhere in the pipeline, causing validation errors like:

"expected array, received string"
"expected record, received string"

Steps to Reproduce:

1.

Create a dashboard with multiple panels

2.

Pass panels as JSON array in the panels parameter

3.

Observe validation failure

Workaround: Wrap tool calls in batch with explicit array format, or simplify the JSON structure.

Impact: Forces developers to use workarounds (batch, simplified structures) which reduces productivity and clarity.


BUG-004: Reference column disambiguation fails on duplicate rows

Severity: Medium
Category: Data Integrity

Description:
When a reference column points to a table with duplicate display values, the system cannot determine which row to link:

Invalid cell value(s): "Должность" (col_dolzhnost): "Разработчик" matches 2 rows in the referenced table

Expected: Either:

1.

Prevent duplicate display values at the source

2.

Provide a way to specify the exact row ID

3.

Allow setting a "display" column for deduplication

Impact: Developers must manually delete duplicates and then re-link all references.


BUG-005: Person Directory autofill requires complex multi-step setup

Severity: Medium
Category: Forms / Person Directory

Description:
Setting up form autofill for the submitting user requires:

1.

Installing foundation_people module

2.

Adding a reference column (not person type) to the target table pointing to Person Directory

3.

Using externalUserColumnId (not internalUserColumnId) for portal users

4.

Manually linking portal user to directory row via externalRowDocId and externalRowId

5.

Using writeManagedColumns: true to set externalPerson column

This is overly complex and error-prone.

Expected: A simplified flow where:

1.

Installing the module auto-configures the relationship

2.

Forms with autofill automatically work when a portal user visits

3.

Clear error messages guide the setup


BUG-006: data_table_set_meta rejects reference columns on initial creation

Severity: Low
Category: Schema API

Description:
When calling data_table_set_meta with a mix of text and reference columns, reference columns are sometimes rejected:

"Проект" (col_project) (type=reference): referenceDocumentId "3409" is not a valid document

However, calling it again with the same parameters succeeds.

Workaround: Call data_table_set_meta twice, or create text columns first, then convert to references using data_table_patch_columns.


BUG-007: Rollup column configuration is unclear

Severity: Medium
Category: Schema / Formula Engine

Description:
Creating a rollup column requires a complex configuration object with keys like direction, referenceColumnId, childReferenceColumnId, targetColumnId, childDocumentId, fn. The required fields vary based on the direction and function type.

Error received:

rollup: missing required config {direction, childDocumentId, childReferenceColumnId, referenceColumnId, targetColumnId, fn}

Expected: Either:

1.

Simplified API that infers some settings

2.

Clear documentation of the shape for each use case (backlink vs forward)

3.

Better error messages indicating what's missing


FEATURE REQUESTS

FR-001: Native multi-column LOOKUP function

Category: Formula Engine
Priority: High

Description:
Add a proper VLOOKUP-style function that can match on multiple columns:

LOOKUP(table, matchColumns: [col1, col2], matchValues: [val1, val2], resultColumn)

Current Workaround: Use SUM_TABLE with predicates, which is semantically confusing for simple lookups.


FR-002: Formula column aggregation in dashboards

Category: Dashboard
Priority: High

Description:
Allow pivot and chart panels to aggregate formula columns using sum, avg, min, max, count functions.

Use Case: Business dashboards need to show totals of calculated values (project costs, profit margins, KPI scores).


FR-003: Duplicate prevention in reference columns

Category: Data Integrity
Priority: Medium

Description:
Option to mark a column as "unique" so the system prevents duplicate values at write time, preventing reference ambiguity.


FR-004: Simplified Person Directory setup

Category: Forms / Portal
Priority: High

Description:
Streamline the process of:

1.

Creating a person directory

2.

Linking portal users to directory entries

3.

Setting up form autofill

Proposed Flow:

1.

Admin creates a table with person columns (name, email)

2.

System auto-detects and offers to create Person Directory

3.

Form wizard offers "autofill with current user" option

4.

Portal users are auto-linked to directory when they first log in (if email matches)


FR-005: Better error messages for formula validation

Category: Developer Experience
Priority: Medium

Description:
When a formula is invalid, provide:

1.

The exact position of the error

2.

Suggestions for fixing common mistakes

3.

Examples of similar valid formulas

Current: Generic "invalid formula" without context.


FR-006: Bulk reference linking by display value

Category: Data Import
Priority: Low

Description:
When importing data that needs to be linked to reference tables, allow bulk linking by display value with a single batch operation rather than looking up each ID individually.


NOTES

•

This report was generated during implementation of a project cost calculation system with the following requirements: employee utilization tracking, absence management, automatic cost calculation, and dashboard reporting.

•

All workarounds used are documented above for reference by the platform team.

•

Happy to provide additional details or reproduction steps for any issue.