WIP main worktree changes before merge

This commit is contained in:
2026-03-13 00:20:22 -04:00
parent 58bf80189d
commit e5141238fb
25 changed files with 940 additions and 208 deletions

View File

@@ -242,6 +242,23 @@ function buildFinancialsPayload(ticker: 'MSFT' | 'JPM') {
dimensionsSummary: [],
residualFlag: false
}
],
unmapped: [
{
key: 'other_income_unmapped',
parentSurfaceKey: 'unmapped',
label: 'Other Income Residual',
conceptKey: 'other_income_unmapped',
qname: 'us-gaap:OtherNonoperatingIncomeExpense',
namespaceUri: 'http://fasb.org/us-gaap/2024',
localName: 'OtherNonoperatingIncomeExpense',
unit: 'USD',
values: { [`${prefix}-fy24`]: 1_200, [`${prefix}-fy25`]: 1_450 },
sourceFactIds: [107],
isExtension: false,
dimensionsSummary: [],
residualFlag: true
}
]
},
ratioRows: [],
@@ -285,11 +302,16 @@ function buildFinancialsPayload(ticker: 'MSFT' | 'JPM') {
validation: null
},
normalization: {
parserEngine: 'fiscal-xbrl',
regime: 'us-gaap',
fiscalPack: isBank ? 'bank_lender' : 'core',
parserVersion: '0.1.0',
unmappedRowCount: 0,
materialUnmappedRowCount: 0
surfaceRowCount: 8,
detailRowCount: isBank ? 0 : 4,
kpiRowCount: 0,
unmappedRowCount: isBank ? 0 : 1,
materialUnmappedRowCount: 0,
warnings: isBank ? [] : ['income_sparse_mapping', 'unmapped_cash_flow_bridge']
},
dimensionBreakdown: null
}
@@ -316,6 +338,11 @@ test('renders the standardized operating expense tree and inspector details', as
await page.goto('/financials?ticker=MSFT');
await expect(page.getByText('Normalization Summary')).toBeVisible();
await expect(page.getByText('fiscal-xbrl 0.1.0')).toBeVisible();
await expect(page.getByText('Parser Warnings')).toBeVisible();
await expect(page.getByText('income_sparse_mapping')).toBeVisible();
await expect(page.getByText('unmapped_cash_flow_bridge')).toBeVisible();
await expect(page.getByText('Parser residual rows are available under the Unmapped / Residual section.')).toBeVisible();
await expect(page.getByRole('button', { name: 'Expand Operating Expenses details' })).toBeVisible();
await page.getByRole('button', { name: 'Expand Operating Expenses details' }).click();
@@ -327,6 +354,11 @@ test('renders the standardized operating expense tree and inspector details', as
await expect(page.getByText('Row Details')).toBeVisible();
await expect(page.getByText('selling_general_and_administrative', { exact: true }).first()).toBeVisible();
await expect(page.getByText('Corporate SG&A')).toBeVisible();
await expect(page.getByText('Unmapped / Residual')).toBeVisible();
await page.getByRole('button', { name: /^Other Income Residual/ }).click();
await expect(page.getByText('other_income_unmapped', { exact: true })).toBeVisible();
await expect(page.getByText('Unmapped / Residual', { exact: true }).last()).toBeVisible();
});
test('shows not meaningful expense breakdown rows for bank pack filings', async ({ page }, testInfo) => {

View File

@@ -230,11 +230,16 @@ function createFinancialsPayload(input: {
validation: null
},
normalization: {
parserEngine: 'fiscal-xbrl',
regime: 'unknown',
fiscalPack,
parserVersion: '0.0.0',
surfaceRowCount: 0,
detailRowCount: 0,
kpiRowCount: 0,
unmappedRowCount: 0,
materialUnmappedRowCount: 0
materialUnmappedRowCount: 0,
warnings: []
},
dimensionBreakdown: null
}