Skip to content

deps: bump fast-xml-parser from 5.5.11 to 5.5.12 in the minor-and-patch group#5

Merged
GeiserX merged 1 commit into
mainfrom
dependabot/npm_and_yarn/minor-and-patch-0770975518
Apr 13, 2026
Merged

deps: bump fast-xml-parser from 5.5.11 to 5.5.12 in the minor-and-patch group#5
GeiserX merged 1 commit into
mainfrom
dependabot/npm_and_yarn/minor-and-patch-0770975518

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Apr 13, 2026

Copy link
Copy Markdown
Contributor

Bumps the minor-and-patch group with 1 update: fast-xml-parser.

Updates fast-xml-parser from 5.5.11 to 5.5.12

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Summary by CodeRabbit

  • Chores
    • Updated an XML parsing dependency to version 5.5.12.

Bumps the minor-and-patch group with 1 update: [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser).


Updates `fast-xml-parser` from 5.5.11 to 5.5.12
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Apr 13, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: automated, dependencies. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@coderabbitai

coderabbitai Bot commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a94555d9-8d23-4ef9-8a5d-93eec22ad29d

📥 Commits

Reviewing files that changed from the base of the PR and between 30d2911 and 8527ad5.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json, !**/package-lock.json
📒 Files selected for processing (1)
  • package.json

📝 Walkthrough

Walkthrough

Updated the fast-xml-parser package dependency from version ^5.2.0 to ^5.5.12 in package.json. No changes to scripts, configuration, or other metadata.

Changes

Cohort / File(s) Summary
Dependency Version Bump
package.json
Updated fast-xml-parser from ^5.2.0 to ^5.5.12.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: a dependency version bump of fast-xml-parser from 5.5.11 to 5.5.12.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dependabot/npm_and_yarn/minor-and-patch-0770975518

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov-commenter

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@GeiserX
GeiserX merged commit 3f00d65 into main Apr 13, 2026
4 checks passed
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/minor-and-patch-0770975518 branch April 13, 2026 11:09
GeiserX pushed a commit that referenced this pull request Apr 15, 2026
Bumps the minor-and-patch group with 1 update: [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser).


Updates `fast-xml-parser` from 5.5.11 to 5.5.12
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
GeiserX added a commit that referenced this pull request Jun 15, 2026
… doc + test-name

CodeRabbit review of PR #232:
- (Major, valid) the stock-buy park event was dated on trade date while CASH
  conversions date on settlementDate||tradeDate. With normal T+2 stock
  settlement, a manual funding conversion settling AFTER the stock trade date
  sorted after the buy in processEvents → the buy parked 'uncovered' and the
  carry-basis fix silently degraded to full-proceeds on a tracked account. Fix:
  date the park on the cash settlement date; rate lookups stay on the trade date
  (so costFcy still mirrors fifo.ts addLot's costInFcy byte-for-byte). Added a
  multi-position T+2 regression test (e2e #5) and FALSIFIED it: reverting the fix
  flips it to €165 vs the correct €155 (a single-position case is vacuous — the
  divergence only surfaces with a deferred open position, so the test uses one).
- (Major, already addressed in c1662ec) per-position parked basis — CodeRabbit's
  bot re-scanned and marked it resolved.
- (Minor) renamed the misleading 'single disposal' test to state the real
  invariant (buys/sells emit no disposals; the conversion may split into several).

Also records the product posture in CLAUDE.md + memory: rigorous fiscal
computation ON by default, monodivisa-style opt-out checkbox when not strictly
needed / contested / competitors omit it.

1575 tests pass; typecheck/lint/build clean.
GeiserX added a commit that referenced this pull request Jun 15, 2026
…ound-trip drift (#230 follow-up) (#232)

* fix(fx): carry-basis defer for foreign-stock currency (fixes multi-round-trip drift, #230 follow-up)

v0.49.0's full-proceeds model drifts on multi-round-trip FCY accounts: a stock
BUY never removed the FCY it spent, so the FX FIFO balance diverged from reality
and a later conversion consumed the wrong oldest dollars (proven: a 2-round-trip
case reported EUR450 of FX gain vs the correct EUR320).

Carry-basis defer model:
- a foreign-currency stock BUY silently CONSUMES the FCY it spends from the FX
  pool, PARKING the carried EUR basis of those dollars (new per-currency parked
  FIFO). Emits no FxDisposal, realizes no gain.
- a foreign-currency stock SELL pulls the principal (costBasisFcy) back from the
  parked FIFO, re-adding it to the pool at its CARRIED basis, plus profit
  (proceeds-cost) at the sale rate. Emits no FxDisposal.
- only a real FCY->EUR conversion realizes a gain (deferred, Art. 14.2.e).
- processEvents 4-phase same-day sort (pool-acquire -> stock-buy/park ->
  stock-sell/re-add -> dispose); reduces to the prior 2-phase order when there
  are no stock events (CASH/dividend flows byte-identical).

SAFETY (load-bearing): when the FCY spent on a buy has no tracked acquisition lot
(the dominant real-file case: IBKR auto-convert, single-year exports, FXCONV-
skipped conversions), the buy parks uncovered and the sell re-adds at the sale
rate -> BYTE-IDENTICAL to the previous full-proceeds behaviour. The fix only
changes accounts that hold tracked FCY across multiple same-currency stock
round-trips AND convert to EUR.

- new FxTrigger stock_purchase; extractStockPurchaseFxEvents producer (mirrors
  fifo.ts addLot costInFcy incl. homogenized commission); extractStockProceedsFxEvents
  now emits a stock_sell event carrying costBasisFcy + proceedsFcy.
- 14 new carry-basis tests (S1/S2/S6/S8 reconcile; funding-absent == current
  no-op; partial-sell-loss documented residual; buys/sells emit zero disposals).
- known limitation: partial-sell-at-a-loss leaves a small bounded residual vs the
  raw-economic total (V2422-20 two-element gap; no DGT consulta resolves it).
- CLAUDE.md: corrected the proven-false 'matches V2324-10 / never taxed' claim.

* fix(fx): per-position parked FIFO + honest residual doc + e2e coverage (PR review)

/review-pr! panel findings addressed:
- per-position parked FIFO: the parked principal is now keyed by
  (currency, positionKey=isin||symbol), not currency alone, so a SELL only
  ever unparks ITS OWN position's carried basis. Option-exercise/assignment
  STK disposals (no backing BUY trade) and C;O rolls find no matching park
  and cleanly fall through to the sale-rate re-add (= funding-absent no-op),
  instead of stealing an unrelated same-currency position's basis. Invisible
  to every single-position scenario (reference S1/S2/S6/S8 + A* unchanged).
- CLAUDE.md: corrected the FALSE 'small bounded -€20 residual' claim. The
  loss-sell carried-principal residual is UNBOUNDED — proportional to lost
  principal × FX drift (demonstrated ~€250k on a fund-$100k total-loss),
  sign rate-path-dependent. The V2422-20 two-element seam; engine behaves per
  spec, only the magnitude characterization was wrong.
- tests: new tests/integration/fx-carry-basis-e2e.test.ts (13) proving the
  carry correction through the full generateTaxReport pipeline with TRACKED
  funding consumed by the buy (carry €155 vs full-proceeds €165; two-round-trip
  €310 vs €330; mixed-rate loss; monodivisa zero) — closes the HIGH gap where
  the correction was only proven at engine-unit level.

1573 tests pass; typecheck/lint/build clean.

* fix(fx): date stock-buy FX park on settlement date (CodeRabbit #232); doc + test-name

CodeRabbit review of PR #232:
- (Major, valid) the stock-buy park event was dated on trade date while CASH
  conversions date on settlementDate||tradeDate. With normal T+2 stock
  settlement, a manual funding conversion settling AFTER the stock trade date
  sorted after the buy in processEvents → the buy parked 'uncovered' and the
  carry-basis fix silently degraded to full-proceeds on a tracked account. Fix:
  date the park on the cash settlement date; rate lookups stay on the trade date
  (so costFcy still mirrors fifo.ts addLot's costInFcy byte-for-byte). Added a
  multi-position T+2 regression test (e2e #5) and FALSIFIED it: reverting the fix
  flips it to €165 vs the correct €155 (a single-position case is vacuous — the
  divergence only surfaces with a deferred open position, so the test uses one).
- (Major, already addressed in c1662ec) per-position parked basis — CodeRabbit's
  bot re-scanned and marked it resolved.
- (Minor) renamed the misleading 'single disposal' test to state the real
  invariant (buys/sells emit no disposals; the conversion may split into several).

Also records the product posture in CLAUDE.md + memory: rigorous fiscal
computation ON by default, monodivisa-style opt-out checkbox when not strictly
needed / contested / competitors omit it.

1575 tests pass; typecheck/lint/build clean.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants