[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-tres-cost-basis":3,"mdc-xjfk8m-key":34,"related-repo-anthropic-tres-cost-basis":6592,"related-org-anthropic-tres-cost-basis":6695},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"tres-cost-basis","manage cost basis calculations in TRES","Manage cost basis calculation in TRES Finance: check status, view\u002Fchange strategy (FIFO, LIFO, AVG, MAX_GAINS, MAX_LOSSES, FIFO_IMPAIRMENT), trigger recalculation, review financial issues, manage reevaluations\u002Fimpairments, set bulk fiat prices, configure spec-ID lot disposal rules, view per-asset cost basis results, and export cost basis reports. Trigger this skill whenever the user asks about cost basis, gains\u002Flosses, realized gains, unrealized gains, COGS, inventory lots, tax lots, cost basis strategy, reevaluation, impairment, fiat value override, spec-ID rules, financial issues (negative balance, missing fiat), or anything related to how their crypto assets are costed. Also trigger when the user says \"calculate cost basis\", \"what is my cost basis strategy\", \"show me financial issues\", \"create a reevaluation\", \"run cost basis\", \"change strategy to LIFO\", or similar.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"anthropic","Anthropic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fanthropic.png","anthropics",[13,17,20],{"name":14,"slug":15,"type":16},"Finance","finance","tag",{"name":18,"slug":19,"type":16},"Accounting","accounting",{"name":21,"slug":22,"type":16},"Reconciliation","reconciliation",294,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-plugins-community","2026-07-02T07:37:42.95829",null,69,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Community plugin marketplace for Claude Cowork and Claude Code. Read-only mirror — submit plugins at clau.de\u002Fplugin-directory-submission.","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-plugins-community\u002Ftree\u002FHEAD\u002Ftres-finance-plugin\u002Fskills\u002Ftres-cost-basis","---\nname: tres-cost-basis\ndescription: >\n  Manage cost basis calculation in TRES Finance: check status, view\u002Fchange strategy\n  (FIFO, LIFO, AVG, MAX_GAINS, MAX_LOSSES, FIFO_IMPAIRMENT), trigger recalculation,\n  review financial issues, manage reevaluations\u002Fimpairments, set bulk fiat prices,\n  configure spec-ID lot disposal rules, view per-asset cost basis results, and\n  export cost basis reports. Trigger this skill whenever the user asks about cost basis,\n  gains\u002Flosses, realized gains, unrealized gains, COGS, inventory lots, tax lots,\n  cost basis strategy, reevaluation, impairment, fiat value override, spec-ID rules,\n  financial issues (negative balance, missing fiat), or anything related to how\n  their crypto assets are costed. Also trigger when the user says \"calculate cost basis\",\n  \"what is my cost basis strategy\", \"show me financial issues\", \"create a reevaluation\",\n  \"run cost basis\", \"change strategy to LIFO\", or similar.\ncompatibility: \"Requires TRES Finance MCP connector\"\n---\n\n# TRES Finance — Cost Basis Management\n\nEnd-to-end skill for managing cost basis calculation, strategy configuration,\nreevaluations, financial issue review, and related operations in TRES Finance.\n\n---\n\n## MCP Server\n\nAll calls use the `user-tres-finance` MCP server (the TRES Finance MCP connector).\n\nAll variable keys and nested input fields MUST use **camelCase** (e.g. `assetClassId`, not `asset_class_id`).\n\n---\n\n## Step 1 — Authenticate and confirm org\n\nCall `get_viewer` with no arguments. Confirm the org name with the user if there\nis any ambiguity.\n\n---\n\n## Step 2 — Ensure a cost basis strategy is defined (gate before calculation)\n\nBefore any cost basis calculation can run, the organization must have a strategy\ndefined. This step is a **prerequisite gate** — run it automatically whenever the\nuser wants to calculate cost basis (Section D), or when they first ask for help\nwith cost basis.\n\n1. Fetch the current strategy using the query in Section B.\n2. If `defaultStrategy` is returned (any valid value like FIFO, LIFO, etc.),\n   the strategy is already set — **skip ahead** and inform the user:\n   > \"Your cost basis strategy is set to [STRATEGY]. Proceeding.\"\n3. If no strategy is configured (the query returns null or an error), present\n   the user with all available methods and ask them to choose:\n\n   > \"Before calculating cost basis, you need to choose a costing method.\n   > Here are the available strategies:\n   >\n   > 1. **FIFO** — First-in, first-out. Earliest acquired lots are disposed first. The most common method.\n   > 2. **LIFO** — Last-in, first-out. Most recently acquired lots are disposed first.\n   > 3. **AVG** — Weighted average cost across all lots.\n   > 4. **MAX_GAINS** — Disposes lowest-cost lots first, maximizing realized gains.\n   > 5. **MAX_LOSSES** — Disposes highest-cost lots first, maximizing realized losses (useful for tax-loss harvesting).\n   > 6. **FIFO_IMPAIRMENT** — FIFO with impairment accounting support (for orgs using impairment write-downs).\n   >\n   > Which method would you like to use?\"\n\n4. Once the user picks a strategy, set it using the mutation in Section C\n   (with an empty `strategyPeriods` array if they just want a single default).\n5. Then proceed to the requested operation (typically Section D — trigger calculation).\n\nThis gate ensures no calculation runs without an explicit strategy choice.\n\n---\n\n## Step 3 — Run cost basis calculation\n\nAfter confirming strategy, check the current calculation status (Section A) and\noffer to run or re-run the calculation:\n\n1. Fetch status using the query in Section A.\n2. If `status` is `IN_PROGRESS`, inform the user it's already running and offer\n   to wait:\n   > \"Cost basis calculation is currently in progress (started at [time]). Would you like me to wait for it to finish?\"\n3. If `status` is `DONE`, show when it last ran and ask:\n   > \"Cost basis was last calculated on [lastFinishedAt]. Would you like to\n   > recalculate now, or view the existing results?\"\n4. If `status` is `ITEM_NOT_FOUND`, this org has never calculated — proceed\n   directly to trigger.\n5. When the user confirms (or on first-time run), trigger the calculation\n   using the mutation in Section D.\n6. **Poll status** every ~10 seconds until `status = \"DONE\"`.\n7. Once done, automatically proceed to show results per asset (Section E)\n   and financial issues (Section F).\n\nThis step ensures the user always has fresh results and understands the\ncalculation state before viewing data.\n\n---\n\n## Available operations\n\nBased on the user's request, follow the appropriate section below.\nMany users will come in with a general question like \"help me with cost basis\" —\nin that case, run Steps 1–3 (authenticate, check strategy, run calculation),\nthen show results.\n\n---\n\n## A. Check cost basis calculation status\n\nUse this when the user asks whether cost basis is running, done, or when it last ran.\n\n```graphql\nquery CostBasisGetStatus {\n  costBasisGetStatus {\n    status\n    firstStartedAt\n    lastFinishedAt\n    updatedAt\n  }\n}\n```\n\n`status` values: `DONE`, `IN_PROGRESS`, `ITEM_NOT_FOUND` (never calculated).\n\nReport the status clearly. If `IN_PROGRESS`, let the user know it's still running\nand they should wait. If `DONE`, report when it last finished.\n\n---\n\n## B. View current cost basis strategy\n\nFetches the default strategy and any date-specific strategy overrides.\n\n```graphql\nquery GetCostBasisStrategyByDate {\n  getCostBasisStrategyByDate {\n    response {\n      strategyPeriods {\n        startDate\n        endDate\n        strategy\n      }\n      defaultStrategy\n    }\n  }\n}\n```\n\nPresent the default strategy and any period overrides clearly. Strategies:\n`FIFO`, `LIFO`, `AVG`, `MAX_GAINS`, `MAX_LOSSES`, `FIFO_IMPAIRMENT`.\n\nExplain what each means if the user asks:\n- **FIFO** — First-in, first-out. Earliest acquired lots are sold first.\n- **LIFO** — Last-in, first-out. Most recently acquired lots are sold first.\n- **AVG** — Weighted average cost across all lots.\n- **MAX_GAINS** — Sells lowest-cost lots first, maximizing realized gains.\n- **MAX_LOSSES** — Sells highest-cost lots first, maximizing realized losses (tax-loss harvesting).\n- **FIFO_IMPAIRMENT** — FIFO with impairment accounting support.\n\n---\n\n## C. Update cost basis strategy\n\nUse when the user wants to change the default strategy or set strategy periods.\n\n**Always confirm with the user before executing** — changing strategy affects all\nfuture cost basis calculations and requires a recalculation.\n\n```graphql\nmutation UpdateCostBasisStrategyByDate(\n  $defaultStrategy: CostBasisStrategy!,\n  $strategyPeriods: [CBStrategyPeriodInput]!\n) {\n  updateCostBasisStrategyByDate(\n    defaultStrategy: $defaultStrategy,\n    strategyPeriods: $strategyPeriods\n  ) {\n    success\n    message\n  }\n}\n```\n\nVariables example:\n```json\n{\n  \"defaultStrategy\": \"FIFO\",\n  \"strategyPeriods\": [\n    {\n      \"startDate\": \"2024-01-01T00:00:00Z\",\n      \"endDate\": \"2024-12-31T23:59:59Z\",\n      \"strategy\": \"LIFO\"\n    }\n  ]\n}\n```\n\n`CostBasisStrategy` enum values: `FIFO`, `FIFO_IMPAIRMENT`, `LIFO`, `AVG`, `MAX_GAINS`, `MAX_LOSSES`.\n\nIf updating to a period-based config, first fetch the existing periods (Section B)\nso you don't accidentally overwrite them — the mutation replaces ALL periods.\n\nAfter a successful strategy change, ask the user if they want to trigger a\ncost basis recalculation (Section D).\n\n---\n\n## D. Trigger cost basis calculation\n\n**Prerequisite**: Before triggering, run **Step 2** (strategy gate) to ensure a\nstrategy is defined. If none is set, the user must choose one first.\n\nStarts (or restarts) the cost basis calculation. Can target specific assets or\nrecalculate everything.\n\n```graphql\nmutation TriggerCostBasis($assetClassIds: [Int]) {\n  triggerCostBasis(assetClassIds: $assetClassIds) {\n    success\n  }\n}\n```\n\n- To recalculate **everything**: pass `assetClassIds: null` (or omit it).\n- To recalculate **specific assets**: pass an array of asset class IDs, e.g. `[42, 88]`.\n\nTo find asset class IDs, query `assetBalance` or `assetClass` first:\n```graphql\nquery AssetClasses($limit: Int) {\n  assetClass(limit: $limit) {\n    results { id symbol name }\n  }\n}\n```\n\n### After triggering — poll until completion\n\nAfter a successful trigger (`success: true`), **poll the status** using the\nquery from Section A. The calculation typically takes 10–60 seconds for small\norgs but can take minutes for large ones.\n\n```\n1. Trigger → success: true\n2. Poll costBasisGetStatus every ~10 seconds\n3. When status = \"DONE\" → proceed to show results (Section E)\n```\n\nDo NOT present results or offer report downloads until status is `DONE`.\nWhile `IN_PROGRESS`, show a brief wait message to the user.\n\n---\n\n## E. View cost basis results per asset\n\nShows the cost basis breakdown per asset-wallet pair — total cost, realized\ngains, COGS, running inventory, and more.\n\n**Important**: Use the `assetBalance` query (NOT `organizationBalance`). The\n`assetBalance` query returns per-wallet asset rows, each with a nested\n`costBasis` field from `FifoCostBasisQuery`.\n\n```graphql\nquery AssetBalanceWithCostBasis($limit: Int, $offset: Int) {\n  assetBalance(limit: $limit, offset: $offset) {\n    totalCount\n    results {\n      asset {\n        symbol\n        name\n      }\n      belongsTo {\n        name\n      }\n      calculatedBalance\n      assetFifoCostBasis\n      totalProfitLoss\n      costBasis {\n        costBasis\n        totalRealizedGains\n        totalShortTermRealizedGains\n        totalLongTermRealizedGains\n        totalCost\n        totalRunningInventoryQuantity\n        cogs\n        proceeds\n        runningBalance\n      }\n    }\n  }\n}\n```\n\nVariables: `{\"limit\": 50, \"offset\": 0}`\n\nPaginate if `totalCount` > 50 — increment `offset` by 50 and fetch again until\nall results are retrieved.\n\n### Key fields explained\n\n- `assetFifoCostBasis` — The total cost basis for this asset-wallet pair (top-level shortcut).\n- `totalProfitLoss` — Total realized P&L (top-level shortcut).\n- `costBasis` — Nested object with full detail (null if not calculated):\n  - `costBasis` \u002F `totalCost` — Total cost of current inventory.\n  - `totalRealizedGains` — Net realized gains\u002Flosses.\n  - `totalShortTermRealizedGains` \u002F `totalLongTermRealizedGains` — Split by holding period.\n  - `cogs` — Cost of goods sold for disposals.\n  - `proceeds` — Total proceeds from disposals.\n  - `totalRunningInventoryQuantity` — Current inventory quantity.\n  - `runningBalance` — Running token balance.\n\n### Presenting results — the full picture\n\nAfter fetching all pages, split the results into two groups:\n\n**Group 1 — Assets with cost basis data** (`costBasis` is not null):\nPresent as a table sorted by absolute realized P&L descending, with columns:\nAsset, Wallet, Holdings, Cost Basis ($), Realized P&L ($).\nUse color coding: green\u002F+ for gains, red\u002F- for losses.\n\n**Group 2 — Assets without cost basis** (`costBasis` is null AND `calculatedBalance` != 0):\nThese are assets where cost basis was NOT calculated — usually because of missing\nfiat values, no transactions, or unverified\u002Fspam assets. Present them separately\nunder a clear heading like:\n\n> **Assets without cost basis data:**\n> The following assets have balances but no cost basis calculated. This typically\n> means they have missing fiat prices that need to be resolved before cost basis\n> can be computed.\n\nShow: Asset, Wallet, Holdings, and a note about likely cause (spam token, NFT,\nmissing fiat, etc.).\n\n**Always show both groups** so the user sees the complete picture. If Group 2\ncontains any non-trivial assets (not spam\u002Fvirtual), also run the financial\nissues query (Section F) filtered to HIGH severity to check for `missing_fiat`\nissues, and report them alongside.\n\nWhen missing fiat issues are found, **automatically look up historical prices**\nusing the pricing query (Section G.1) for each affected asset at the transaction\ntimestamp. Present the looked-up prices to the user and offer to apply them\nusing bulk fiat edit (Section G.2).\n\n**Recommended**: Generate an HTML dashboard file with styled tables for both\ngroups plus a financial issues summary. Save it to the outputs folder and\nshare the link with the user.\n\nUse standard number formatting:\n- Fiat values >= $1M: \"$X.XXXM\", >= $1K: \"$X.XXK\", else \"$X.XX\"\n- Positive gains: \"+\" prefix, negative: \"-\" prefix\n\n---\n\n## F. View financial issues\n\nFinancial issues are problems detected during cost basis calculation — negative\nbalances, missing fiat values, circular transfers, etc.\n\n```graphql\nquery FinancialIssues($limit: Int, $offset: Int, $severity: String) {\n  financialIssue(limit: $limit, offset: $offset, severity: $severity) {\n    totalCount\n    results {\n      id\n      type\n      severity\n      message\n      balanceImpact\n      assetClass {\n        id\n        symbol\n        name\n      }\n      assetClassId\n      internalAccount {\n        name\n      }\n      internalAccountId\n      tx {\n        identifier\n        timestamp\n      }\n      subTx {\n        id\n        amount\n      }\n    }\n  }\n}\n```\n\n### Filter options\n\n**Important**: Filter values must be **lowercase** — the API uses DB-stored values.\n\n- `severity`: `\"high\"`, `\"medium\"`, `\"low\"`\n- Do **NOT** filter by `type` directly in the query — instead, fetch all issues\n  and filter\u002Fgroup in the presentation. The `type` filter uses internal DB values\n  that may not match the display names.\n\n### Actual issue types returned\n\nThe `type` field returns lowercase strings like:\n- `missing_fiat` — Sub-transaction has no fiat price. Affects cost basis accuracy.\n  Can be resolved with bulk fiat edit (Section G).\n- `negative_balance` — Inventory went below zero (more sold than acquired). Usually\n  means missing inflow transactions.\n- `result_was_rounded` — Minor rounding occurred during calculation. Low severity.\n- `ignored` — Sub-transaction was skipped (e.g. internal transfer to same account).\n- `no_opposite_tx` — Internal transfer has no matching counterpart.\n- `circular_internal_sbxs` — Circular dependency in internal transfer matching.\n\nGroup results by severity and present HIGH issues first. The most common pattern\nis a handful of HIGH severity `missing_fiat` issues plus many LOW severity\n`result_was_rounded` issues — summarize the LOW ones as a count rather than\nlisting each individually.\n\n---\n\n## G. Fix missing fiat values\n\nThis is a two-part flow: first look up historical prices, then apply them.\n\n### G.1 — Look up historical token prices\n\nUse the TRES MCP pricing queries to fetch historical prices for tokens with\nmissing fiat values. This uses the platform's pricing engine which aggregates\nfrom CoinGecko, CoinMarketCap, exchanges, and other sources.\n\n**For a single asset at a specific timestamp:**\n\n```graphql\nquery GetStatelessPricing(\n  $platform: Platform!,\n  $assetIdentifier: String!,\n  $currencies: [Currency]!,\n  $timestamp: DateTime\n) {\n  getStatelessPricing(\n    platform: $platform,\n    assetIdentifier: $assetIdentifier,\n    currencies: $currencies,\n    timestamp: $timestamp\n  ) {\n    prices\n    assetClassId\n    symbol\n  }\n}\n```\n\nVariables example:\n```json\n{\n  \"platform\": \"ETHEREUM\",\n  \"assetIdentifier\": \"0x...contractAddress\",\n  \"currencies\": [\"USD\"],\n  \"timestamp\": \"2020-11-24T09:01:26Z\"\n}\n```\n\n**For multiple assets at once (by asset class ID):**\n\n```graphql\nquery GetBatchPricing($requests: [GetBatchPricesByAssetClassRequest]!) {\n  getBatchStatelessPricingByAssetClass(requests: $requests) {\n    prices\n    assetClassId\n    symbol\n  }\n}\n```\n\nVariables example:\n```json\n{\n  \"requests\": [\n    {\n      \"assetClass\": \"4272\",\n      \"currencies\": [\"USD\"],\n      \"timestamp\": \"2018-06-18T19:13:45Z\"\n    },\n    {\n      \"assetClass\": \"4272\",\n      \"currencies\": [\"USD\"],\n      \"timestamp\": \"2020-11-24T09:01:26Z\"\n    },\n    {\n      \"assetClass\": \"9082\",\n      \"currencies\": [\"USD\"],\n      \"timestamp\": \"2020-11-27T20:06:54Z\"\n    }\n  ]\n}\n```\n\nThe `prices` field returns a JSON object like `{\"usd\": 0.015}`.\n\n**How to use this in the missing fiat flow:**\n\n1. From the financial issues (Section F), collect each `missing_fiat` issue's\n   `assetClass.id` and `tx.timestamp`.\n2. Call `getBatchStatelessPricingByAssetClass` with one request per issue.\n3. Present the results to the user:\n   > \"I found historical prices for the missing fiat transactions:\n   > - CHSB on 2018-06-18: $0.015 per token\n   > - CHSB on 2020-11-24: $0.085 per token\n   > - vBUSD on 2020-11-27: $0.021 per token\n   >\n   > Would you like me to apply these prices?\"\n4. If the user confirms, apply them using Section G.2 (bulk fiat edit).\n\n**Pricing sources to try**: If the default source returns empty, try these\n`apiSource` values in order: `COINMARKETCAP`, `CRYPTO_COMPARE`, `REGULAR_FLOW`,\n`COINBASE`, `BINANCE`, `KRAKEN`. Pass the `apiSource` field in the request:\n\n```json\n{\n  \"requests\": [\n    { \"assetClass\": \"4272\", \"currencies\": [\"USD\"], \"timestamp\": \"2020-11-24T09:01:26Z\", \"apiSource\": \"COINMARKETCAP\" }\n  ]\n}\n```\n\n**Important**: The pricing query returns `prices: {}` (empty object) when no\nprice data is available — this is common for obscure, delisted, or DeFi-wrapped\ntokens. Try multiple sources before giving up.\n\nIf ALL pricing sources return empty for a token, inform the user and ask them\nto provide a manual price. Suggest approximate values if you know the token\n(e.g. BUSD-pegged tokens ≈ $1.00).\n\n### G.2 — Bulk fiat value edit\n\nOverride fiat unit prices for an asset across a date range. Useful for fixing\nMISSING_FIAT issues or correcting OTC prices.\n\n**Always confirm parameters with the user before executing** — this writes\nfiat values to potentially many sub-transactions.\n\n```graphql\nmutation BulkFiatEdit(\n  $assetClassId: Int!,\n  $currency: Currency!,\n  $startDate: Date!,\n  $endDate: Date!,\n  $unitPrice: Float!,\n  $updateExistingFiat: Boolean\n) {\n  bulkFiatEdit(\n    assetClassId: $assetClassId,\n    currency: $currency,\n    startDate: $startDate,\n    endDate: $endDate,\n    unitPrice: $unitPrice,\n    updateExistingFiat: $updateExistingFiat\n  ) {\n    success\n    message\n  }\n}\n```\n\nVariables example:\n```json\n{\n  \"assetClassId\": 42,\n  \"currency\": \"USD\",\n  \"startDate\": \"2024-01-01\",\n  \"endDate\": \"2024-01-31\",\n  \"unitPrice\": 1.0,\n  \"updateExistingFiat\": false\n}\n```\n\n- `updateExistingFiat: false` (default) — only fills in missing fiat values.\n- `updateExistingFiat: true` — overwrites all fiat values in the range.\n\nTo find the `assetClassId`, query `assetClass` by symbol first.\n\nWhen applying prices from G.1, use the looked-up unit price and set the date\nrange tightly around the transaction date (same day for `startDate` and `endDate`)\nto avoid overwriting prices on other transactions.\n\nAfter bulk fiat edits, suggest the user trigger a cost basis recalculation (Section D).\n\n---\n\n## H. Reevaluations and impairments\n\nReevaluations adjust the fair market value (FMV) of inventory lots at a specific\npoint in time. Impairments are a special case where the FMV drops below cost.\n\n### H.1 — List reevaluations\n\n```graphql\nquery GetReevaluations($limit: Int, $offset: Int, $assetClassId_In: [ID]) {\n  reevaluation(\n    limit: $limit,\n    offset: $offset,\n    assetClassId_In: $assetClassId_In,\n    ordering: \"-timestamp\"\n  ) {\n    totalCount\n    results {\n      id\n      timestamp\n      unitPrice\n      currency\n      isImpairment\n      assetClass {\n        id\n        symbol\n      }\n      appliedCostBasis {\n        id\n        totalCost\n        revaluedCostAdjustment\n        internalAccount {\n          id\n          name\n        }\n      }\n    }\n  }\n}\n```\n\n### H.2 — Create reevaluation\n\n**Always confirm with the user before executing.**\n\n```graphql\nmutation CreateReevaluation($reevaluations: [ReevaluationObjectType]!) {\n  createReevaluation(reevaluations: $reevaluations) {\n    reevaluationIds\n  }\n}\n```\n\nVariables example:\n```json\n{\n  \"reevaluations\": [\n    {\n      \"unitPrice\": \"45000.00\",\n      \"timestamp\": \"2024-12-31T23:59:59Z\",\n      \"assetClassId\": 1,\n      \"currency\": \"USD\",\n      \"isImpairment\": false\n    }\n  ]\n}\n```\n\n- `isImpairment: false` — standard reevaluation (mark-to-market).\n- `isImpairment: true` — impairment write-down.\n\nCreating a reevaluation also creates a manual transaction to represent the\nadjustment in the ledger. Inform the user of this side effect.\n\nAfter creating, suggest triggering cost basis recalculation (Section D).\n\n### H.3 — Update reevaluation\n\n```graphql\nmutation UpdateReevaluation(\n  $reevaluationId: Int!,\n  $unitPrice: Decimal!,\n  $timestamp: DateTime!,\n  $assetClassId: Int!,\n  $currency: Currency!\n) {\n  updateReevaluation(\n    reevaluationId: $reevaluationId,\n    unitPrice: $unitPrice,\n    timestamp: $timestamp,\n    assetClassId: $assetClassId,\n    currency: $currency\n  ) {\n    status\n  }\n}\n```\n\n### H.4 — Delete reevaluation\n\n```graphql\nmutation DeleteReevaluation($reevaluationId: Int!) {\n  deleteReevaluation(reevaluationId: $reevaluationId) {\n    status\n  }\n}\n```\n\nDeleting also removes the associated manual transaction from the ledger.\n\n---\n\n## I. Spec-ID rules (specific lot disposal)\n\nSpec-ID rules let the user specify exactly which acquisition lot to use when\ndisposing of an asset — overriding the default strategy (e.g. FIFO) for\nspecific transactions.\n\n### I.1 — View spec-ID rules\n\n```graphql\nquery CostBasisSpecIdRules(\n  $limit: Int,\n  $offset: Int,\n  $outflowSubTransaction_In: [String]\n) {\n  costBasisSpecIdRule(\n    limit: $limit,\n    offset: $offset,\n    outflowSubTransaction_In: $outflowSubTransaction_In\n  ) {\n    totalCount\n    results {\n      id\n      outflowSubTransaction {\n        id\n        amount\n        timestamp\n        asset { symbol }\n        belongsTo { name }\n      }\n      disposedLotSubTransaction {\n        id\n        amount\n        timestamp\n      }\n      amountToDispose\n      priority\n    }\n  }\n}\n```\n\n### I.2 — Set spec-ID rules\n\n**Always confirm with the user before executing.** This replaces all existing\nrules for the given outflow sub-transaction.\n\n```graphql\nmutation SetSpecIdRules(\n  $subTransactionId: ID!,\n  $specIdRules: [SpecIdRuleInput]!\n) {\n  setSpecIdRules(\n    subTransactionId: $subTransactionId,\n    specIdRules: $specIdRules\n  ) {\n    success\n  }\n}\n```\n\nVariables example:\n```json\n{\n  \"subTransactionId\": \"12345\",\n  \"specIdRules\": [\n    {\n      \"disposedLotSubTransactionId\": \"67890\",\n      \"amount\": 1.5,\n      \"priority\": 1\n    },\n    {\n      \"disposedLotSubTransactionId\": \"67891\",\n      \"amount\": 0.5,\n      \"priority\": 2\n    }\n  ]\n}\n```\n\n- `subTransactionId` — the outflow (disposal) sub-transaction\n- `disposedLotSubTransactionId` — the inflow (acquisition) sub-transaction to use as the cost lot\n- `amount` — how much of that lot to dispose\n- `priority` — processing order (1 = first)\n\nAfter setting rules, suggest triggering cost basis recalculation (Section D).\n\n### I.3 — Delete spec-ID rules\n\n```graphql\nmutation DeleteSpecIdRules($subTransactionId: ID!) {\n  deleteSpecIdRules(subTransactionId: $subTransactionId) {\n    success\n  }\n}\n```\n\n---\n\n## J. Full inventory configuration\n\nBy default, TRES trims old inventory lots to reduce storage. For specific\ntransactions where the user needs the complete inventory queue visible, toggle\nfull inventory saving.\n\n```graphql\nmutation SetFullCostBasisInventoryConfiguration(\n  $subTransactionId: ID,\n  $enableFullInventory: Boolean\n) {\n  setFullCostBasisInventoryConfiguration(\n    subTransactionId: $subTransactionId,\n    enableFullInventory: $enableFullInventory\n  ) {\n    success\n  }\n}\n```\n\nThis deletes existing cost basis records for the affected asset and triggers\na recalculation automatically.\n\n---\n\n## K. Export cost basis reports\n\nTRES offers several cost basis report types. Use the `availableReportTypes` query\nto find available exports, then trigger via `organizationBalance`:\n\n```graphql\nquery AvailableReports {\n  availableReportTypes {\n    name\n    exportType\n    entitiesType\n    llmDescription\n  }\n}\n```\n\nCost-basis-related report types include:\n- `COST_BASIS_STACK_PER_ACCOUNT` — Inventory lots grouped by wallet\n- `COST_BASIS_STACK_PER_ASSET` — Inventory lots grouped by asset\n- `COST_BASIS_INVENTORY` — Full inventory detail\n- `COST_BASIS_ROLL_FORWARD` — Period-over-period roll forward\n- `REEVALUATION` — Reevaluation records\n\nTo export, use `organizationBalance` with export parameters:\n```graphql\nquery ExportCostBasisReport(\n  $exportName: String,\n  $exportFormat: String,\n  $currency: String,\n  $outputFormat: ReportOutputFormat\n) {\n  organizationBalance(\n    exportName: $exportName,\n    exportFormat: $exportFormat,\n    currency: $currency,\n    outputFormat: $outputFormat\n  ) {\n    totalCount\n  }\n}\n```\n\nVariables example:\n```json\n{\n  \"exportName\": \"Cost Basis Stack Per Asset - April 2024\",\n  \"exportFormat\": \"COST_BASIS_STACK_PER_ASSET\",\n  \"currency\": \"usd\",\n  \"outputFormat\": \"XLSX\"\n}\n```\n\nThen poll the `report` query until `status = \"DONE\"` and provide the download link:\n\n```graphql\nquery Reports($limit: Int, $offset: Int) {\n  report(limit: $limit, offset: $offset, ordering: \"-created_at\") {\n    totalCount\n    results {\n      id\n      name\n      status\n      downloadUrl\n      createdAt\n    }\n  }\n}\n```\n\n**Critical**: Do NOT present the download link while status is `IN_PROGRESS` —\nthe file has not been written to S3 yet and the link will return a NoSuchKey\nerror. Poll every ~10 seconds until status = `\"DONE\"`, then present the\n`downloadUrl` to the user.\n\n---\n\n## Guardrails\n\n- **Confirm before writes**: Always confirm with the user before executing any\n  mutation (strategy change, reevaluation, spec-ID rules, bulk fiat edit, trigger calc).\n- **Recalculation reminder**: After any configuration change (strategy, reevaluation,\n  spec-ID, fiat edit), remind the user that cost basis needs to be recalculated for\n  changes to take effect.\n- **Locked periods**: If a mutation fails with a \"locked period\" error, inform the\n  user that the timestamp falls within a locked accounting period and they may need\n  to unlock it first.\n- **Status check before trigger**: Before triggering a recalculation, check the\n  current status — if already `IN_PROGRESS`, let the user know it's still running.\n\n---\n\n## Limitations — not available via MCP\n\nThe following cost basis features exist in the backend but are NOT exposed through\nthe MCP GraphQL API, so this skill cannot perform them:\n\n1. **Per-wallet reallocation flow** — The two-phase reallocation process\n   (unified inventory -> per-wallet split) is an internal backend operation\n   triggered by org settings, not directly callable via API.\n\n2. **Viewing raw inventory queue details** — The `assetRunningQueueFifo` field\n   is available on `FifoCostBasisQuery` but returns large JSON blobs. The queue\n   data is best viewed through the TRES dashboard or via exported reports\n   (COST_BASIS_STACK_PER_ACCOUNT \u002F COST_BASIS_STACK_PER_ASSET).\n\n3. **Short position \u002F loan queue management** — Short position tracking (loan\n   queue) is configured at the org-settings level and computed automatically.\n   There is no direct API to view or manipulate the loan queue.\n\n4. **Cost basis calculation internals** — The actual calculation engine\n   (CostBasisCalculator, CostBasisManager) runs server-side. We can trigger it\n   and read results, but cannot control the internal calculation flow, caching,\n   or S3 queue persistence.\n\n5. **Internal transfer cost basis mapping** — How cost basis is carried over\n   between wallets in internal transfers is automatic and not configurable\n   per-transaction via the API.\n\nFor any of these, direct the user to the TRES Finance dashboard or suggest\nexporting the relevant cost basis report for offline analysis.\n",{"data":35,"body":37},{"name":4,"description":6,"compatibility":36},"Requires TRES Finance MCP connector",{"type":38,"children":39},"root",[40,49,55,59,66,80,109,112,118,131,134,140,152,298,303,306,312,317,439,444,447,453,458,461,467,472,556,586,605,608,614,619,724,765,770,827,830,836,841,851,952,957,1180,1227,1232,1237,1240,1246,1263,1268,1312,1353,1374,1419,1426,1446,1456,1475,1478,1484,1489,1536,1776,1787,1808,1814,1943,1949,1954,1971,1995,2008,2013,2031,2043,2053,2058,2071,2074,2080,2085,2321,2327,2343,2404,2410,2422,2490,2509,2512,2518,2523,2529,2534,2542,2681,2685,2856,2864,2922,2926,3340,3359,3367,3450,3518,3712,3729,3734,3740,3745,3755,3916,3920,4132,4157,4176,4194,4199,4202,4208,4213,4219,4452,4458,4466,4511,4515,4739,4764,4769,4774,4780,4915,4921,4965,4970,4973,4979,4984,4990,5219,5225,5234,5324,5328,5624,5667,5672,5678,5722,5725,5731,5736,5825,5830,5833,5839,5858,5927,5932,5990,6002,6123,6127,6290,6310,6407,6440,6443,6449,6499,6502,6508,6513,6581,6586],{"type":41,"tag":42,"props":43,"children":45},"element","h1",{"id":44},"tres-finance-cost-basis-management",[46],{"type":47,"value":48},"text","TRES Finance — Cost Basis Management",{"type":41,"tag":50,"props":51,"children":52},"p",{},[53],{"type":47,"value":54},"End-to-end skill for managing cost basis calculation, strategy configuration,\nreevaluations, financial issue review, and related operations in TRES Finance.",{"type":41,"tag":56,"props":57,"children":58},"hr",{},[],{"type":41,"tag":60,"props":61,"children":63},"h2",{"id":62},"mcp-server",[64],{"type":47,"value":65},"MCP Server",{"type":41,"tag":50,"props":67,"children":68},{},[69,71,78],{"type":47,"value":70},"All calls use the ",{"type":41,"tag":72,"props":73,"children":75},"code",{"className":74},[],[76],{"type":47,"value":77},"user-tres-finance",{"type":47,"value":79}," MCP server (the TRES Finance MCP connector).",{"type":41,"tag":50,"props":81,"children":82},{},[83,85,91,93,99,101,107],{"type":47,"value":84},"All variable keys and nested input fields MUST use ",{"type":41,"tag":86,"props":87,"children":88},"strong",{},[89],{"type":47,"value":90},"camelCase",{"type":47,"value":92}," (e.g. ",{"type":41,"tag":72,"props":94,"children":96},{"className":95},[],[97],{"type":47,"value":98},"assetClassId",{"type":47,"value":100},", not ",{"type":41,"tag":72,"props":102,"children":104},{"className":103},[],[105],{"type":47,"value":106},"asset_class_id",{"type":47,"value":108},").",{"type":41,"tag":56,"props":110,"children":111},{},[],{"type":41,"tag":60,"props":113,"children":115},{"id":114},"step-1-authenticate-and-confirm-org",[116],{"type":47,"value":117},"Step 1 — Authenticate and confirm org",{"type":41,"tag":50,"props":119,"children":120},{},[121,123,129],{"type":47,"value":122},"Call ",{"type":41,"tag":72,"props":124,"children":126},{"className":125},[],[127],{"type":47,"value":128},"get_viewer",{"type":47,"value":130}," with no arguments. Confirm the org name with the user if there\nis any ambiguity.",{"type":41,"tag":56,"props":132,"children":133},{},[],{"type":41,"tag":60,"props":135,"children":137},{"id":136},"step-2-ensure-a-cost-basis-strategy-is-defined-gate-before-calculation",[138],{"type":47,"value":139},"Step 2 — Ensure a cost basis strategy is defined (gate before calculation)",{"type":41,"tag":50,"props":141,"children":142},{},[143,145,150],{"type":47,"value":144},"Before any cost basis calculation can run, the organization must have a strategy\ndefined. This step is a ",{"type":41,"tag":86,"props":146,"children":147},{},[148],{"type":47,"value":149},"prerequisite gate",{"type":47,"value":151}," — run it automatically whenever the\nuser wants to calculate cost basis (Section D), or when they first ask for help\nwith cost basis.",{"type":41,"tag":153,"props":154,"children":155},"ol",{},[156,162,199,280,293],{"type":41,"tag":157,"props":158,"children":159},"li",{},[160],{"type":47,"value":161},"Fetch the current strategy using the query in Section B.",{"type":41,"tag":157,"props":163,"children":164},{},[165,167,173,175,180,182],{"type":47,"value":166},"If ",{"type":41,"tag":72,"props":168,"children":170},{"className":169},[],[171],{"type":47,"value":172},"defaultStrategy",{"type":47,"value":174}," is returned (any valid value like FIFO, LIFO, etc.),\nthe strategy is already set — ",{"type":41,"tag":86,"props":176,"children":177},{},[178],{"type":47,"value":179},"skip ahead",{"type":47,"value":181}," and inform the user:",{"type":41,"tag":183,"props":184,"children":185},"blockquote",{},[186],{"type":41,"tag":50,"props":187,"children":188},{},[189,191,197],{"type":47,"value":190},"\"Your cost basis strategy is set to ",{"type":41,"tag":192,"props":193,"children":194},"span",{},[195],{"type":47,"value":196},"STRATEGY",{"type":47,"value":198},". Proceeding.\"",{"type":41,"tag":157,"props":200,"children":201},{},[202,204],{"type":47,"value":203},"If no strategy is configured (the query returns null or an error), present\nthe user with all available methods and ask them to choose:",{"type":41,"tag":183,"props":205,"children":206},{},[207,212,275],{"type":41,"tag":50,"props":208,"children":209},{},[210],{"type":47,"value":211},"\"Before calculating cost basis, you need to choose a costing method.\nHere are the available strategies:",{"type":41,"tag":153,"props":213,"children":214},{},[215,225,235,245,255,265],{"type":41,"tag":157,"props":216,"children":217},{},[218,223],{"type":41,"tag":86,"props":219,"children":220},{},[221],{"type":47,"value":222},"FIFO",{"type":47,"value":224}," — First-in, first-out. Earliest acquired lots are disposed first. The most common method.",{"type":41,"tag":157,"props":226,"children":227},{},[228,233],{"type":41,"tag":86,"props":229,"children":230},{},[231],{"type":47,"value":232},"LIFO",{"type":47,"value":234}," — Last-in, first-out. Most recently acquired lots are disposed first.",{"type":41,"tag":157,"props":236,"children":237},{},[238,243],{"type":41,"tag":86,"props":239,"children":240},{},[241],{"type":47,"value":242},"AVG",{"type":47,"value":244}," — Weighted average cost across all lots.",{"type":41,"tag":157,"props":246,"children":247},{},[248,253],{"type":41,"tag":86,"props":249,"children":250},{},[251],{"type":47,"value":252},"MAX_GAINS",{"type":47,"value":254}," — Disposes lowest-cost lots first, maximizing realized gains.",{"type":41,"tag":157,"props":256,"children":257},{},[258,263],{"type":41,"tag":86,"props":259,"children":260},{},[261],{"type":47,"value":262},"MAX_LOSSES",{"type":47,"value":264}," — Disposes highest-cost lots first, maximizing realized losses (useful for tax-loss harvesting).",{"type":41,"tag":157,"props":266,"children":267},{},[268,273],{"type":41,"tag":86,"props":269,"children":270},{},[271],{"type":47,"value":272},"FIFO_IMPAIRMENT",{"type":47,"value":274}," — FIFO with impairment accounting support (for orgs using impairment write-downs).",{"type":41,"tag":50,"props":276,"children":277},{},[278],{"type":47,"value":279},"Which method would you like to use?\"",{"type":41,"tag":157,"props":281,"children":282},{},[283,285,291],{"type":47,"value":284},"Once the user picks a strategy, set it using the mutation in Section C\n(with an empty ",{"type":41,"tag":72,"props":286,"children":288},{"className":287},[],[289],{"type":47,"value":290},"strategyPeriods",{"type":47,"value":292}," array if they just want a single default).",{"type":41,"tag":157,"props":294,"children":295},{},[296],{"type":47,"value":297},"Then proceed to the requested operation (typically Section D — trigger calculation).",{"type":41,"tag":50,"props":299,"children":300},{},[301],{"type":47,"value":302},"This gate ensures no calculation runs without an explicit strategy choice.",{"type":41,"tag":56,"props":304,"children":305},{},[],{"type":41,"tag":60,"props":307,"children":309},{"id":308},"step-3-run-cost-basis-calculation",[310],{"type":47,"value":311},"Step 3 — Run cost basis calculation",{"type":41,"tag":50,"props":313,"children":314},{},[315],{"type":47,"value":316},"After confirming strategy, check the current calculation status (Section A) and\noffer to run or re-run the calculation:",{"type":41,"tag":153,"props":318,"children":319},{},[320,325,360,393,411,416,434],{"type":41,"tag":157,"props":321,"children":322},{},[323],{"type":47,"value":324},"Fetch status using the query in Section A.",{"type":41,"tag":157,"props":326,"children":327},{},[328,329,335,337,343,345],{"type":47,"value":166},{"type":41,"tag":72,"props":330,"children":332},{"className":331},[],[333],{"type":47,"value":334},"status",{"type":47,"value":336}," is ",{"type":41,"tag":72,"props":338,"children":340},{"className":339},[],[341],{"type":47,"value":342},"IN_PROGRESS",{"type":47,"value":344},", inform the user it's already running and offer\nto wait:\n",{"type":41,"tag":183,"props":346,"children":347},{},[348],{"type":41,"tag":50,"props":349,"children":350},{},[351,353,358],{"type":47,"value":352},"\"Cost basis calculation is currently in progress (started at ",{"type":41,"tag":192,"props":354,"children":355},{},[356],{"type":47,"value":357},"time",{"type":47,"value":359},"). Would you like me to wait for it to finish?\"",{"type":41,"tag":157,"props":361,"children":362},{},[363,364,369,370,376,378],{"type":47,"value":166},{"type":41,"tag":72,"props":365,"children":367},{"className":366},[],[368],{"type":47,"value":334},{"type":47,"value":336},{"type":41,"tag":72,"props":371,"children":373},{"className":372},[],[374],{"type":47,"value":375},"DONE",{"type":47,"value":377},", show when it last ran and ask:\n",{"type":41,"tag":183,"props":379,"children":380},{},[381],{"type":41,"tag":50,"props":382,"children":383},{},[384,386,391],{"type":47,"value":385},"\"Cost basis was last calculated on ",{"type":41,"tag":192,"props":387,"children":388},{},[389],{"type":47,"value":390},"lastFinishedAt",{"type":47,"value":392},". Would you like to\nrecalculate now, or view the existing results?\"",{"type":41,"tag":157,"props":394,"children":395},{},[396,397,402,403,409],{"type":47,"value":166},{"type":41,"tag":72,"props":398,"children":400},{"className":399},[],[401],{"type":47,"value":334},{"type":47,"value":336},{"type":41,"tag":72,"props":404,"children":406},{"className":405},[],[407],{"type":47,"value":408},"ITEM_NOT_FOUND",{"type":47,"value":410},", this org has never calculated — proceed\ndirectly to trigger.",{"type":41,"tag":157,"props":412,"children":413},{},[414],{"type":47,"value":415},"When the user confirms (or on first-time run), trigger the calculation\nusing the mutation in Section D.",{"type":41,"tag":157,"props":417,"children":418},{},[419,424,426,432],{"type":41,"tag":86,"props":420,"children":421},{},[422],{"type":47,"value":423},"Poll status",{"type":47,"value":425}," every ~10 seconds until ",{"type":41,"tag":72,"props":427,"children":429},{"className":428},[],[430],{"type":47,"value":431},"status = \"DONE\"",{"type":47,"value":433},".",{"type":41,"tag":157,"props":435,"children":436},{},[437],{"type":47,"value":438},"Once done, automatically proceed to show results per asset (Section E)\nand financial issues (Section F).",{"type":41,"tag":50,"props":440,"children":441},{},[442],{"type":47,"value":443},"This step ensures the user always has fresh results and understands the\ncalculation state before viewing data.",{"type":41,"tag":56,"props":445,"children":446},{},[],{"type":41,"tag":60,"props":448,"children":450},{"id":449},"available-operations",[451],{"type":47,"value":452},"Available operations",{"type":41,"tag":50,"props":454,"children":455},{},[456],{"type":47,"value":457},"Based on the user's request, follow the appropriate section below.\nMany users will come in with a general question like \"help me with cost basis\" —\nin that case, run Steps 1–3 (authenticate, check strategy, run calculation),\nthen show results.",{"type":41,"tag":56,"props":459,"children":460},{},[],{"type":41,"tag":60,"props":462,"children":464},{"id":463},"a-check-cost-basis-calculation-status",[465],{"type":47,"value":466},"A. Check cost basis calculation status",{"type":41,"tag":50,"props":468,"children":469},{},[470],{"type":47,"value":471},"Use this when the user asks whether cost basis is running, done, or when it last ran.",{"type":41,"tag":473,"props":474,"children":479},"pre",{"className":475,"code":476,"language":477,"meta":478,"style":478},"language-graphql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","query CostBasisGetStatus {\n  costBasisGetStatus {\n    status\n    firstStartedAt\n    lastFinishedAt\n    updatedAt\n  }\n}\n","graphql","",[480],{"type":41,"tag":72,"props":481,"children":482},{"__ignoreMap":478},[483,493,502,511,520,529,538,547],{"type":41,"tag":192,"props":484,"children":487},{"class":485,"line":486},"line",1,[488],{"type":41,"tag":192,"props":489,"children":490},{},[491],{"type":47,"value":492},"query CostBasisGetStatus {\n",{"type":41,"tag":192,"props":494,"children":496},{"class":485,"line":495},2,[497],{"type":41,"tag":192,"props":498,"children":499},{},[500],{"type":47,"value":501},"  costBasisGetStatus {\n",{"type":41,"tag":192,"props":503,"children":505},{"class":485,"line":504},3,[506],{"type":41,"tag":192,"props":507,"children":508},{},[509],{"type":47,"value":510},"    status\n",{"type":41,"tag":192,"props":512,"children":514},{"class":485,"line":513},4,[515],{"type":41,"tag":192,"props":516,"children":517},{},[518],{"type":47,"value":519},"    firstStartedAt\n",{"type":41,"tag":192,"props":521,"children":523},{"class":485,"line":522},5,[524],{"type":41,"tag":192,"props":525,"children":526},{},[527],{"type":47,"value":528},"    lastFinishedAt\n",{"type":41,"tag":192,"props":530,"children":532},{"class":485,"line":531},6,[533],{"type":41,"tag":192,"props":534,"children":535},{},[536],{"type":47,"value":537},"    updatedAt\n",{"type":41,"tag":192,"props":539,"children":541},{"class":485,"line":540},7,[542],{"type":41,"tag":192,"props":543,"children":544},{},[545],{"type":47,"value":546},"  }\n",{"type":41,"tag":192,"props":548,"children":550},{"class":485,"line":549},8,[551],{"type":41,"tag":192,"props":552,"children":553},{},[554],{"type":47,"value":555},"}\n",{"type":41,"tag":50,"props":557,"children":558},{},[559,564,566,571,573,578,579,584],{"type":41,"tag":72,"props":560,"children":562},{"className":561},[],[563],{"type":47,"value":334},{"type":47,"value":565}," values: ",{"type":41,"tag":72,"props":567,"children":569},{"className":568},[],[570],{"type":47,"value":375},{"type":47,"value":572},", ",{"type":41,"tag":72,"props":574,"children":576},{"className":575},[],[577],{"type":47,"value":342},{"type":47,"value":572},{"type":41,"tag":72,"props":580,"children":582},{"className":581},[],[583],{"type":47,"value":408},{"type":47,"value":585}," (never calculated).",{"type":41,"tag":50,"props":587,"children":588},{},[589,591,596,598,603],{"type":47,"value":590},"Report the status clearly. If ",{"type":41,"tag":72,"props":592,"children":594},{"className":593},[],[595],{"type":47,"value":342},{"type":47,"value":597},", let the user know it's still running\nand they should wait. If ",{"type":41,"tag":72,"props":599,"children":601},{"className":600},[],[602],{"type":47,"value":375},{"type":47,"value":604},", report when it last finished.",{"type":41,"tag":56,"props":606,"children":607},{},[],{"type":41,"tag":60,"props":609,"children":611},{"id":610},"b-view-current-cost-basis-strategy",[612],{"type":47,"value":613},"B. View current cost basis strategy",{"type":41,"tag":50,"props":615,"children":616},{},[617],{"type":47,"value":618},"Fetches the default strategy and any date-specific strategy overrides.",{"type":41,"tag":473,"props":620,"children":622},{"className":475,"code":621,"language":477,"meta":478,"style":478},"query GetCostBasisStrategyByDate {\n  getCostBasisStrategyByDate {\n    response {\n      strategyPeriods {\n        startDate\n        endDate\n        strategy\n      }\n      defaultStrategy\n    }\n  }\n}\n",[623],{"type":41,"tag":72,"props":624,"children":625},{"__ignoreMap":478},[626,634,642,650,658,666,674,682,690,699,708,716],{"type":41,"tag":192,"props":627,"children":628},{"class":485,"line":486},[629],{"type":41,"tag":192,"props":630,"children":631},{},[632],{"type":47,"value":633},"query GetCostBasisStrategyByDate {\n",{"type":41,"tag":192,"props":635,"children":636},{"class":485,"line":495},[637],{"type":41,"tag":192,"props":638,"children":639},{},[640],{"type":47,"value":641},"  getCostBasisStrategyByDate {\n",{"type":41,"tag":192,"props":643,"children":644},{"class":485,"line":504},[645],{"type":41,"tag":192,"props":646,"children":647},{},[648],{"type":47,"value":649},"    response {\n",{"type":41,"tag":192,"props":651,"children":652},{"class":485,"line":513},[653],{"type":41,"tag":192,"props":654,"children":655},{},[656],{"type":47,"value":657},"      strategyPeriods {\n",{"type":41,"tag":192,"props":659,"children":660},{"class":485,"line":522},[661],{"type":41,"tag":192,"props":662,"children":663},{},[664],{"type":47,"value":665},"        startDate\n",{"type":41,"tag":192,"props":667,"children":668},{"class":485,"line":531},[669],{"type":41,"tag":192,"props":670,"children":671},{},[672],{"type":47,"value":673},"        endDate\n",{"type":41,"tag":192,"props":675,"children":676},{"class":485,"line":540},[677],{"type":41,"tag":192,"props":678,"children":679},{},[680],{"type":47,"value":681},"        strategy\n",{"type":41,"tag":192,"props":683,"children":684},{"class":485,"line":549},[685],{"type":41,"tag":192,"props":686,"children":687},{},[688],{"type":47,"value":689},"      }\n",{"type":41,"tag":192,"props":691,"children":693},{"class":485,"line":692},9,[694],{"type":41,"tag":192,"props":695,"children":696},{},[697],{"type":47,"value":698},"      defaultStrategy\n",{"type":41,"tag":192,"props":700,"children":702},{"class":485,"line":701},10,[703],{"type":41,"tag":192,"props":704,"children":705},{},[706],{"type":47,"value":707},"    }\n",{"type":41,"tag":192,"props":709,"children":711},{"class":485,"line":710},11,[712],{"type":41,"tag":192,"props":713,"children":714},{},[715],{"type":47,"value":546},{"type":41,"tag":192,"props":717,"children":719},{"class":485,"line":718},12,[720],{"type":41,"tag":192,"props":721,"children":722},{},[723],{"type":47,"value":555},{"type":41,"tag":50,"props":725,"children":726},{},[727,729,734,735,740,741,746,747,752,753,758,759,764],{"type":47,"value":728},"Present the default strategy and any period overrides clearly. Strategies:\n",{"type":41,"tag":72,"props":730,"children":732},{"className":731},[],[733],{"type":47,"value":222},{"type":47,"value":572},{"type":41,"tag":72,"props":736,"children":738},{"className":737},[],[739],{"type":47,"value":232},{"type":47,"value":572},{"type":41,"tag":72,"props":742,"children":744},{"className":743},[],[745],{"type":47,"value":242},{"type":47,"value":572},{"type":41,"tag":72,"props":748,"children":750},{"className":749},[],[751],{"type":47,"value":252},{"type":47,"value":572},{"type":41,"tag":72,"props":754,"children":756},{"className":755},[],[757],{"type":47,"value":262},{"type":47,"value":572},{"type":41,"tag":72,"props":760,"children":762},{"className":761},[],[763],{"type":47,"value":272},{"type":47,"value":433},{"type":41,"tag":50,"props":766,"children":767},{},[768],{"type":47,"value":769},"Explain what each means if the user asks:",{"type":41,"tag":771,"props":772,"children":773},"ul",{},[774,783,792,800,809,818],{"type":41,"tag":157,"props":775,"children":776},{},[777,781],{"type":41,"tag":86,"props":778,"children":779},{},[780],{"type":47,"value":222},{"type":47,"value":782}," — First-in, first-out. Earliest acquired lots are sold first.",{"type":41,"tag":157,"props":784,"children":785},{},[786,790],{"type":41,"tag":86,"props":787,"children":788},{},[789],{"type":47,"value":232},{"type":47,"value":791}," — Last-in, first-out. Most recently acquired lots are sold first.",{"type":41,"tag":157,"props":793,"children":794},{},[795,799],{"type":41,"tag":86,"props":796,"children":797},{},[798],{"type":47,"value":242},{"type":47,"value":244},{"type":41,"tag":157,"props":801,"children":802},{},[803,807],{"type":41,"tag":86,"props":804,"children":805},{},[806],{"type":47,"value":252},{"type":47,"value":808}," — Sells lowest-cost lots first, maximizing realized gains.",{"type":41,"tag":157,"props":810,"children":811},{},[812,816],{"type":41,"tag":86,"props":813,"children":814},{},[815],{"type":47,"value":262},{"type":47,"value":817}," — Sells highest-cost lots first, maximizing realized losses (tax-loss harvesting).",{"type":41,"tag":157,"props":819,"children":820},{},[821,825],{"type":41,"tag":86,"props":822,"children":823},{},[824],{"type":47,"value":272},{"type":47,"value":826}," — FIFO with impairment accounting support.",{"type":41,"tag":56,"props":828,"children":829},{},[],{"type":41,"tag":60,"props":831,"children":833},{"id":832},"c-update-cost-basis-strategy",[834],{"type":47,"value":835},"C. Update cost basis strategy",{"type":41,"tag":50,"props":837,"children":838},{},[839],{"type":47,"value":840},"Use when the user wants to change the default strategy or set strategy periods.",{"type":41,"tag":50,"props":842,"children":843},{},[844,849],{"type":41,"tag":86,"props":845,"children":846},{},[847],{"type":47,"value":848},"Always confirm with the user before executing",{"type":47,"value":850}," — changing strategy affects all\nfuture cost basis calculations and requires a recalculation.",{"type":41,"tag":473,"props":852,"children":854},{"className":475,"code":853,"language":477,"meta":478,"style":478},"mutation UpdateCostBasisStrategyByDate(\n  $defaultStrategy: CostBasisStrategy!,\n  $strategyPeriods: [CBStrategyPeriodInput]!\n) {\n  updateCostBasisStrategyByDate(\n    defaultStrategy: $defaultStrategy,\n    strategyPeriods: $strategyPeriods\n  ) {\n    success\n    message\n  }\n}\n",[855],{"type":41,"tag":72,"props":856,"children":857},{"__ignoreMap":478},[858,866,874,882,890,898,906,914,922,930,938,945],{"type":41,"tag":192,"props":859,"children":860},{"class":485,"line":486},[861],{"type":41,"tag":192,"props":862,"children":863},{},[864],{"type":47,"value":865},"mutation UpdateCostBasisStrategyByDate(\n",{"type":41,"tag":192,"props":867,"children":868},{"class":485,"line":495},[869],{"type":41,"tag":192,"props":870,"children":871},{},[872],{"type":47,"value":873},"  $defaultStrategy: CostBasisStrategy!,\n",{"type":41,"tag":192,"props":875,"children":876},{"class":485,"line":504},[877],{"type":41,"tag":192,"props":878,"children":879},{},[880],{"type":47,"value":881},"  $strategyPeriods: [CBStrategyPeriodInput]!\n",{"type":41,"tag":192,"props":883,"children":884},{"class":485,"line":513},[885],{"type":41,"tag":192,"props":886,"children":887},{},[888],{"type":47,"value":889},") {\n",{"type":41,"tag":192,"props":891,"children":892},{"class":485,"line":522},[893],{"type":41,"tag":192,"props":894,"children":895},{},[896],{"type":47,"value":897},"  updateCostBasisStrategyByDate(\n",{"type":41,"tag":192,"props":899,"children":900},{"class":485,"line":531},[901],{"type":41,"tag":192,"props":902,"children":903},{},[904],{"type":47,"value":905},"    defaultStrategy: $defaultStrategy,\n",{"type":41,"tag":192,"props":907,"children":908},{"class":485,"line":540},[909],{"type":41,"tag":192,"props":910,"children":911},{},[912],{"type":47,"value":913},"    strategyPeriods: $strategyPeriods\n",{"type":41,"tag":192,"props":915,"children":916},{"class":485,"line":549},[917],{"type":41,"tag":192,"props":918,"children":919},{},[920],{"type":47,"value":921},"  ) {\n",{"type":41,"tag":192,"props":923,"children":924},{"class":485,"line":692},[925],{"type":41,"tag":192,"props":926,"children":927},{},[928],{"type":47,"value":929},"    success\n",{"type":41,"tag":192,"props":931,"children":932},{"class":485,"line":701},[933],{"type":41,"tag":192,"props":934,"children":935},{},[936],{"type":47,"value":937},"    message\n",{"type":41,"tag":192,"props":939,"children":940},{"class":485,"line":710},[941],{"type":41,"tag":192,"props":942,"children":943},{},[944],{"type":47,"value":546},{"type":41,"tag":192,"props":946,"children":947},{"class":485,"line":718},[948],{"type":41,"tag":192,"props":949,"children":950},{},[951],{"type":47,"value":555},{"type":41,"tag":50,"props":953,"children":954},{},[955],{"type":47,"value":956},"Variables example:",{"type":41,"tag":473,"props":958,"children":962},{"className":959,"code":960,"language":961,"meta":478,"style":478},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"defaultStrategy\": \"FIFO\",\n  \"strategyPeriods\": [\n    {\n      \"startDate\": \"2024-01-01T00:00:00Z\",\n      \"endDate\": \"2024-12-31T23:59:59Z\",\n      \"strategy\": \"LIFO\"\n    }\n  ]\n}\n","json",[963],{"type":41,"tag":72,"props":964,"children":965},{"__ignoreMap":478},[966,975,1017,1041,1049,1088,1125,1158,1165,1173],{"type":41,"tag":192,"props":967,"children":968},{"class":485,"line":486},[969],{"type":41,"tag":192,"props":970,"children":972},{"style":971},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[973],{"type":47,"value":974},"{\n",{"type":41,"tag":192,"props":976,"children":977},{"class":485,"line":495},[978,983,988,993,998,1003,1008,1012],{"type":41,"tag":192,"props":979,"children":980},{"style":971},[981],{"type":47,"value":982},"  \"",{"type":41,"tag":192,"props":984,"children":986},{"style":985},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[987],{"type":47,"value":172},{"type":41,"tag":192,"props":989,"children":990},{"style":971},[991],{"type":47,"value":992},"\"",{"type":41,"tag":192,"props":994,"children":995},{"style":971},[996],{"type":47,"value":997},":",{"type":41,"tag":192,"props":999,"children":1000},{"style":971},[1001],{"type":47,"value":1002}," \"",{"type":41,"tag":192,"props":1004,"children":1006},{"style":1005},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[1007],{"type":47,"value":222},{"type":41,"tag":192,"props":1009,"children":1010},{"style":971},[1011],{"type":47,"value":992},{"type":41,"tag":192,"props":1013,"children":1014},{"style":971},[1015],{"type":47,"value":1016},",\n",{"type":41,"tag":192,"props":1018,"children":1019},{"class":485,"line":504},[1020,1024,1028,1032,1036],{"type":41,"tag":192,"props":1021,"children":1022},{"style":971},[1023],{"type":47,"value":982},{"type":41,"tag":192,"props":1025,"children":1026},{"style":985},[1027],{"type":47,"value":290},{"type":41,"tag":192,"props":1029,"children":1030},{"style":971},[1031],{"type":47,"value":992},{"type":41,"tag":192,"props":1033,"children":1034},{"style":971},[1035],{"type":47,"value":997},{"type":41,"tag":192,"props":1037,"children":1038},{"style":971},[1039],{"type":47,"value":1040}," [\n",{"type":41,"tag":192,"props":1042,"children":1043},{"class":485,"line":513},[1044],{"type":41,"tag":192,"props":1045,"children":1046},{"style":971},[1047],{"type":47,"value":1048},"    {\n",{"type":41,"tag":192,"props":1050,"children":1051},{"class":485,"line":522},[1052,1057,1063,1067,1071,1075,1080,1084],{"type":41,"tag":192,"props":1053,"children":1054},{"style":971},[1055],{"type":47,"value":1056},"      \"",{"type":41,"tag":192,"props":1058,"children":1060},{"style":1059},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[1061],{"type":47,"value":1062},"startDate",{"type":41,"tag":192,"props":1064,"children":1065},{"style":971},[1066],{"type":47,"value":992},{"type":41,"tag":192,"props":1068,"children":1069},{"style":971},[1070],{"type":47,"value":997},{"type":41,"tag":192,"props":1072,"children":1073},{"style":971},[1074],{"type":47,"value":1002},{"type":41,"tag":192,"props":1076,"children":1077},{"style":1005},[1078],{"type":47,"value":1079},"2024-01-01T00:00:00Z",{"type":41,"tag":192,"props":1081,"children":1082},{"style":971},[1083],{"type":47,"value":992},{"type":41,"tag":192,"props":1085,"children":1086},{"style":971},[1087],{"type":47,"value":1016},{"type":41,"tag":192,"props":1089,"children":1090},{"class":485,"line":531},[1091,1095,1100,1104,1108,1112,1117,1121],{"type":41,"tag":192,"props":1092,"children":1093},{"style":971},[1094],{"type":47,"value":1056},{"type":41,"tag":192,"props":1096,"children":1097},{"style":1059},[1098],{"type":47,"value":1099},"endDate",{"type":41,"tag":192,"props":1101,"children":1102},{"style":971},[1103],{"type":47,"value":992},{"type":41,"tag":192,"props":1105,"children":1106},{"style":971},[1107],{"type":47,"value":997},{"type":41,"tag":192,"props":1109,"children":1110},{"style":971},[1111],{"type":47,"value":1002},{"type":41,"tag":192,"props":1113,"children":1114},{"style":1005},[1115],{"type":47,"value":1116},"2024-12-31T23:59:59Z",{"type":41,"tag":192,"props":1118,"children":1119},{"style":971},[1120],{"type":47,"value":992},{"type":41,"tag":192,"props":1122,"children":1123},{"style":971},[1124],{"type":47,"value":1016},{"type":41,"tag":192,"props":1126,"children":1127},{"class":485,"line":540},[1128,1132,1137,1141,1145,1149,1153],{"type":41,"tag":192,"props":1129,"children":1130},{"style":971},[1131],{"type":47,"value":1056},{"type":41,"tag":192,"props":1133,"children":1134},{"style":1059},[1135],{"type":47,"value":1136},"strategy",{"type":41,"tag":192,"props":1138,"children":1139},{"style":971},[1140],{"type":47,"value":992},{"type":41,"tag":192,"props":1142,"children":1143},{"style":971},[1144],{"type":47,"value":997},{"type":41,"tag":192,"props":1146,"children":1147},{"style":971},[1148],{"type":47,"value":1002},{"type":41,"tag":192,"props":1150,"children":1151},{"style":1005},[1152],{"type":47,"value":232},{"type":41,"tag":192,"props":1154,"children":1155},{"style":971},[1156],{"type":47,"value":1157},"\"\n",{"type":41,"tag":192,"props":1159,"children":1160},{"class":485,"line":549},[1161],{"type":41,"tag":192,"props":1162,"children":1163},{"style":971},[1164],{"type":47,"value":707},{"type":41,"tag":192,"props":1166,"children":1167},{"class":485,"line":692},[1168],{"type":41,"tag":192,"props":1169,"children":1170},{"style":971},[1171],{"type":47,"value":1172},"  ]\n",{"type":41,"tag":192,"props":1174,"children":1175},{"class":485,"line":701},[1176],{"type":41,"tag":192,"props":1177,"children":1178},{"style":971},[1179],{"type":47,"value":555},{"type":41,"tag":50,"props":1181,"children":1182},{},[1183,1189,1191,1196,1197,1202,1203,1208,1209,1214,1215,1220,1221,1226],{"type":41,"tag":72,"props":1184,"children":1186},{"className":1185},[],[1187],{"type":47,"value":1188},"CostBasisStrategy",{"type":47,"value":1190}," enum values: ",{"type":41,"tag":72,"props":1192,"children":1194},{"className":1193},[],[1195],{"type":47,"value":222},{"type":47,"value":572},{"type":41,"tag":72,"props":1198,"children":1200},{"className":1199},[],[1201],{"type":47,"value":272},{"type":47,"value":572},{"type":41,"tag":72,"props":1204,"children":1206},{"className":1205},[],[1207],{"type":47,"value":232},{"type":47,"value":572},{"type":41,"tag":72,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":47,"value":242},{"type":47,"value":572},{"type":41,"tag":72,"props":1216,"children":1218},{"className":1217},[],[1219],{"type":47,"value":252},{"type":47,"value":572},{"type":41,"tag":72,"props":1222,"children":1224},{"className":1223},[],[1225],{"type":47,"value":262},{"type":47,"value":433},{"type":41,"tag":50,"props":1228,"children":1229},{},[1230],{"type":47,"value":1231},"If updating to a period-based config, first fetch the existing periods (Section B)\nso you don't accidentally overwrite them — the mutation replaces ALL periods.",{"type":41,"tag":50,"props":1233,"children":1234},{},[1235],{"type":47,"value":1236},"After a successful strategy change, ask the user if they want to trigger a\ncost basis recalculation (Section D).",{"type":41,"tag":56,"props":1238,"children":1239},{},[],{"type":41,"tag":60,"props":1241,"children":1243},{"id":1242},"d-trigger-cost-basis-calculation",[1244],{"type":47,"value":1245},"D. Trigger cost basis calculation",{"type":41,"tag":50,"props":1247,"children":1248},{},[1249,1254,1256,1261],{"type":41,"tag":86,"props":1250,"children":1251},{},[1252],{"type":47,"value":1253},"Prerequisite",{"type":47,"value":1255},": Before triggering, run ",{"type":41,"tag":86,"props":1257,"children":1258},{},[1259],{"type":47,"value":1260},"Step 2",{"type":47,"value":1262}," (strategy gate) to ensure a\nstrategy is defined. If none is set, the user must choose one first.",{"type":41,"tag":50,"props":1264,"children":1265},{},[1266],{"type":47,"value":1267},"Starts (or restarts) the cost basis calculation. Can target specific assets or\nrecalculate everything.",{"type":41,"tag":473,"props":1269,"children":1271},{"className":475,"code":1270,"language":477,"meta":478,"style":478},"mutation TriggerCostBasis($assetClassIds: [Int]) {\n  triggerCostBasis(assetClassIds: $assetClassIds) {\n    success\n  }\n}\n",[1272],{"type":41,"tag":72,"props":1273,"children":1274},{"__ignoreMap":478},[1275,1283,1291,1298,1305],{"type":41,"tag":192,"props":1276,"children":1277},{"class":485,"line":486},[1278],{"type":41,"tag":192,"props":1279,"children":1280},{},[1281],{"type":47,"value":1282},"mutation TriggerCostBasis($assetClassIds: [Int]) {\n",{"type":41,"tag":192,"props":1284,"children":1285},{"class":485,"line":495},[1286],{"type":41,"tag":192,"props":1287,"children":1288},{},[1289],{"type":47,"value":1290},"  triggerCostBasis(assetClassIds: $assetClassIds) {\n",{"type":41,"tag":192,"props":1292,"children":1293},{"class":485,"line":504},[1294],{"type":41,"tag":192,"props":1295,"children":1296},{},[1297],{"type":47,"value":929},{"type":41,"tag":192,"props":1299,"children":1300},{"class":485,"line":513},[1301],{"type":41,"tag":192,"props":1302,"children":1303},{},[1304],{"type":47,"value":546},{"type":41,"tag":192,"props":1306,"children":1307},{"class":485,"line":522},[1308],{"type":41,"tag":192,"props":1309,"children":1310},{},[1311],{"type":47,"value":555},{"type":41,"tag":771,"props":1313,"children":1314},{},[1315,1335],{"type":41,"tag":157,"props":1316,"children":1317},{},[1318,1320,1325,1327,1333],{"type":47,"value":1319},"To recalculate ",{"type":41,"tag":86,"props":1321,"children":1322},{},[1323],{"type":47,"value":1324},"everything",{"type":47,"value":1326},": pass ",{"type":41,"tag":72,"props":1328,"children":1330},{"className":1329},[],[1331],{"type":47,"value":1332},"assetClassIds: null",{"type":47,"value":1334}," (or omit it).",{"type":41,"tag":157,"props":1336,"children":1337},{},[1338,1339,1344,1346,1352],{"type":47,"value":1319},{"type":41,"tag":86,"props":1340,"children":1341},{},[1342],{"type":47,"value":1343},"specific assets",{"type":47,"value":1345},": pass an array of asset class IDs, e.g. ",{"type":41,"tag":72,"props":1347,"children":1349},{"className":1348},[],[1350],{"type":47,"value":1351},"[42, 88]",{"type":47,"value":433},{"type":41,"tag":50,"props":1354,"children":1355},{},[1356,1358,1364,1366,1372],{"type":47,"value":1357},"To find asset class IDs, query ",{"type":41,"tag":72,"props":1359,"children":1361},{"className":1360},[],[1362],{"type":47,"value":1363},"assetBalance",{"type":47,"value":1365}," or ",{"type":41,"tag":72,"props":1367,"children":1369},{"className":1368},[],[1370],{"type":47,"value":1371},"assetClass",{"type":47,"value":1373}," first:",{"type":41,"tag":473,"props":1375,"children":1377},{"className":475,"code":1376,"language":477,"meta":478,"style":478},"query AssetClasses($limit: Int) {\n  assetClass(limit: $limit) {\n    results { id symbol name }\n  }\n}\n",[1378],{"type":41,"tag":72,"props":1379,"children":1380},{"__ignoreMap":478},[1381,1389,1397,1405,1412],{"type":41,"tag":192,"props":1382,"children":1383},{"class":485,"line":486},[1384],{"type":41,"tag":192,"props":1385,"children":1386},{},[1387],{"type":47,"value":1388},"query AssetClasses($limit: Int) {\n",{"type":41,"tag":192,"props":1390,"children":1391},{"class":485,"line":495},[1392],{"type":41,"tag":192,"props":1393,"children":1394},{},[1395],{"type":47,"value":1396},"  assetClass(limit: $limit) {\n",{"type":41,"tag":192,"props":1398,"children":1399},{"class":485,"line":504},[1400],{"type":41,"tag":192,"props":1401,"children":1402},{},[1403],{"type":47,"value":1404},"    results { id symbol name }\n",{"type":41,"tag":192,"props":1406,"children":1407},{"class":485,"line":513},[1408],{"type":41,"tag":192,"props":1409,"children":1410},{},[1411],{"type":47,"value":546},{"type":41,"tag":192,"props":1413,"children":1414},{"class":485,"line":522},[1415],{"type":41,"tag":192,"props":1416,"children":1417},{},[1418],{"type":47,"value":555},{"type":41,"tag":1420,"props":1421,"children":1423},"h3",{"id":1422},"after-triggering-poll-until-completion",[1424],{"type":47,"value":1425},"After triggering — poll until completion",{"type":41,"tag":50,"props":1427,"children":1428},{},[1429,1431,1437,1439,1444],{"type":47,"value":1430},"After a successful trigger (",{"type":41,"tag":72,"props":1432,"children":1434},{"className":1433},[],[1435],{"type":47,"value":1436},"success: true",{"type":47,"value":1438},"), ",{"type":41,"tag":86,"props":1440,"children":1441},{},[1442],{"type":47,"value":1443},"poll the status",{"type":47,"value":1445}," using the\nquery from Section A. The calculation typically takes 10–60 seconds for small\norgs but can take minutes for large ones.",{"type":41,"tag":473,"props":1447,"children":1451},{"className":1448,"code":1450,"language":47},[1449],"language-text","1. Trigger → success: true\n2. Poll costBasisGetStatus every ~10 seconds\n3. When status = \"DONE\" → proceed to show results (Section E)\n",[1452],{"type":41,"tag":72,"props":1453,"children":1454},{"__ignoreMap":478},[1455],{"type":47,"value":1450},{"type":41,"tag":50,"props":1457,"children":1458},{},[1459,1461,1466,1468,1473],{"type":47,"value":1460},"Do NOT present results or offer report downloads until status is ",{"type":41,"tag":72,"props":1462,"children":1464},{"className":1463},[],[1465],{"type":47,"value":375},{"type":47,"value":1467},".\nWhile ",{"type":41,"tag":72,"props":1469,"children":1471},{"className":1470},[],[1472],{"type":47,"value":342},{"type":47,"value":1474},", show a brief wait message to the user.",{"type":41,"tag":56,"props":1476,"children":1477},{},[],{"type":41,"tag":60,"props":1479,"children":1481},{"id":1480},"e-view-cost-basis-results-per-asset",[1482],{"type":47,"value":1483},"E. View cost basis results per asset",{"type":41,"tag":50,"props":1485,"children":1486},{},[1487],{"type":47,"value":1488},"Shows the cost basis breakdown per asset-wallet pair — total cost, realized\ngains, COGS, running inventory, and more.",{"type":41,"tag":50,"props":1490,"children":1491},{},[1492,1497,1499,1504,1506,1512,1514,1519,1521,1527,1529,1535],{"type":41,"tag":86,"props":1493,"children":1494},{},[1495],{"type":47,"value":1496},"Important",{"type":47,"value":1498},": Use the ",{"type":41,"tag":72,"props":1500,"children":1502},{"className":1501},[],[1503],{"type":47,"value":1363},{"type":47,"value":1505}," query (NOT ",{"type":41,"tag":72,"props":1507,"children":1509},{"className":1508},[],[1510],{"type":47,"value":1511},"organizationBalance",{"type":47,"value":1513},"). The\n",{"type":41,"tag":72,"props":1515,"children":1517},{"className":1516},[],[1518],{"type":47,"value":1363},{"type":47,"value":1520}," query returns per-wallet asset rows, each with a nested\n",{"type":41,"tag":72,"props":1522,"children":1524},{"className":1523},[],[1525],{"type":47,"value":1526},"costBasis",{"type":47,"value":1528}," field from ",{"type":41,"tag":72,"props":1530,"children":1532},{"className":1531},[],[1533],{"type":47,"value":1534},"FifoCostBasisQuery",{"type":47,"value":433},{"type":41,"tag":473,"props":1537,"children":1539},{"className":475,"code":1538,"language":477,"meta":478,"style":478},"query AssetBalanceWithCostBasis($limit: Int, $offset: Int) {\n  assetBalance(limit: $limit, offset: $offset) {\n    totalCount\n    results {\n      asset {\n        symbol\n        name\n      }\n      belongsTo {\n        name\n      }\n      calculatedBalance\n      assetFifoCostBasis\n      totalProfitLoss\n      costBasis {\n        costBasis\n        totalRealizedGains\n        totalShortTermRealizedGains\n        totalLongTermRealizedGains\n        totalCost\n        totalRunningInventoryQuantity\n        cogs\n        proceeds\n        runningBalance\n      }\n    }\n  }\n}\n",[1540],{"type":41,"tag":72,"props":1541,"children":1542},{"__ignoreMap":478},[1543,1551,1559,1567,1575,1583,1591,1599,1606,1614,1621,1628,1636,1645,1654,1663,1672,1681,1690,1699,1708,1717,1726,1735,1744,1752,1760,1768],{"type":41,"tag":192,"props":1544,"children":1545},{"class":485,"line":486},[1546],{"type":41,"tag":192,"props":1547,"children":1548},{},[1549],{"type":47,"value":1550},"query AssetBalanceWithCostBasis($limit: Int, $offset: Int) {\n",{"type":41,"tag":192,"props":1552,"children":1553},{"class":485,"line":495},[1554],{"type":41,"tag":192,"props":1555,"children":1556},{},[1557],{"type":47,"value":1558},"  assetBalance(limit: $limit, offset: $offset) {\n",{"type":41,"tag":192,"props":1560,"children":1561},{"class":485,"line":504},[1562],{"type":41,"tag":192,"props":1563,"children":1564},{},[1565],{"type":47,"value":1566},"    totalCount\n",{"type":41,"tag":192,"props":1568,"children":1569},{"class":485,"line":513},[1570],{"type":41,"tag":192,"props":1571,"children":1572},{},[1573],{"type":47,"value":1574},"    results {\n",{"type":41,"tag":192,"props":1576,"children":1577},{"class":485,"line":522},[1578],{"type":41,"tag":192,"props":1579,"children":1580},{},[1581],{"type":47,"value":1582},"      asset {\n",{"type":41,"tag":192,"props":1584,"children":1585},{"class":485,"line":531},[1586],{"type":41,"tag":192,"props":1587,"children":1588},{},[1589],{"type":47,"value":1590},"        symbol\n",{"type":41,"tag":192,"props":1592,"children":1593},{"class":485,"line":540},[1594],{"type":41,"tag":192,"props":1595,"children":1596},{},[1597],{"type":47,"value":1598},"        name\n",{"type":41,"tag":192,"props":1600,"children":1601},{"class":485,"line":549},[1602],{"type":41,"tag":192,"props":1603,"children":1604},{},[1605],{"type":47,"value":689},{"type":41,"tag":192,"props":1607,"children":1608},{"class":485,"line":692},[1609],{"type":41,"tag":192,"props":1610,"children":1611},{},[1612],{"type":47,"value":1613},"      belongsTo {\n",{"type":41,"tag":192,"props":1615,"children":1616},{"class":485,"line":701},[1617],{"type":41,"tag":192,"props":1618,"children":1619},{},[1620],{"type":47,"value":1598},{"type":41,"tag":192,"props":1622,"children":1623},{"class":485,"line":710},[1624],{"type":41,"tag":192,"props":1625,"children":1626},{},[1627],{"type":47,"value":689},{"type":41,"tag":192,"props":1629,"children":1630},{"class":485,"line":718},[1631],{"type":41,"tag":192,"props":1632,"children":1633},{},[1634],{"type":47,"value":1635},"      calculatedBalance\n",{"type":41,"tag":192,"props":1637,"children":1639},{"class":485,"line":1638},13,[1640],{"type":41,"tag":192,"props":1641,"children":1642},{},[1643],{"type":47,"value":1644},"      assetFifoCostBasis\n",{"type":41,"tag":192,"props":1646,"children":1648},{"class":485,"line":1647},14,[1649],{"type":41,"tag":192,"props":1650,"children":1651},{},[1652],{"type":47,"value":1653},"      totalProfitLoss\n",{"type":41,"tag":192,"props":1655,"children":1657},{"class":485,"line":1656},15,[1658],{"type":41,"tag":192,"props":1659,"children":1660},{},[1661],{"type":47,"value":1662},"      costBasis {\n",{"type":41,"tag":192,"props":1664,"children":1666},{"class":485,"line":1665},16,[1667],{"type":41,"tag":192,"props":1668,"children":1669},{},[1670],{"type":47,"value":1671},"        costBasis\n",{"type":41,"tag":192,"props":1673,"children":1675},{"class":485,"line":1674},17,[1676],{"type":41,"tag":192,"props":1677,"children":1678},{},[1679],{"type":47,"value":1680},"        totalRealizedGains\n",{"type":41,"tag":192,"props":1682,"children":1684},{"class":485,"line":1683},18,[1685],{"type":41,"tag":192,"props":1686,"children":1687},{},[1688],{"type":47,"value":1689},"        totalShortTermRealizedGains\n",{"type":41,"tag":192,"props":1691,"children":1693},{"class":485,"line":1692},19,[1694],{"type":41,"tag":192,"props":1695,"children":1696},{},[1697],{"type":47,"value":1698},"        totalLongTermRealizedGains\n",{"type":41,"tag":192,"props":1700,"children":1702},{"class":485,"line":1701},20,[1703],{"type":41,"tag":192,"props":1704,"children":1705},{},[1706],{"type":47,"value":1707},"        totalCost\n",{"type":41,"tag":192,"props":1709,"children":1711},{"class":485,"line":1710},21,[1712],{"type":41,"tag":192,"props":1713,"children":1714},{},[1715],{"type":47,"value":1716},"        totalRunningInventoryQuantity\n",{"type":41,"tag":192,"props":1718,"children":1720},{"class":485,"line":1719},22,[1721],{"type":41,"tag":192,"props":1722,"children":1723},{},[1724],{"type":47,"value":1725},"        cogs\n",{"type":41,"tag":192,"props":1727,"children":1729},{"class":485,"line":1728},23,[1730],{"type":41,"tag":192,"props":1731,"children":1732},{},[1733],{"type":47,"value":1734},"        proceeds\n",{"type":41,"tag":192,"props":1736,"children":1738},{"class":485,"line":1737},24,[1739],{"type":41,"tag":192,"props":1740,"children":1741},{},[1742],{"type":47,"value":1743},"        runningBalance\n",{"type":41,"tag":192,"props":1745,"children":1747},{"class":485,"line":1746},25,[1748],{"type":41,"tag":192,"props":1749,"children":1750},{},[1751],{"type":47,"value":689},{"type":41,"tag":192,"props":1753,"children":1755},{"class":485,"line":1754},26,[1756],{"type":41,"tag":192,"props":1757,"children":1758},{},[1759],{"type":47,"value":707},{"type":41,"tag":192,"props":1761,"children":1763},{"class":485,"line":1762},27,[1764],{"type":41,"tag":192,"props":1765,"children":1766},{},[1767],{"type":47,"value":546},{"type":41,"tag":192,"props":1769,"children":1771},{"class":485,"line":1770},28,[1772],{"type":41,"tag":192,"props":1773,"children":1774},{},[1775],{"type":47,"value":555},{"type":41,"tag":50,"props":1777,"children":1778},{},[1779,1781],{"type":47,"value":1780},"Variables: ",{"type":41,"tag":72,"props":1782,"children":1784},{"className":1783},[],[1785],{"type":47,"value":1786},"{\"limit\": 50, \"offset\": 0}",{"type":41,"tag":50,"props":1788,"children":1789},{},[1790,1792,1798,1800,1806],{"type":47,"value":1791},"Paginate if ",{"type":41,"tag":72,"props":1793,"children":1795},{"className":1794},[],[1796],{"type":47,"value":1797},"totalCount",{"type":47,"value":1799}," > 50 — increment ",{"type":41,"tag":72,"props":1801,"children":1803},{"className":1802},[],[1804],{"type":47,"value":1805},"offset",{"type":47,"value":1807}," by 50 and fetch again until\nall results are retrieved.",{"type":41,"tag":1420,"props":1809,"children":1811},{"id":1810},"key-fields-explained",[1812],{"type":47,"value":1813},"Key fields explained",{"type":41,"tag":771,"props":1815,"children":1816},{},[1817,1828,1839],{"type":41,"tag":157,"props":1818,"children":1819},{},[1820,1826],{"type":41,"tag":72,"props":1821,"children":1823},{"className":1822},[],[1824],{"type":47,"value":1825},"assetFifoCostBasis",{"type":47,"value":1827}," — The total cost basis for this asset-wallet pair (top-level shortcut).",{"type":41,"tag":157,"props":1829,"children":1830},{},[1831,1837],{"type":41,"tag":72,"props":1832,"children":1834},{"className":1833},[],[1835],{"type":47,"value":1836},"totalProfitLoss",{"type":47,"value":1838}," — Total realized P&L (top-level shortcut).",{"type":41,"tag":157,"props":1840,"children":1841},{},[1842,1847,1849],{"type":41,"tag":72,"props":1843,"children":1845},{"className":1844},[],[1846],{"type":47,"value":1526},{"type":47,"value":1848}," — Nested object with full detail (null if not calculated):\n",{"type":41,"tag":771,"props":1850,"children":1851},{},[1852,1870,1881,1899,1910,1921,1932],{"type":41,"tag":157,"props":1853,"children":1854},{},[1855,1860,1862,1868],{"type":41,"tag":72,"props":1856,"children":1858},{"className":1857},[],[1859],{"type":47,"value":1526},{"type":47,"value":1861}," \u002F ",{"type":41,"tag":72,"props":1863,"children":1865},{"className":1864},[],[1866],{"type":47,"value":1867},"totalCost",{"type":47,"value":1869}," — Total cost of current inventory.",{"type":41,"tag":157,"props":1871,"children":1872},{},[1873,1879],{"type":41,"tag":72,"props":1874,"children":1876},{"className":1875},[],[1877],{"type":47,"value":1878},"totalRealizedGains",{"type":47,"value":1880}," — Net realized gains\u002Flosses.",{"type":41,"tag":157,"props":1882,"children":1883},{},[1884,1890,1891,1897],{"type":41,"tag":72,"props":1885,"children":1887},{"className":1886},[],[1888],{"type":47,"value":1889},"totalShortTermRealizedGains",{"type":47,"value":1861},{"type":41,"tag":72,"props":1892,"children":1894},{"className":1893},[],[1895],{"type":47,"value":1896},"totalLongTermRealizedGains",{"type":47,"value":1898}," — Split by holding period.",{"type":41,"tag":157,"props":1900,"children":1901},{},[1902,1908],{"type":41,"tag":72,"props":1903,"children":1905},{"className":1904},[],[1906],{"type":47,"value":1907},"cogs",{"type":47,"value":1909}," — Cost of goods sold for disposals.",{"type":41,"tag":157,"props":1911,"children":1912},{},[1913,1919],{"type":41,"tag":72,"props":1914,"children":1916},{"className":1915},[],[1917],{"type":47,"value":1918},"proceeds",{"type":47,"value":1920}," — Total proceeds from disposals.",{"type":41,"tag":157,"props":1922,"children":1923},{},[1924,1930],{"type":41,"tag":72,"props":1925,"children":1927},{"className":1926},[],[1928],{"type":47,"value":1929},"totalRunningInventoryQuantity",{"type":47,"value":1931}," — Current inventory quantity.",{"type":41,"tag":157,"props":1933,"children":1934},{},[1935,1941],{"type":41,"tag":72,"props":1936,"children":1938},{"className":1937},[],[1939],{"type":47,"value":1940},"runningBalance",{"type":47,"value":1942}," — Running token balance.",{"type":41,"tag":1420,"props":1944,"children":1946},{"id":1945},"presenting-results-the-full-picture",[1947],{"type":47,"value":1948},"Presenting results — the full picture",{"type":41,"tag":50,"props":1950,"children":1951},{},[1952],{"type":47,"value":1953},"After fetching all pages, split the results into two groups:",{"type":41,"tag":50,"props":1955,"children":1956},{},[1957,1962,1964,1969],{"type":41,"tag":86,"props":1958,"children":1959},{},[1960],{"type":47,"value":1961},"Group 1 — Assets with cost basis data",{"type":47,"value":1963}," (",{"type":41,"tag":72,"props":1965,"children":1967},{"className":1966},[],[1968],{"type":47,"value":1526},{"type":47,"value":1970}," is not null):\nPresent as a table sorted by absolute realized P&L descending, with columns:\nAsset, Wallet, Holdings, Cost Basis ($), Realized P&L ($).\nUse color coding: green\u002F+ for gains, red\u002F- for losses.",{"type":41,"tag":50,"props":1972,"children":1973},{},[1974,1979,1980,1985,1987,1993],{"type":41,"tag":86,"props":1975,"children":1976},{},[1977],{"type":47,"value":1978},"Group 2 — Assets without cost basis",{"type":47,"value":1963},{"type":41,"tag":72,"props":1981,"children":1983},{"className":1982},[],[1984],{"type":47,"value":1526},{"type":47,"value":1986}," is null AND ",{"type":41,"tag":72,"props":1988,"children":1990},{"className":1989},[],[1991],{"type":47,"value":1992},"calculatedBalance",{"type":47,"value":1994}," != 0):\nThese are assets where cost basis was NOT calculated — usually because of missing\nfiat values, no transactions, or unverified\u002Fspam assets. Present them separately\nunder a clear heading like:",{"type":41,"tag":183,"props":1996,"children":1997},{},[1998],{"type":41,"tag":50,"props":1999,"children":2000},{},[2001,2006],{"type":41,"tag":86,"props":2002,"children":2003},{},[2004],{"type":47,"value":2005},"Assets without cost basis data:",{"type":47,"value":2007},"\nThe following assets have balances but no cost basis calculated. This typically\nmeans they have missing fiat prices that need to be resolved before cost basis\ncan be computed.",{"type":41,"tag":50,"props":2009,"children":2010},{},[2011],{"type":47,"value":2012},"Show: Asset, Wallet, Holdings, and a note about likely cause (spam token, NFT,\nmissing fiat, etc.).",{"type":41,"tag":50,"props":2014,"children":2015},{},[2016,2021,2023,2029],{"type":41,"tag":86,"props":2017,"children":2018},{},[2019],{"type":47,"value":2020},"Always show both groups",{"type":47,"value":2022}," so the user sees the complete picture. If Group 2\ncontains any non-trivial assets (not spam\u002Fvirtual), also run the financial\nissues query (Section F) filtered to HIGH severity to check for ",{"type":41,"tag":72,"props":2024,"children":2026},{"className":2025},[],[2027],{"type":47,"value":2028},"missing_fiat",{"type":47,"value":2030},"\nissues, and report them alongside.",{"type":41,"tag":50,"props":2032,"children":2033},{},[2034,2036,2041],{"type":47,"value":2035},"When missing fiat issues are found, ",{"type":41,"tag":86,"props":2037,"children":2038},{},[2039],{"type":47,"value":2040},"automatically look up historical prices",{"type":47,"value":2042},"\nusing the pricing query (Section G.1) for each affected asset at the transaction\ntimestamp. Present the looked-up prices to the user and offer to apply them\nusing bulk fiat edit (Section G.2).",{"type":41,"tag":50,"props":2044,"children":2045},{},[2046,2051],{"type":41,"tag":86,"props":2047,"children":2048},{},[2049],{"type":47,"value":2050},"Recommended",{"type":47,"value":2052},": Generate an HTML dashboard file with styled tables for both\ngroups plus a financial issues summary. Save it to the outputs folder and\nshare the link with the user.",{"type":41,"tag":50,"props":2054,"children":2055},{},[2056],{"type":47,"value":2057},"Use standard number formatting:",{"type":41,"tag":771,"props":2059,"children":2060},{},[2061,2066],{"type":41,"tag":157,"props":2062,"children":2063},{},[2064],{"type":47,"value":2065},"Fiat values >= $1M: \"$X.XXXM\", >= $1K: \"$X.XXK\", else \"$X.XX\"",{"type":41,"tag":157,"props":2067,"children":2068},{},[2069],{"type":47,"value":2070},"Positive gains: \"+\" prefix, negative: \"-\" prefix",{"type":41,"tag":56,"props":2072,"children":2073},{},[],{"type":41,"tag":60,"props":2075,"children":2077},{"id":2076},"f-view-financial-issues",[2078],{"type":47,"value":2079},"F. View financial issues",{"type":41,"tag":50,"props":2081,"children":2082},{},[2083],{"type":47,"value":2084},"Financial issues are problems detected during cost basis calculation — negative\nbalances, missing fiat values, circular transfers, etc.",{"type":41,"tag":473,"props":2086,"children":2088},{"className":475,"code":2087,"language":477,"meta":478,"style":478},"query FinancialIssues($limit: Int, $offset: Int, $severity: String) {\n  financialIssue(limit: $limit, offset: $offset, severity: $severity) {\n    totalCount\n    results {\n      id\n      type\n      severity\n      message\n      balanceImpact\n      assetClass {\n        id\n        symbol\n        name\n      }\n      assetClassId\n      internalAccount {\n        name\n      }\n      internalAccountId\n      tx {\n        identifier\n        timestamp\n      }\n      subTx {\n        id\n        amount\n      }\n    }\n  }\n}\n",[2089],{"type":41,"tag":72,"props":2090,"children":2091},{"__ignoreMap":478},[2092,2100,2108,2115,2122,2130,2138,2146,2154,2162,2170,2178,2185,2192,2199,2207,2215,2222,2229,2237,2245,2253,2261,2268,2276,2283,2291,2298,2305,2313],{"type":41,"tag":192,"props":2093,"children":2094},{"class":485,"line":486},[2095],{"type":41,"tag":192,"props":2096,"children":2097},{},[2098],{"type":47,"value":2099},"query FinancialIssues($limit: Int, $offset: Int, $severity: String) {\n",{"type":41,"tag":192,"props":2101,"children":2102},{"class":485,"line":495},[2103],{"type":41,"tag":192,"props":2104,"children":2105},{},[2106],{"type":47,"value":2107},"  financialIssue(limit: $limit, offset: $offset, severity: $severity) {\n",{"type":41,"tag":192,"props":2109,"children":2110},{"class":485,"line":504},[2111],{"type":41,"tag":192,"props":2112,"children":2113},{},[2114],{"type":47,"value":1566},{"type":41,"tag":192,"props":2116,"children":2117},{"class":485,"line":513},[2118],{"type":41,"tag":192,"props":2119,"children":2120},{},[2121],{"type":47,"value":1574},{"type":41,"tag":192,"props":2123,"children":2124},{"class":485,"line":522},[2125],{"type":41,"tag":192,"props":2126,"children":2127},{},[2128],{"type":47,"value":2129},"      id\n",{"type":41,"tag":192,"props":2131,"children":2132},{"class":485,"line":531},[2133],{"type":41,"tag":192,"props":2134,"children":2135},{},[2136],{"type":47,"value":2137},"      type\n",{"type":41,"tag":192,"props":2139,"children":2140},{"class":485,"line":540},[2141],{"type":41,"tag":192,"props":2142,"children":2143},{},[2144],{"type":47,"value":2145},"      severity\n",{"type":41,"tag":192,"props":2147,"children":2148},{"class":485,"line":549},[2149],{"type":41,"tag":192,"props":2150,"children":2151},{},[2152],{"type":47,"value":2153},"      message\n",{"type":41,"tag":192,"props":2155,"children":2156},{"class":485,"line":692},[2157],{"type":41,"tag":192,"props":2158,"children":2159},{},[2160],{"type":47,"value":2161},"      balanceImpact\n",{"type":41,"tag":192,"props":2163,"children":2164},{"class":485,"line":701},[2165],{"type":41,"tag":192,"props":2166,"children":2167},{},[2168],{"type":47,"value":2169},"      assetClass {\n",{"type":41,"tag":192,"props":2171,"children":2172},{"class":485,"line":710},[2173],{"type":41,"tag":192,"props":2174,"children":2175},{},[2176],{"type":47,"value":2177},"        id\n",{"type":41,"tag":192,"props":2179,"children":2180},{"class":485,"line":718},[2181],{"type":41,"tag":192,"props":2182,"children":2183},{},[2184],{"type":47,"value":1590},{"type":41,"tag":192,"props":2186,"children":2187},{"class":485,"line":1638},[2188],{"type":41,"tag":192,"props":2189,"children":2190},{},[2191],{"type":47,"value":1598},{"type":41,"tag":192,"props":2193,"children":2194},{"class":485,"line":1647},[2195],{"type":41,"tag":192,"props":2196,"children":2197},{},[2198],{"type":47,"value":689},{"type":41,"tag":192,"props":2200,"children":2201},{"class":485,"line":1656},[2202],{"type":41,"tag":192,"props":2203,"children":2204},{},[2205],{"type":47,"value":2206},"      assetClassId\n",{"type":41,"tag":192,"props":2208,"children":2209},{"class":485,"line":1665},[2210],{"type":41,"tag":192,"props":2211,"children":2212},{},[2213],{"type":47,"value":2214},"      internalAccount {\n",{"type":41,"tag":192,"props":2216,"children":2217},{"class":485,"line":1674},[2218],{"type":41,"tag":192,"props":2219,"children":2220},{},[2221],{"type":47,"value":1598},{"type":41,"tag":192,"props":2223,"children":2224},{"class":485,"line":1683},[2225],{"type":41,"tag":192,"props":2226,"children":2227},{},[2228],{"type":47,"value":689},{"type":41,"tag":192,"props":2230,"children":2231},{"class":485,"line":1692},[2232],{"type":41,"tag":192,"props":2233,"children":2234},{},[2235],{"type":47,"value":2236},"      internalAccountId\n",{"type":41,"tag":192,"props":2238,"children":2239},{"class":485,"line":1701},[2240],{"type":41,"tag":192,"props":2241,"children":2242},{},[2243],{"type":47,"value":2244},"      tx {\n",{"type":41,"tag":192,"props":2246,"children":2247},{"class":485,"line":1710},[2248],{"type":41,"tag":192,"props":2249,"children":2250},{},[2251],{"type":47,"value":2252},"        identifier\n",{"type":41,"tag":192,"props":2254,"children":2255},{"class":485,"line":1719},[2256],{"type":41,"tag":192,"props":2257,"children":2258},{},[2259],{"type":47,"value":2260},"        timestamp\n",{"type":41,"tag":192,"props":2262,"children":2263},{"class":485,"line":1728},[2264],{"type":41,"tag":192,"props":2265,"children":2266},{},[2267],{"type":47,"value":689},{"type":41,"tag":192,"props":2269,"children":2270},{"class":485,"line":1737},[2271],{"type":41,"tag":192,"props":2272,"children":2273},{},[2274],{"type":47,"value":2275},"      subTx {\n",{"type":41,"tag":192,"props":2277,"children":2278},{"class":485,"line":1746},[2279],{"type":41,"tag":192,"props":2280,"children":2281},{},[2282],{"type":47,"value":2177},{"type":41,"tag":192,"props":2284,"children":2285},{"class":485,"line":1754},[2286],{"type":41,"tag":192,"props":2287,"children":2288},{},[2289],{"type":47,"value":2290},"        amount\n",{"type":41,"tag":192,"props":2292,"children":2293},{"class":485,"line":1762},[2294],{"type":41,"tag":192,"props":2295,"children":2296},{},[2297],{"type":47,"value":689},{"type":41,"tag":192,"props":2299,"children":2300},{"class":485,"line":1770},[2301],{"type":41,"tag":192,"props":2302,"children":2303},{},[2304],{"type":47,"value":707},{"type":41,"tag":192,"props":2306,"children":2308},{"class":485,"line":2307},29,[2309],{"type":41,"tag":192,"props":2310,"children":2311},{},[2312],{"type":47,"value":546},{"type":41,"tag":192,"props":2314,"children":2316},{"class":485,"line":2315},30,[2317],{"type":41,"tag":192,"props":2318,"children":2319},{},[2320],{"type":47,"value":555},{"type":41,"tag":1420,"props":2322,"children":2324},{"id":2323},"filter-options",[2325],{"type":47,"value":2326},"Filter options",{"type":41,"tag":50,"props":2328,"children":2329},{},[2330,2334,2336,2341],{"type":41,"tag":86,"props":2331,"children":2332},{},[2333],{"type":47,"value":1496},{"type":47,"value":2335},": Filter values must be ",{"type":41,"tag":86,"props":2337,"children":2338},{},[2339],{"type":47,"value":2340},"lowercase",{"type":47,"value":2342}," — the API uses DB-stored values.",{"type":41,"tag":771,"props":2344,"children":2345},{},[2346,2377],{"type":41,"tag":157,"props":2347,"children":2348},{},[2349,2355,2357,2363,2364,2370,2371],{"type":41,"tag":72,"props":2350,"children":2352},{"className":2351},[],[2353],{"type":47,"value":2354},"severity",{"type":47,"value":2356},": ",{"type":41,"tag":72,"props":2358,"children":2360},{"className":2359},[],[2361],{"type":47,"value":2362},"\"high\"",{"type":47,"value":572},{"type":41,"tag":72,"props":2365,"children":2367},{"className":2366},[],[2368],{"type":47,"value":2369},"\"medium\"",{"type":47,"value":572},{"type":41,"tag":72,"props":2372,"children":2374},{"className":2373},[],[2375],{"type":47,"value":2376},"\"low\"",{"type":41,"tag":157,"props":2378,"children":2379},{},[2380,2382,2387,2389,2395,2397,2402],{"type":47,"value":2381},"Do ",{"type":41,"tag":86,"props":2383,"children":2384},{},[2385],{"type":47,"value":2386},"NOT",{"type":47,"value":2388}," filter by ",{"type":41,"tag":72,"props":2390,"children":2392},{"className":2391},[],[2393],{"type":47,"value":2394},"type",{"type":47,"value":2396}," directly in the query — instead, fetch all issues\nand filter\u002Fgroup in the presentation. The ",{"type":41,"tag":72,"props":2398,"children":2400},{"className":2399},[],[2401],{"type":47,"value":2394},{"type":47,"value":2403}," filter uses internal DB values\nthat may not match the display names.",{"type":41,"tag":1420,"props":2405,"children":2407},{"id":2406},"actual-issue-types-returned",[2408],{"type":47,"value":2409},"Actual issue types returned",{"type":41,"tag":50,"props":2411,"children":2412},{},[2413,2415,2420],{"type":47,"value":2414},"The ",{"type":41,"tag":72,"props":2416,"children":2418},{"className":2417},[],[2419],{"type":47,"value":2394},{"type":47,"value":2421}," field returns lowercase strings like:",{"type":41,"tag":771,"props":2423,"children":2424},{},[2425,2435,2446,2457,2468,2479],{"type":41,"tag":157,"props":2426,"children":2427},{},[2428,2433],{"type":41,"tag":72,"props":2429,"children":2431},{"className":2430},[],[2432],{"type":47,"value":2028},{"type":47,"value":2434}," — Sub-transaction has no fiat price. Affects cost basis accuracy.\nCan be resolved with bulk fiat edit (Section G).",{"type":41,"tag":157,"props":2436,"children":2437},{},[2438,2444],{"type":41,"tag":72,"props":2439,"children":2441},{"className":2440},[],[2442],{"type":47,"value":2443},"negative_balance",{"type":47,"value":2445}," — Inventory went below zero (more sold than acquired). Usually\nmeans missing inflow transactions.",{"type":41,"tag":157,"props":2447,"children":2448},{},[2449,2455],{"type":41,"tag":72,"props":2450,"children":2452},{"className":2451},[],[2453],{"type":47,"value":2454},"result_was_rounded",{"type":47,"value":2456}," — Minor rounding occurred during calculation. Low severity.",{"type":41,"tag":157,"props":2458,"children":2459},{},[2460,2466],{"type":41,"tag":72,"props":2461,"children":2463},{"className":2462},[],[2464],{"type":47,"value":2465},"ignored",{"type":47,"value":2467}," — Sub-transaction was skipped (e.g. internal transfer to same account).",{"type":41,"tag":157,"props":2469,"children":2470},{},[2471,2477],{"type":41,"tag":72,"props":2472,"children":2474},{"className":2473},[],[2475],{"type":47,"value":2476},"no_opposite_tx",{"type":47,"value":2478}," — Internal transfer has no matching counterpart.",{"type":41,"tag":157,"props":2480,"children":2481},{},[2482,2488],{"type":41,"tag":72,"props":2483,"children":2485},{"className":2484},[],[2486],{"type":47,"value":2487},"circular_internal_sbxs",{"type":47,"value":2489}," — Circular dependency in internal transfer matching.",{"type":41,"tag":50,"props":2491,"children":2492},{},[2493,2495,2500,2502,2507],{"type":47,"value":2494},"Group results by severity and present HIGH issues first. The most common pattern\nis a handful of HIGH severity ",{"type":41,"tag":72,"props":2496,"children":2498},{"className":2497},[],[2499],{"type":47,"value":2028},{"type":47,"value":2501}," issues plus many LOW severity\n",{"type":41,"tag":72,"props":2503,"children":2505},{"className":2504},[],[2506],{"type":47,"value":2454},{"type":47,"value":2508}," issues — summarize the LOW ones as a count rather than\nlisting each individually.",{"type":41,"tag":56,"props":2510,"children":2511},{},[],{"type":41,"tag":60,"props":2513,"children":2515},{"id":2514},"g-fix-missing-fiat-values",[2516],{"type":47,"value":2517},"G. Fix missing fiat values",{"type":41,"tag":50,"props":2519,"children":2520},{},[2521],{"type":47,"value":2522},"This is a two-part flow: first look up historical prices, then apply them.",{"type":41,"tag":1420,"props":2524,"children":2526},{"id":2525},"g1-look-up-historical-token-prices",[2527],{"type":47,"value":2528},"G.1 — Look up historical token prices",{"type":41,"tag":50,"props":2530,"children":2531},{},[2532],{"type":47,"value":2533},"Use the TRES MCP pricing queries to fetch historical prices for tokens with\nmissing fiat values. This uses the platform's pricing engine which aggregates\nfrom CoinGecko, CoinMarketCap, exchanges, and other sources.",{"type":41,"tag":50,"props":2535,"children":2536},{},[2537],{"type":41,"tag":86,"props":2538,"children":2539},{},[2540],{"type":47,"value":2541},"For a single asset at a specific timestamp:",{"type":41,"tag":473,"props":2543,"children":2545},{"className":475,"code":2544,"language":477,"meta":478,"style":478},"query GetStatelessPricing(\n  $platform: Platform!,\n  $assetIdentifier: String!,\n  $currencies: [Currency]!,\n  $timestamp: DateTime\n) {\n  getStatelessPricing(\n    platform: $platform,\n    assetIdentifier: $assetIdentifier,\n    currencies: $currencies,\n    timestamp: $timestamp\n  ) {\n    prices\n    assetClassId\n    symbol\n  }\n}\n",[2546],{"type":41,"tag":72,"props":2547,"children":2548},{"__ignoreMap":478},[2549,2557,2565,2573,2581,2589,2596,2604,2612,2620,2628,2636,2643,2651,2659,2667,2674],{"type":41,"tag":192,"props":2550,"children":2551},{"class":485,"line":486},[2552],{"type":41,"tag":192,"props":2553,"children":2554},{},[2555],{"type":47,"value":2556},"query GetStatelessPricing(\n",{"type":41,"tag":192,"props":2558,"children":2559},{"class":485,"line":495},[2560],{"type":41,"tag":192,"props":2561,"children":2562},{},[2563],{"type":47,"value":2564},"  $platform: Platform!,\n",{"type":41,"tag":192,"props":2566,"children":2567},{"class":485,"line":504},[2568],{"type":41,"tag":192,"props":2569,"children":2570},{},[2571],{"type":47,"value":2572},"  $assetIdentifier: String!,\n",{"type":41,"tag":192,"props":2574,"children":2575},{"class":485,"line":513},[2576],{"type":41,"tag":192,"props":2577,"children":2578},{},[2579],{"type":47,"value":2580},"  $currencies: [Currency]!,\n",{"type":41,"tag":192,"props":2582,"children":2583},{"class":485,"line":522},[2584],{"type":41,"tag":192,"props":2585,"children":2586},{},[2587],{"type":47,"value":2588},"  $timestamp: DateTime\n",{"type":41,"tag":192,"props":2590,"children":2591},{"class":485,"line":531},[2592],{"type":41,"tag":192,"props":2593,"children":2594},{},[2595],{"type":47,"value":889},{"type":41,"tag":192,"props":2597,"children":2598},{"class":485,"line":540},[2599],{"type":41,"tag":192,"props":2600,"children":2601},{},[2602],{"type":47,"value":2603},"  getStatelessPricing(\n",{"type":41,"tag":192,"props":2605,"children":2606},{"class":485,"line":549},[2607],{"type":41,"tag":192,"props":2608,"children":2609},{},[2610],{"type":47,"value":2611},"    platform: $platform,\n",{"type":41,"tag":192,"props":2613,"children":2614},{"class":485,"line":692},[2615],{"type":41,"tag":192,"props":2616,"children":2617},{},[2618],{"type":47,"value":2619},"    assetIdentifier: $assetIdentifier,\n",{"type":41,"tag":192,"props":2621,"children":2622},{"class":485,"line":701},[2623],{"type":41,"tag":192,"props":2624,"children":2625},{},[2626],{"type":47,"value":2627},"    currencies: $currencies,\n",{"type":41,"tag":192,"props":2629,"children":2630},{"class":485,"line":710},[2631],{"type":41,"tag":192,"props":2632,"children":2633},{},[2634],{"type":47,"value":2635},"    timestamp: $timestamp\n",{"type":41,"tag":192,"props":2637,"children":2638},{"class":485,"line":718},[2639],{"type":41,"tag":192,"props":2640,"children":2641},{},[2642],{"type":47,"value":921},{"type":41,"tag":192,"props":2644,"children":2645},{"class":485,"line":1638},[2646],{"type":41,"tag":192,"props":2647,"children":2648},{},[2649],{"type":47,"value":2650},"    prices\n",{"type":41,"tag":192,"props":2652,"children":2653},{"class":485,"line":1647},[2654],{"type":41,"tag":192,"props":2655,"children":2656},{},[2657],{"type":47,"value":2658},"    assetClassId\n",{"type":41,"tag":192,"props":2660,"children":2661},{"class":485,"line":1656},[2662],{"type":41,"tag":192,"props":2663,"children":2664},{},[2665],{"type":47,"value":2666},"    symbol\n",{"type":41,"tag":192,"props":2668,"children":2669},{"class":485,"line":1665},[2670],{"type":41,"tag":192,"props":2671,"children":2672},{},[2673],{"type":47,"value":546},{"type":41,"tag":192,"props":2675,"children":2676},{"class":485,"line":1674},[2677],{"type":41,"tag":192,"props":2678,"children":2679},{},[2680],{"type":47,"value":555},{"type":41,"tag":50,"props":2682,"children":2683},{},[2684],{"type":47,"value":956},{"type":41,"tag":473,"props":2686,"children":2688},{"className":959,"code":2687,"language":961,"meta":478,"style":478},"{\n  \"platform\": \"ETHEREUM\",\n  \"assetIdentifier\": \"0x...contractAddress\",\n  \"currencies\": [\"USD\"],\n  \"timestamp\": \"2020-11-24T09:01:26Z\"\n}\n",[2689],{"type":41,"tag":72,"props":2690,"children":2691},{"__ignoreMap":478},[2692,2699,2736,2773,2816,2849],{"type":41,"tag":192,"props":2693,"children":2694},{"class":485,"line":486},[2695],{"type":41,"tag":192,"props":2696,"children":2697},{"style":971},[2698],{"type":47,"value":974},{"type":41,"tag":192,"props":2700,"children":2701},{"class":485,"line":495},[2702,2706,2711,2715,2719,2723,2728,2732],{"type":41,"tag":192,"props":2703,"children":2704},{"style":971},[2705],{"type":47,"value":982},{"type":41,"tag":192,"props":2707,"children":2708},{"style":985},[2709],{"type":47,"value":2710},"platform",{"type":41,"tag":192,"props":2712,"children":2713},{"style":971},[2714],{"type":47,"value":992},{"type":41,"tag":192,"props":2716,"children":2717},{"style":971},[2718],{"type":47,"value":997},{"type":41,"tag":192,"props":2720,"children":2721},{"style":971},[2722],{"type":47,"value":1002},{"type":41,"tag":192,"props":2724,"children":2725},{"style":1005},[2726],{"type":47,"value":2727},"ETHEREUM",{"type":41,"tag":192,"props":2729,"children":2730},{"style":971},[2731],{"type":47,"value":992},{"type":41,"tag":192,"props":2733,"children":2734},{"style":971},[2735],{"type":47,"value":1016},{"type":41,"tag":192,"props":2737,"children":2738},{"class":485,"line":504},[2739,2743,2748,2752,2756,2760,2765,2769],{"type":41,"tag":192,"props":2740,"children":2741},{"style":971},[2742],{"type":47,"value":982},{"type":41,"tag":192,"props":2744,"children":2745},{"style":985},[2746],{"type":47,"value":2747},"assetIdentifier",{"type":41,"tag":192,"props":2749,"children":2750},{"style":971},[2751],{"type":47,"value":992},{"type":41,"tag":192,"props":2753,"children":2754},{"style":971},[2755],{"type":47,"value":997},{"type":41,"tag":192,"props":2757,"children":2758},{"style":971},[2759],{"type":47,"value":1002},{"type":41,"tag":192,"props":2761,"children":2762},{"style":1005},[2763],{"type":47,"value":2764},"0x...contractAddress",{"type":41,"tag":192,"props":2766,"children":2767},{"style":971},[2768],{"type":47,"value":992},{"type":41,"tag":192,"props":2770,"children":2771},{"style":971},[2772],{"type":47,"value":1016},{"type":41,"tag":192,"props":2774,"children":2775},{"class":485,"line":513},[2776,2780,2785,2789,2793,2798,2802,2807,2811],{"type":41,"tag":192,"props":2777,"children":2778},{"style":971},[2779],{"type":47,"value":982},{"type":41,"tag":192,"props":2781,"children":2782},{"style":985},[2783],{"type":47,"value":2784},"currencies",{"type":41,"tag":192,"props":2786,"children":2787},{"style":971},[2788],{"type":47,"value":992},{"type":41,"tag":192,"props":2790,"children":2791},{"style":971},[2792],{"type":47,"value":997},{"type":41,"tag":192,"props":2794,"children":2795},{"style":971},[2796],{"type":47,"value":2797}," [",{"type":41,"tag":192,"props":2799,"children":2800},{"style":971},[2801],{"type":47,"value":992},{"type":41,"tag":192,"props":2803,"children":2804},{"style":1005},[2805],{"type":47,"value":2806},"USD",{"type":41,"tag":192,"props":2808,"children":2809},{"style":971},[2810],{"type":47,"value":992},{"type":41,"tag":192,"props":2812,"children":2813},{"style":971},[2814],{"type":47,"value":2815},"],\n",{"type":41,"tag":192,"props":2817,"children":2818},{"class":485,"line":522},[2819,2823,2828,2832,2836,2840,2845],{"type":41,"tag":192,"props":2820,"children":2821},{"style":971},[2822],{"type":47,"value":982},{"type":41,"tag":192,"props":2824,"children":2825},{"style":985},[2826],{"type":47,"value":2827},"timestamp",{"type":41,"tag":192,"props":2829,"children":2830},{"style":971},[2831],{"type":47,"value":992},{"type":41,"tag":192,"props":2833,"children":2834},{"style":971},[2835],{"type":47,"value":997},{"type":41,"tag":192,"props":2837,"children":2838},{"style":971},[2839],{"type":47,"value":1002},{"type":41,"tag":192,"props":2841,"children":2842},{"style":1005},[2843],{"type":47,"value":2844},"2020-11-24T09:01:26Z",{"type":41,"tag":192,"props":2846,"children":2847},{"style":971},[2848],{"type":47,"value":1157},{"type":41,"tag":192,"props":2850,"children":2851},{"class":485,"line":531},[2852],{"type":41,"tag":192,"props":2853,"children":2854},{"style":971},[2855],{"type":47,"value":555},{"type":41,"tag":50,"props":2857,"children":2858},{},[2859],{"type":41,"tag":86,"props":2860,"children":2861},{},[2862],{"type":47,"value":2863},"For multiple assets at once (by asset class ID):",{"type":41,"tag":473,"props":2865,"children":2867},{"className":475,"code":2866,"language":477,"meta":478,"style":478},"query GetBatchPricing($requests: [GetBatchPricesByAssetClassRequest]!) {\n  getBatchStatelessPricingByAssetClass(requests: $requests) {\n    prices\n    assetClassId\n    symbol\n  }\n}\n",[2868],{"type":41,"tag":72,"props":2869,"children":2870},{"__ignoreMap":478},[2871,2879,2887,2894,2901,2908,2915],{"type":41,"tag":192,"props":2872,"children":2873},{"class":485,"line":486},[2874],{"type":41,"tag":192,"props":2875,"children":2876},{},[2877],{"type":47,"value":2878},"query GetBatchPricing($requests: [GetBatchPricesByAssetClassRequest]!) {\n",{"type":41,"tag":192,"props":2880,"children":2881},{"class":485,"line":495},[2882],{"type":41,"tag":192,"props":2883,"children":2884},{},[2885],{"type":47,"value":2886},"  getBatchStatelessPricingByAssetClass(requests: $requests) {\n",{"type":41,"tag":192,"props":2888,"children":2889},{"class":485,"line":504},[2890],{"type":41,"tag":192,"props":2891,"children":2892},{},[2893],{"type":47,"value":2650},{"type":41,"tag":192,"props":2895,"children":2896},{"class":485,"line":513},[2897],{"type":41,"tag":192,"props":2898,"children":2899},{},[2900],{"type":47,"value":2658},{"type":41,"tag":192,"props":2902,"children":2903},{"class":485,"line":522},[2904],{"type":41,"tag":192,"props":2905,"children":2906},{},[2907],{"type":47,"value":2666},{"type":41,"tag":192,"props":2909,"children":2910},{"class":485,"line":531},[2911],{"type":41,"tag":192,"props":2912,"children":2913},{},[2914],{"type":47,"value":546},{"type":41,"tag":192,"props":2916,"children":2917},{"class":485,"line":540},[2918],{"type":41,"tag":192,"props":2919,"children":2920},{},[2921],{"type":47,"value":555},{"type":41,"tag":50,"props":2923,"children":2924},{},[2925],{"type":47,"value":956},{"type":41,"tag":473,"props":2927,"children":2929},{"className":959,"code":2928,"language":961,"meta":478,"style":478},"{\n  \"requests\": [\n    {\n      \"assetClass\": \"4272\",\n      \"currencies\": [\"USD\"],\n      \"timestamp\": \"2018-06-18T19:13:45Z\"\n    },\n    {\n      \"assetClass\": \"4272\",\n      \"currencies\": [\"USD\"],\n      \"timestamp\": \"2020-11-24T09:01:26Z\"\n    },\n    {\n      \"assetClass\": \"9082\",\n      \"currencies\": [\"USD\"],\n      \"timestamp\": \"2020-11-27T20:06:54Z\"\n    }\n  ]\n}\n",[2930],{"type":41,"tag":72,"props":2931,"children":2932},{"__ignoreMap":478},[2933,2940,2964,2971,3007,3046,3078,3086,3093,3128,3167,3198,3205,3212,3248,3287,3319,3326,3333],{"type":41,"tag":192,"props":2934,"children":2935},{"class":485,"line":486},[2936],{"type":41,"tag":192,"props":2937,"children":2938},{"style":971},[2939],{"type":47,"value":974},{"type":41,"tag":192,"props":2941,"children":2942},{"class":485,"line":495},[2943,2947,2952,2956,2960],{"type":41,"tag":192,"props":2944,"children":2945},{"style":971},[2946],{"type":47,"value":982},{"type":41,"tag":192,"props":2948,"children":2949},{"style":985},[2950],{"type":47,"value":2951},"requests",{"type":41,"tag":192,"props":2953,"children":2954},{"style":971},[2955],{"type":47,"value":992},{"type":41,"tag":192,"props":2957,"children":2958},{"style":971},[2959],{"type":47,"value":997},{"type":41,"tag":192,"props":2961,"children":2962},{"style":971},[2963],{"type":47,"value":1040},{"type":41,"tag":192,"props":2965,"children":2966},{"class":485,"line":504},[2967],{"type":41,"tag":192,"props":2968,"children":2969},{"style":971},[2970],{"type":47,"value":1048},{"type":41,"tag":192,"props":2972,"children":2973},{"class":485,"line":513},[2974,2978,2982,2986,2990,2994,2999,3003],{"type":41,"tag":192,"props":2975,"children":2976},{"style":971},[2977],{"type":47,"value":1056},{"type":41,"tag":192,"props":2979,"children":2980},{"style":1059},[2981],{"type":47,"value":1371},{"type":41,"tag":192,"props":2983,"children":2984},{"style":971},[2985],{"type":47,"value":992},{"type":41,"tag":192,"props":2987,"children":2988},{"style":971},[2989],{"type":47,"value":997},{"type":41,"tag":192,"props":2991,"children":2992},{"style":971},[2993],{"type":47,"value":1002},{"type":41,"tag":192,"props":2995,"children":2996},{"style":1005},[2997],{"type":47,"value":2998},"4272",{"type":41,"tag":192,"props":3000,"children":3001},{"style":971},[3002],{"type":47,"value":992},{"type":41,"tag":192,"props":3004,"children":3005},{"style":971},[3006],{"type":47,"value":1016},{"type":41,"tag":192,"props":3008,"children":3009},{"class":485,"line":522},[3010,3014,3018,3022,3026,3030,3034,3038,3042],{"type":41,"tag":192,"props":3011,"children":3012},{"style":971},[3013],{"type":47,"value":1056},{"type":41,"tag":192,"props":3015,"children":3016},{"style":1059},[3017],{"type":47,"value":2784},{"type":41,"tag":192,"props":3019,"children":3020},{"style":971},[3021],{"type":47,"value":992},{"type":41,"tag":192,"props":3023,"children":3024},{"style":971},[3025],{"type":47,"value":997},{"type":41,"tag":192,"props":3027,"children":3028},{"style":971},[3029],{"type":47,"value":2797},{"type":41,"tag":192,"props":3031,"children":3032},{"style":971},[3033],{"type":47,"value":992},{"type":41,"tag":192,"props":3035,"children":3036},{"style":1005},[3037],{"type":47,"value":2806},{"type":41,"tag":192,"props":3039,"children":3040},{"style":971},[3041],{"type":47,"value":992},{"type":41,"tag":192,"props":3043,"children":3044},{"style":971},[3045],{"type":47,"value":2815},{"type":41,"tag":192,"props":3047,"children":3048},{"class":485,"line":531},[3049,3053,3057,3061,3065,3069,3074],{"type":41,"tag":192,"props":3050,"children":3051},{"style":971},[3052],{"type":47,"value":1056},{"type":41,"tag":192,"props":3054,"children":3055},{"style":1059},[3056],{"type":47,"value":2827},{"type":41,"tag":192,"props":3058,"children":3059},{"style":971},[3060],{"type":47,"value":992},{"type":41,"tag":192,"props":3062,"children":3063},{"style":971},[3064],{"type":47,"value":997},{"type":41,"tag":192,"props":3066,"children":3067},{"style":971},[3068],{"type":47,"value":1002},{"type":41,"tag":192,"props":3070,"children":3071},{"style":1005},[3072],{"type":47,"value":3073},"2018-06-18T19:13:45Z",{"type":41,"tag":192,"props":3075,"children":3076},{"style":971},[3077],{"type":47,"value":1157},{"type":41,"tag":192,"props":3079,"children":3080},{"class":485,"line":540},[3081],{"type":41,"tag":192,"props":3082,"children":3083},{"style":971},[3084],{"type":47,"value":3085},"    },\n",{"type":41,"tag":192,"props":3087,"children":3088},{"class":485,"line":549},[3089],{"type":41,"tag":192,"props":3090,"children":3091},{"style":971},[3092],{"type":47,"value":1048},{"type":41,"tag":192,"props":3094,"children":3095},{"class":485,"line":692},[3096,3100,3104,3108,3112,3116,3120,3124],{"type":41,"tag":192,"props":3097,"children":3098},{"style":971},[3099],{"type":47,"value":1056},{"type":41,"tag":192,"props":3101,"children":3102},{"style":1059},[3103],{"type":47,"value":1371},{"type":41,"tag":192,"props":3105,"children":3106},{"style":971},[3107],{"type":47,"value":992},{"type":41,"tag":192,"props":3109,"children":3110},{"style":971},[3111],{"type":47,"value":997},{"type":41,"tag":192,"props":3113,"children":3114},{"style":971},[3115],{"type":47,"value":1002},{"type":41,"tag":192,"props":3117,"children":3118},{"style":1005},[3119],{"type":47,"value":2998},{"type":41,"tag":192,"props":3121,"children":3122},{"style":971},[3123],{"type":47,"value":992},{"type":41,"tag":192,"props":3125,"children":3126},{"style":971},[3127],{"type":47,"value":1016},{"type":41,"tag":192,"props":3129,"children":3130},{"class":485,"line":701},[3131,3135,3139,3143,3147,3151,3155,3159,3163],{"type":41,"tag":192,"props":3132,"children":3133},{"style":971},[3134],{"type":47,"value":1056},{"type":41,"tag":192,"props":3136,"children":3137},{"style":1059},[3138],{"type":47,"value":2784},{"type":41,"tag":192,"props":3140,"children":3141},{"style":971},[3142],{"type":47,"value":992},{"type":41,"tag":192,"props":3144,"children":3145},{"style":971},[3146],{"type":47,"value":997},{"type":41,"tag":192,"props":3148,"children":3149},{"style":971},[3150],{"type":47,"value":2797},{"type":41,"tag":192,"props":3152,"children":3153},{"style":971},[3154],{"type":47,"value":992},{"type":41,"tag":192,"props":3156,"children":3157},{"style":1005},[3158],{"type":47,"value":2806},{"type":41,"tag":192,"props":3160,"children":3161},{"style":971},[3162],{"type":47,"value":992},{"type":41,"tag":192,"props":3164,"children":3165},{"style":971},[3166],{"type":47,"value":2815},{"type":41,"tag":192,"props":3168,"children":3169},{"class":485,"line":710},[3170,3174,3178,3182,3186,3190,3194],{"type":41,"tag":192,"props":3171,"children":3172},{"style":971},[3173],{"type":47,"value":1056},{"type":41,"tag":192,"props":3175,"children":3176},{"style":1059},[3177],{"type":47,"value":2827},{"type":41,"tag":192,"props":3179,"children":3180},{"style":971},[3181],{"type":47,"value":992},{"type":41,"tag":192,"props":3183,"children":3184},{"style":971},[3185],{"type":47,"value":997},{"type":41,"tag":192,"props":3187,"children":3188},{"style":971},[3189],{"type":47,"value":1002},{"type":41,"tag":192,"props":3191,"children":3192},{"style":1005},[3193],{"type":47,"value":2844},{"type":41,"tag":192,"props":3195,"children":3196},{"style":971},[3197],{"type":47,"value":1157},{"type":41,"tag":192,"props":3199,"children":3200},{"class":485,"line":718},[3201],{"type":41,"tag":192,"props":3202,"children":3203},{"style":971},[3204],{"type":47,"value":3085},{"type":41,"tag":192,"props":3206,"children":3207},{"class":485,"line":1638},[3208],{"type":41,"tag":192,"props":3209,"children":3210},{"style":971},[3211],{"type":47,"value":1048},{"type":41,"tag":192,"props":3213,"children":3214},{"class":485,"line":1647},[3215,3219,3223,3227,3231,3235,3240,3244],{"type":41,"tag":192,"props":3216,"children":3217},{"style":971},[3218],{"type":47,"value":1056},{"type":41,"tag":192,"props":3220,"children":3221},{"style":1059},[3222],{"type":47,"value":1371},{"type":41,"tag":192,"props":3224,"children":3225},{"style":971},[3226],{"type":47,"value":992},{"type":41,"tag":192,"props":3228,"children":3229},{"style":971},[3230],{"type":47,"value":997},{"type":41,"tag":192,"props":3232,"children":3233},{"style":971},[3234],{"type":47,"value":1002},{"type":41,"tag":192,"props":3236,"children":3237},{"style":1005},[3238],{"type":47,"value":3239},"9082",{"type":41,"tag":192,"props":3241,"children":3242},{"style":971},[3243],{"type":47,"value":992},{"type":41,"tag":192,"props":3245,"children":3246},{"style":971},[3247],{"type":47,"value":1016},{"type":41,"tag":192,"props":3249,"children":3250},{"class":485,"line":1656},[3251,3255,3259,3263,3267,3271,3275,3279,3283],{"type":41,"tag":192,"props":3252,"children":3253},{"style":971},[3254],{"type":47,"value":1056},{"type":41,"tag":192,"props":3256,"children":3257},{"style":1059},[3258],{"type":47,"value":2784},{"type":41,"tag":192,"props":3260,"children":3261},{"style":971},[3262],{"type":47,"value":992},{"type":41,"tag":192,"props":3264,"children":3265},{"style":971},[3266],{"type":47,"value":997},{"type":41,"tag":192,"props":3268,"children":3269},{"style":971},[3270],{"type":47,"value":2797},{"type":41,"tag":192,"props":3272,"children":3273},{"style":971},[3274],{"type":47,"value":992},{"type":41,"tag":192,"props":3276,"children":3277},{"style":1005},[3278],{"type":47,"value":2806},{"type":41,"tag":192,"props":3280,"children":3281},{"style":971},[3282],{"type":47,"value":992},{"type":41,"tag":192,"props":3284,"children":3285},{"style":971},[3286],{"type":47,"value":2815},{"type":41,"tag":192,"props":3288,"children":3289},{"class":485,"line":1665},[3290,3294,3298,3302,3306,3310,3315],{"type":41,"tag":192,"props":3291,"children":3292},{"style":971},[3293],{"type":47,"value":1056},{"type":41,"tag":192,"props":3295,"children":3296},{"style":1059},[3297],{"type":47,"value":2827},{"type":41,"tag":192,"props":3299,"children":3300},{"style":971},[3301],{"type":47,"value":992},{"type":41,"tag":192,"props":3303,"children":3304},{"style":971},[3305],{"type":47,"value":997},{"type":41,"tag":192,"props":3307,"children":3308},{"style":971},[3309],{"type":47,"value":1002},{"type":41,"tag":192,"props":3311,"children":3312},{"style":1005},[3313],{"type":47,"value":3314},"2020-11-27T20:06:54Z",{"type":41,"tag":192,"props":3316,"children":3317},{"style":971},[3318],{"type":47,"value":1157},{"type":41,"tag":192,"props":3320,"children":3321},{"class":485,"line":1674},[3322],{"type":41,"tag":192,"props":3323,"children":3324},{"style":971},[3325],{"type":47,"value":707},{"type":41,"tag":192,"props":3327,"children":3328},{"class":485,"line":1683},[3329],{"type":41,"tag":192,"props":3330,"children":3331},{"style":971},[3332],{"type":47,"value":1172},{"type":41,"tag":192,"props":3334,"children":3335},{"class":485,"line":1692},[3336],{"type":41,"tag":192,"props":3337,"children":3338},{"style":971},[3339],{"type":47,"value":555},{"type":41,"tag":50,"props":3341,"children":3342},{},[3343,3344,3350,3352,3358],{"type":47,"value":2414},{"type":41,"tag":72,"props":3345,"children":3347},{"className":3346},[],[3348],{"type":47,"value":3349},"prices",{"type":47,"value":3351}," field returns a JSON object like ",{"type":41,"tag":72,"props":3353,"children":3355},{"className":3354},[],[3356],{"type":47,"value":3357},"{\"usd\": 0.015}",{"type":47,"value":433},{"type":41,"tag":50,"props":3360,"children":3361},{},[3362],{"type":41,"tag":86,"props":3363,"children":3364},{},[3365],{"type":47,"value":3366},"How to use this in the missing fiat flow:",{"type":41,"tag":153,"props":3368,"children":3369},{},[3370,3397,3409,3445],{"type":41,"tag":157,"props":3371,"children":3372},{},[3373,3375,3380,3382,3388,3390,3396],{"type":47,"value":3374},"From the financial issues (Section F), collect each ",{"type":41,"tag":72,"props":3376,"children":3378},{"className":3377},[],[3379],{"type":47,"value":2028},{"type":47,"value":3381}," issue's\n",{"type":41,"tag":72,"props":3383,"children":3385},{"className":3384},[],[3386],{"type":47,"value":3387},"assetClass.id",{"type":47,"value":3389}," and ",{"type":41,"tag":72,"props":3391,"children":3393},{"className":3392},[],[3394],{"type":47,"value":3395},"tx.timestamp",{"type":47,"value":433},{"type":41,"tag":157,"props":3398,"children":3399},{},[3400,3401,3407],{"type":47,"value":122},{"type":41,"tag":72,"props":3402,"children":3404},{"className":3403},[],[3405],{"type":47,"value":3406},"getBatchStatelessPricingByAssetClass",{"type":47,"value":3408}," with one request per issue.",{"type":41,"tag":157,"props":3410,"children":3411},{},[3412,3414],{"type":47,"value":3413},"Present the results to the user:\n",{"type":41,"tag":183,"props":3415,"children":3416},{},[3417,3422,3440],{"type":41,"tag":50,"props":3418,"children":3419},{},[3420],{"type":47,"value":3421},"\"I found historical prices for the missing fiat transactions:",{"type":41,"tag":771,"props":3423,"children":3424},{},[3425,3430,3435],{"type":41,"tag":157,"props":3426,"children":3427},{},[3428],{"type":47,"value":3429},"CHSB on 2018-06-18: $0.015 per token",{"type":41,"tag":157,"props":3431,"children":3432},{},[3433],{"type":47,"value":3434},"CHSB on 2020-11-24: $0.085 per token",{"type":41,"tag":157,"props":3436,"children":3437},{},[3438],{"type":47,"value":3439},"vBUSD on 2020-11-27: $0.021 per token",{"type":41,"tag":50,"props":3441,"children":3442},{},[3443],{"type":47,"value":3444},"Would you like me to apply these prices?\"",{"type":41,"tag":157,"props":3446,"children":3447},{},[3448],{"type":47,"value":3449},"If the user confirms, apply them using Section G.2 (bulk fiat edit).",{"type":41,"tag":50,"props":3451,"children":3452},{},[3453,3458,3460,3466,3468,3474,3475,3481,3482,3488,3489,3495,3496,3502,3503,3509,3511,3516],{"type":41,"tag":86,"props":3454,"children":3455},{},[3456],{"type":47,"value":3457},"Pricing sources to try",{"type":47,"value":3459},": If the default source returns empty, try these\n",{"type":41,"tag":72,"props":3461,"children":3463},{"className":3462},[],[3464],{"type":47,"value":3465},"apiSource",{"type":47,"value":3467}," values in order: ",{"type":41,"tag":72,"props":3469,"children":3471},{"className":3470},[],[3472],{"type":47,"value":3473},"COINMARKETCAP",{"type":47,"value":572},{"type":41,"tag":72,"props":3476,"children":3478},{"className":3477},[],[3479],{"type":47,"value":3480},"CRYPTO_COMPARE",{"type":47,"value":572},{"type":41,"tag":72,"props":3483,"children":3485},{"className":3484},[],[3486],{"type":47,"value":3487},"REGULAR_FLOW",{"type":47,"value":1016},{"type":41,"tag":72,"props":3490,"children":3492},{"className":3491},[],[3493],{"type":47,"value":3494},"COINBASE",{"type":47,"value":572},{"type":41,"tag":72,"props":3497,"children":3499},{"className":3498},[],[3500],{"type":47,"value":3501},"BINANCE",{"type":47,"value":572},{"type":41,"tag":72,"props":3504,"children":3506},{"className":3505},[],[3507],{"type":47,"value":3508},"KRAKEN",{"type":47,"value":3510},". Pass the ",{"type":41,"tag":72,"props":3512,"children":3514},{"className":3513},[],[3515],{"type":47,"value":3465},{"type":47,"value":3517}," field in the request:",{"type":41,"tag":473,"props":3519,"children":3521},{"className":959,"code":3520,"language":961,"meta":478,"style":478},"{\n  \"requests\": [\n    { \"assetClass\": \"4272\", \"currencies\": [\"USD\"], \"timestamp\": \"2020-11-24T09:01:26Z\", \"apiSource\": \"COINMARKETCAP\" }\n  ]\n}\n",[3522],{"type":41,"tag":72,"props":3523,"children":3524},{"__ignoreMap":478},[3525,3532,3555,3698,3705],{"type":41,"tag":192,"props":3526,"children":3527},{"class":485,"line":486},[3528],{"type":41,"tag":192,"props":3529,"children":3530},{"style":971},[3531],{"type":47,"value":974},{"type":41,"tag":192,"props":3533,"children":3534},{"class":485,"line":495},[3535,3539,3543,3547,3551],{"type":41,"tag":192,"props":3536,"children":3537},{"style":971},[3538],{"type":47,"value":982},{"type":41,"tag":192,"props":3540,"children":3541},{"style":985},[3542],{"type":47,"value":2951},{"type":41,"tag":192,"props":3544,"children":3545},{"style":971},[3546],{"type":47,"value":992},{"type":41,"tag":192,"props":3548,"children":3549},{"style":971},[3550],{"type":47,"value":997},{"type":41,"tag":192,"props":3552,"children":3553},{"style":971},[3554],{"type":47,"value":1040},{"type":41,"tag":192,"props":3556,"children":3557},{"class":485,"line":504},[3558,3563,3567,3571,3575,3579,3583,3587,3591,3596,3600,3604,3608,3612,3616,3620,3624,3628,3633,3637,3641,3645,3649,3653,3657,3661,3665,3669,3673,3677,3681,3685,3689,3693],{"type":41,"tag":192,"props":3559,"children":3560},{"style":971},[3561],{"type":47,"value":3562},"    {",{"type":41,"tag":192,"props":3564,"children":3565},{"style":971},[3566],{"type":47,"value":1002},{"type":41,"tag":192,"props":3568,"children":3569},{"style":1059},[3570],{"type":47,"value":1371},{"type":41,"tag":192,"props":3572,"children":3573},{"style":971},[3574],{"type":47,"value":992},{"type":41,"tag":192,"props":3576,"children":3577},{"style":971},[3578],{"type":47,"value":997},{"type":41,"tag":192,"props":3580,"children":3581},{"style":971},[3582],{"type":47,"value":1002},{"type":41,"tag":192,"props":3584,"children":3585},{"style":1005},[3586],{"type":47,"value":2998},{"type":41,"tag":192,"props":3588,"children":3589},{"style":971},[3590],{"type":47,"value":992},{"type":41,"tag":192,"props":3592,"children":3593},{"style":971},[3594],{"type":47,"value":3595},",",{"type":41,"tag":192,"props":3597,"children":3598},{"style":971},[3599],{"type":47,"value":1002},{"type":41,"tag":192,"props":3601,"children":3602},{"style":1059},[3603],{"type":47,"value":2784},{"type":41,"tag":192,"props":3605,"children":3606},{"style":971},[3607],{"type":47,"value":992},{"type":41,"tag":192,"props":3609,"children":3610},{"style":971},[3611],{"type":47,"value":997},{"type":41,"tag":192,"props":3613,"children":3614},{"style":971},[3615],{"type":47,"value":2797},{"type":41,"tag":192,"props":3617,"children":3618},{"style":971},[3619],{"type":47,"value":992},{"type":41,"tag":192,"props":3621,"children":3622},{"style":1005},[3623],{"type":47,"value":2806},{"type":41,"tag":192,"props":3625,"children":3626},{"style":971},[3627],{"type":47,"value":992},{"type":41,"tag":192,"props":3629,"children":3630},{"style":971},[3631],{"type":47,"value":3632},"],",{"type":41,"tag":192,"props":3634,"children":3635},{"style":971},[3636],{"type":47,"value":1002},{"type":41,"tag":192,"props":3638,"children":3639},{"style":1059},[3640],{"type":47,"value":2827},{"type":41,"tag":192,"props":3642,"children":3643},{"style":971},[3644],{"type":47,"value":992},{"type":41,"tag":192,"props":3646,"children":3647},{"style":971},[3648],{"type":47,"value":997},{"type":41,"tag":192,"props":3650,"children":3651},{"style":971},[3652],{"type":47,"value":1002},{"type":41,"tag":192,"props":3654,"children":3655},{"style":1005},[3656],{"type":47,"value":2844},{"type":41,"tag":192,"props":3658,"children":3659},{"style":971},[3660],{"type":47,"value":992},{"type":41,"tag":192,"props":3662,"children":3663},{"style":971},[3664],{"type":47,"value":3595},{"type":41,"tag":192,"props":3666,"children":3667},{"style":971},[3668],{"type":47,"value":1002},{"type":41,"tag":192,"props":3670,"children":3671},{"style":1059},[3672],{"type":47,"value":3465},{"type":41,"tag":192,"props":3674,"children":3675},{"style":971},[3676],{"type":47,"value":992},{"type":41,"tag":192,"props":3678,"children":3679},{"style":971},[3680],{"type":47,"value":997},{"type":41,"tag":192,"props":3682,"children":3683},{"style":971},[3684],{"type":47,"value":1002},{"type":41,"tag":192,"props":3686,"children":3687},{"style":1005},[3688],{"type":47,"value":3473},{"type":41,"tag":192,"props":3690,"children":3691},{"style":971},[3692],{"type":47,"value":992},{"type":41,"tag":192,"props":3694,"children":3695},{"style":971},[3696],{"type":47,"value":3697}," }\n",{"type":41,"tag":192,"props":3699,"children":3700},{"class":485,"line":513},[3701],{"type":41,"tag":192,"props":3702,"children":3703},{"style":971},[3704],{"type":47,"value":1172},{"type":41,"tag":192,"props":3706,"children":3707},{"class":485,"line":522},[3708],{"type":41,"tag":192,"props":3709,"children":3710},{"style":971},[3711],{"type":47,"value":555},{"type":41,"tag":50,"props":3713,"children":3714},{},[3715,3719,3721,3727],{"type":41,"tag":86,"props":3716,"children":3717},{},[3718],{"type":47,"value":1496},{"type":47,"value":3720},": The pricing query returns ",{"type":41,"tag":72,"props":3722,"children":3724},{"className":3723},[],[3725],{"type":47,"value":3726},"prices: {}",{"type":47,"value":3728}," (empty object) when no\nprice data is available — this is common for obscure, delisted, or DeFi-wrapped\ntokens. Try multiple sources before giving up.",{"type":41,"tag":50,"props":3730,"children":3731},{},[3732],{"type":47,"value":3733},"If ALL pricing sources return empty for a token, inform the user and ask them\nto provide a manual price. Suggest approximate values if you know the token\n(e.g. BUSD-pegged tokens ≈ $1.00).",{"type":41,"tag":1420,"props":3735,"children":3737},{"id":3736},"g2-bulk-fiat-value-edit",[3738],{"type":47,"value":3739},"G.2 — Bulk fiat value edit",{"type":41,"tag":50,"props":3741,"children":3742},{},[3743],{"type":47,"value":3744},"Override fiat unit prices for an asset across a date range. Useful for fixing\nMISSING_FIAT issues or correcting OTC prices.",{"type":41,"tag":50,"props":3746,"children":3747},{},[3748,3753],{"type":41,"tag":86,"props":3749,"children":3750},{},[3751],{"type":47,"value":3752},"Always confirm parameters with the user before executing",{"type":47,"value":3754}," — this writes\nfiat values to potentially many sub-transactions.",{"type":41,"tag":473,"props":3756,"children":3758},{"className":475,"code":3757,"language":477,"meta":478,"style":478},"mutation BulkFiatEdit(\n  $assetClassId: Int!,\n  $currency: Currency!,\n  $startDate: Date!,\n  $endDate: Date!,\n  $unitPrice: Float!,\n  $updateExistingFiat: Boolean\n) {\n  bulkFiatEdit(\n    assetClassId: $assetClassId,\n    currency: $currency,\n    startDate: $startDate,\n    endDate: $endDate,\n    unitPrice: $unitPrice,\n    updateExistingFiat: $updateExistingFiat\n  ) {\n    success\n    message\n  }\n}\n",[3759],{"type":41,"tag":72,"props":3760,"children":3761},{"__ignoreMap":478},[3762,3770,3778,3786,3794,3802,3810,3818,3825,3833,3841,3849,3857,3865,3873,3881,3888,3895,3902,3909],{"type":41,"tag":192,"props":3763,"children":3764},{"class":485,"line":486},[3765],{"type":41,"tag":192,"props":3766,"children":3767},{},[3768],{"type":47,"value":3769},"mutation BulkFiatEdit(\n",{"type":41,"tag":192,"props":3771,"children":3772},{"class":485,"line":495},[3773],{"type":41,"tag":192,"props":3774,"children":3775},{},[3776],{"type":47,"value":3777},"  $assetClassId: Int!,\n",{"type":41,"tag":192,"props":3779,"children":3780},{"class":485,"line":504},[3781],{"type":41,"tag":192,"props":3782,"children":3783},{},[3784],{"type":47,"value":3785},"  $currency: Currency!,\n",{"type":41,"tag":192,"props":3787,"children":3788},{"class":485,"line":513},[3789],{"type":41,"tag":192,"props":3790,"children":3791},{},[3792],{"type":47,"value":3793},"  $startDate: Date!,\n",{"type":41,"tag":192,"props":3795,"children":3796},{"class":485,"line":522},[3797],{"type":41,"tag":192,"props":3798,"children":3799},{},[3800],{"type":47,"value":3801},"  $endDate: Date!,\n",{"type":41,"tag":192,"props":3803,"children":3804},{"class":485,"line":531},[3805],{"type":41,"tag":192,"props":3806,"children":3807},{},[3808],{"type":47,"value":3809},"  $unitPrice: Float!,\n",{"type":41,"tag":192,"props":3811,"children":3812},{"class":485,"line":540},[3813],{"type":41,"tag":192,"props":3814,"children":3815},{},[3816],{"type":47,"value":3817},"  $updateExistingFiat: Boolean\n",{"type":41,"tag":192,"props":3819,"children":3820},{"class":485,"line":549},[3821],{"type":41,"tag":192,"props":3822,"children":3823},{},[3824],{"type":47,"value":889},{"type":41,"tag":192,"props":3826,"children":3827},{"class":485,"line":692},[3828],{"type":41,"tag":192,"props":3829,"children":3830},{},[3831],{"type":47,"value":3832},"  bulkFiatEdit(\n",{"type":41,"tag":192,"props":3834,"children":3835},{"class":485,"line":701},[3836],{"type":41,"tag":192,"props":3837,"children":3838},{},[3839],{"type":47,"value":3840},"    assetClassId: $assetClassId,\n",{"type":41,"tag":192,"props":3842,"children":3843},{"class":485,"line":710},[3844],{"type":41,"tag":192,"props":3845,"children":3846},{},[3847],{"type":47,"value":3848},"    currency: $currency,\n",{"type":41,"tag":192,"props":3850,"children":3851},{"class":485,"line":718},[3852],{"type":41,"tag":192,"props":3853,"children":3854},{},[3855],{"type":47,"value":3856},"    startDate: $startDate,\n",{"type":41,"tag":192,"props":3858,"children":3859},{"class":485,"line":1638},[3860],{"type":41,"tag":192,"props":3861,"children":3862},{},[3863],{"type":47,"value":3864},"    endDate: $endDate,\n",{"type":41,"tag":192,"props":3866,"children":3867},{"class":485,"line":1647},[3868],{"type":41,"tag":192,"props":3869,"children":3870},{},[3871],{"type":47,"value":3872},"    unitPrice: $unitPrice,\n",{"type":41,"tag":192,"props":3874,"children":3875},{"class":485,"line":1656},[3876],{"type":41,"tag":192,"props":3877,"children":3878},{},[3879],{"type":47,"value":3880},"    updateExistingFiat: $updateExistingFiat\n",{"type":41,"tag":192,"props":3882,"children":3883},{"class":485,"line":1665},[3884],{"type":41,"tag":192,"props":3885,"children":3886},{},[3887],{"type":47,"value":921},{"type":41,"tag":192,"props":3889,"children":3890},{"class":485,"line":1674},[3891],{"type":41,"tag":192,"props":3892,"children":3893},{},[3894],{"type":47,"value":929},{"type":41,"tag":192,"props":3896,"children":3897},{"class":485,"line":1683},[3898],{"type":41,"tag":192,"props":3899,"children":3900},{},[3901],{"type":47,"value":937},{"type":41,"tag":192,"props":3903,"children":3904},{"class":485,"line":1692},[3905],{"type":41,"tag":192,"props":3906,"children":3907},{},[3908],{"type":47,"value":546},{"type":41,"tag":192,"props":3910,"children":3911},{"class":485,"line":1701},[3912],{"type":41,"tag":192,"props":3913,"children":3914},{},[3915],{"type":47,"value":555},{"type":41,"tag":50,"props":3917,"children":3918},{},[3919],{"type":47,"value":956},{"type":41,"tag":473,"props":3921,"children":3923},{"className":959,"code":3922,"language":961,"meta":478,"style":478},"{\n  \"assetClassId\": 42,\n  \"currency\": \"USD\",\n  \"startDate\": \"2024-01-01\",\n  \"endDate\": \"2024-01-31\",\n  \"unitPrice\": 1.0,\n  \"updateExistingFiat\": false\n}\n",[3924],{"type":41,"tag":72,"props":3925,"children":3926},{"__ignoreMap":478},[3927,3934,3963,3999,4035,4071,4100,4125],{"type":41,"tag":192,"props":3928,"children":3929},{"class":485,"line":486},[3930],{"type":41,"tag":192,"props":3931,"children":3932},{"style":971},[3933],{"type":47,"value":974},{"type":41,"tag":192,"props":3935,"children":3936},{"class":485,"line":495},[3937,3941,3945,3949,3953,3959],{"type":41,"tag":192,"props":3938,"children":3939},{"style":971},[3940],{"type":47,"value":982},{"type":41,"tag":192,"props":3942,"children":3943},{"style":985},[3944],{"type":47,"value":98},{"type":41,"tag":192,"props":3946,"children":3947},{"style":971},[3948],{"type":47,"value":992},{"type":41,"tag":192,"props":3950,"children":3951},{"style":971},[3952],{"type":47,"value":997},{"type":41,"tag":192,"props":3954,"children":3956},{"style":3955},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[3957],{"type":47,"value":3958}," 42",{"type":41,"tag":192,"props":3960,"children":3961},{"style":971},[3962],{"type":47,"value":1016},{"type":41,"tag":192,"props":3964,"children":3965},{"class":485,"line":504},[3966,3970,3975,3979,3983,3987,3991,3995],{"type":41,"tag":192,"props":3967,"children":3968},{"style":971},[3969],{"type":47,"value":982},{"type":41,"tag":192,"props":3971,"children":3972},{"style":985},[3973],{"type":47,"value":3974},"currency",{"type":41,"tag":192,"props":3976,"children":3977},{"style":971},[3978],{"type":47,"value":992},{"type":41,"tag":192,"props":3980,"children":3981},{"style":971},[3982],{"type":47,"value":997},{"type":41,"tag":192,"props":3984,"children":3985},{"style":971},[3986],{"type":47,"value":1002},{"type":41,"tag":192,"props":3988,"children":3989},{"style":1005},[3990],{"type":47,"value":2806},{"type":41,"tag":192,"props":3992,"children":3993},{"style":971},[3994],{"type":47,"value":992},{"type":41,"tag":192,"props":3996,"children":3997},{"style":971},[3998],{"type":47,"value":1016},{"type":41,"tag":192,"props":4000,"children":4001},{"class":485,"line":513},[4002,4006,4010,4014,4018,4022,4027,4031],{"type":41,"tag":192,"props":4003,"children":4004},{"style":971},[4005],{"type":47,"value":982},{"type":41,"tag":192,"props":4007,"children":4008},{"style":985},[4009],{"type":47,"value":1062},{"type":41,"tag":192,"props":4011,"children":4012},{"style":971},[4013],{"type":47,"value":992},{"type":41,"tag":192,"props":4015,"children":4016},{"style":971},[4017],{"type":47,"value":997},{"type":41,"tag":192,"props":4019,"children":4020},{"style":971},[4021],{"type":47,"value":1002},{"type":41,"tag":192,"props":4023,"children":4024},{"style":1005},[4025],{"type":47,"value":4026},"2024-01-01",{"type":41,"tag":192,"props":4028,"children":4029},{"style":971},[4030],{"type":47,"value":992},{"type":41,"tag":192,"props":4032,"children":4033},{"style":971},[4034],{"type":47,"value":1016},{"type":41,"tag":192,"props":4036,"children":4037},{"class":485,"line":522},[4038,4042,4046,4050,4054,4058,4063,4067],{"type":41,"tag":192,"props":4039,"children":4040},{"style":971},[4041],{"type":47,"value":982},{"type":41,"tag":192,"props":4043,"children":4044},{"style":985},[4045],{"type":47,"value":1099},{"type":41,"tag":192,"props":4047,"children":4048},{"style":971},[4049],{"type":47,"value":992},{"type":41,"tag":192,"props":4051,"children":4052},{"style":971},[4053],{"type":47,"value":997},{"type":41,"tag":192,"props":4055,"children":4056},{"style":971},[4057],{"type":47,"value":1002},{"type":41,"tag":192,"props":4059,"children":4060},{"style":1005},[4061],{"type":47,"value":4062},"2024-01-31",{"type":41,"tag":192,"props":4064,"children":4065},{"style":971},[4066],{"type":47,"value":992},{"type":41,"tag":192,"props":4068,"children":4069},{"style":971},[4070],{"type":47,"value":1016},{"type":41,"tag":192,"props":4072,"children":4073},{"class":485,"line":531},[4074,4078,4083,4087,4091,4096],{"type":41,"tag":192,"props":4075,"children":4076},{"style":971},[4077],{"type":47,"value":982},{"type":41,"tag":192,"props":4079,"children":4080},{"style":985},[4081],{"type":47,"value":4082},"unitPrice",{"type":41,"tag":192,"props":4084,"children":4085},{"style":971},[4086],{"type":47,"value":992},{"type":41,"tag":192,"props":4088,"children":4089},{"style":971},[4090],{"type":47,"value":997},{"type":41,"tag":192,"props":4092,"children":4093},{"style":3955},[4094],{"type":47,"value":4095}," 1.0",{"type":41,"tag":192,"props":4097,"children":4098},{"style":971},[4099],{"type":47,"value":1016},{"type":41,"tag":192,"props":4101,"children":4102},{"class":485,"line":540},[4103,4107,4112,4116,4120],{"type":41,"tag":192,"props":4104,"children":4105},{"style":971},[4106],{"type":47,"value":982},{"type":41,"tag":192,"props":4108,"children":4109},{"style":985},[4110],{"type":47,"value":4111},"updateExistingFiat",{"type":41,"tag":192,"props":4113,"children":4114},{"style":971},[4115],{"type":47,"value":992},{"type":41,"tag":192,"props":4117,"children":4118},{"style":971},[4119],{"type":47,"value":997},{"type":41,"tag":192,"props":4121,"children":4122},{"style":971},[4123],{"type":47,"value":4124}," false\n",{"type":41,"tag":192,"props":4126,"children":4127},{"class":485,"line":549},[4128],{"type":41,"tag":192,"props":4129,"children":4130},{"style":971},[4131],{"type":47,"value":555},{"type":41,"tag":771,"props":4133,"children":4134},{},[4135,4146],{"type":41,"tag":157,"props":4136,"children":4137},{},[4138,4144],{"type":41,"tag":72,"props":4139,"children":4141},{"className":4140},[],[4142],{"type":47,"value":4143},"updateExistingFiat: false",{"type":47,"value":4145}," (default) — only fills in missing fiat values.",{"type":41,"tag":157,"props":4147,"children":4148},{},[4149,4155],{"type":41,"tag":72,"props":4150,"children":4152},{"className":4151},[],[4153],{"type":47,"value":4154},"updateExistingFiat: true",{"type":47,"value":4156}," — overwrites all fiat values in the range.",{"type":41,"tag":50,"props":4158,"children":4159},{},[4160,4162,4167,4169,4174],{"type":47,"value":4161},"To find the ",{"type":41,"tag":72,"props":4163,"children":4165},{"className":4164},[],[4166],{"type":47,"value":98},{"type":47,"value":4168},", query ",{"type":41,"tag":72,"props":4170,"children":4172},{"className":4171},[],[4173],{"type":47,"value":1371},{"type":47,"value":4175}," by symbol first.",{"type":41,"tag":50,"props":4177,"children":4178},{},[4179,4181,4186,4187,4192],{"type":47,"value":4180},"When applying prices from G.1, use the looked-up unit price and set the date\nrange tightly around the transaction date (same day for ",{"type":41,"tag":72,"props":4182,"children":4184},{"className":4183},[],[4185],{"type":47,"value":1062},{"type":47,"value":3389},{"type":41,"tag":72,"props":4188,"children":4190},{"className":4189},[],[4191],{"type":47,"value":1099},{"type":47,"value":4193},")\nto avoid overwriting prices on other transactions.",{"type":41,"tag":50,"props":4195,"children":4196},{},[4197],{"type":47,"value":4198},"After bulk fiat edits, suggest the user trigger a cost basis recalculation (Section D).",{"type":41,"tag":56,"props":4200,"children":4201},{},[],{"type":41,"tag":60,"props":4203,"children":4205},{"id":4204},"h-reevaluations-and-impairments",[4206],{"type":47,"value":4207},"H. Reevaluations and impairments",{"type":41,"tag":50,"props":4209,"children":4210},{},[4211],{"type":47,"value":4212},"Reevaluations adjust the fair market value (FMV) of inventory lots at a specific\npoint in time. Impairments are a special case where the FMV drops below cost.",{"type":41,"tag":1420,"props":4214,"children":4216},{"id":4215},"h1-list-reevaluations",[4217],{"type":47,"value":4218},"H.1 — List reevaluations",{"type":41,"tag":473,"props":4220,"children":4222},{"className":475,"code":4221,"language":477,"meta":478,"style":478},"query GetReevaluations($limit: Int, $offset: Int, $assetClassId_In: [ID]) {\n  reevaluation(\n    limit: $limit,\n    offset: $offset,\n    assetClassId_In: $assetClassId_In,\n    ordering: \"-timestamp\"\n  ) {\n    totalCount\n    results {\n      id\n      timestamp\n      unitPrice\n      currency\n      isImpairment\n      assetClass {\n        id\n        symbol\n      }\n      appliedCostBasis {\n        id\n        totalCost\n        revaluedCostAdjustment\n        internalAccount {\n          id\n          name\n        }\n      }\n    }\n  }\n}\n",[4223],{"type":41,"tag":72,"props":4224,"children":4225},{"__ignoreMap":478},[4226,4234,4242,4250,4258,4266,4274,4281,4288,4295,4302,4310,4318,4326,4334,4341,4348,4355,4362,4370,4377,4384,4392,4400,4408,4416,4424,4431,4438,4445],{"type":41,"tag":192,"props":4227,"children":4228},{"class":485,"line":486},[4229],{"type":41,"tag":192,"props":4230,"children":4231},{},[4232],{"type":47,"value":4233},"query GetReevaluations($limit: Int, $offset: Int, $assetClassId_In: [ID]) {\n",{"type":41,"tag":192,"props":4235,"children":4236},{"class":485,"line":495},[4237],{"type":41,"tag":192,"props":4238,"children":4239},{},[4240],{"type":47,"value":4241},"  reevaluation(\n",{"type":41,"tag":192,"props":4243,"children":4244},{"class":485,"line":504},[4245],{"type":41,"tag":192,"props":4246,"children":4247},{},[4248],{"type":47,"value":4249},"    limit: $limit,\n",{"type":41,"tag":192,"props":4251,"children":4252},{"class":485,"line":513},[4253],{"type":41,"tag":192,"props":4254,"children":4255},{},[4256],{"type":47,"value":4257},"    offset: $offset,\n",{"type":41,"tag":192,"props":4259,"children":4260},{"class":485,"line":522},[4261],{"type":41,"tag":192,"props":4262,"children":4263},{},[4264],{"type":47,"value":4265},"    assetClassId_In: $assetClassId_In,\n",{"type":41,"tag":192,"props":4267,"children":4268},{"class":485,"line":531},[4269],{"type":41,"tag":192,"props":4270,"children":4271},{},[4272],{"type":47,"value":4273},"    ordering: \"-timestamp\"\n",{"type":41,"tag":192,"props":4275,"children":4276},{"class":485,"line":540},[4277],{"type":41,"tag":192,"props":4278,"children":4279},{},[4280],{"type":47,"value":921},{"type":41,"tag":192,"props":4282,"children":4283},{"class":485,"line":549},[4284],{"type":41,"tag":192,"props":4285,"children":4286},{},[4287],{"type":47,"value":1566},{"type":41,"tag":192,"props":4289,"children":4290},{"class":485,"line":692},[4291],{"type":41,"tag":192,"props":4292,"children":4293},{},[4294],{"type":47,"value":1574},{"type":41,"tag":192,"props":4296,"children":4297},{"class":485,"line":701},[4298],{"type":41,"tag":192,"props":4299,"children":4300},{},[4301],{"type":47,"value":2129},{"type":41,"tag":192,"props":4303,"children":4304},{"class":485,"line":710},[4305],{"type":41,"tag":192,"props":4306,"children":4307},{},[4308],{"type":47,"value":4309},"      timestamp\n",{"type":41,"tag":192,"props":4311,"children":4312},{"class":485,"line":718},[4313],{"type":41,"tag":192,"props":4314,"children":4315},{},[4316],{"type":47,"value":4317},"      unitPrice\n",{"type":41,"tag":192,"props":4319,"children":4320},{"class":485,"line":1638},[4321],{"type":41,"tag":192,"props":4322,"children":4323},{},[4324],{"type":47,"value":4325},"      currency\n",{"type":41,"tag":192,"props":4327,"children":4328},{"class":485,"line":1647},[4329],{"type":41,"tag":192,"props":4330,"children":4331},{},[4332],{"type":47,"value":4333},"      isImpairment\n",{"type":41,"tag":192,"props":4335,"children":4336},{"class":485,"line":1656},[4337],{"type":41,"tag":192,"props":4338,"children":4339},{},[4340],{"type":47,"value":2169},{"type":41,"tag":192,"props":4342,"children":4343},{"class":485,"line":1665},[4344],{"type":41,"tag":192,"props":4345,"children":4346},{},[4347],{"type":47,"value":2177},{"type":41,"tag":192,"props":4349,"children":4350},{"class":485,"line":1674},[4351],{"type":41,"tag":192,"props":4352,"children":4353},{},[4354],{"type":47,"value":1590},{"type":41,"tag":192,"props":4356,"children":4357},{"class":485,"line":1683},[4358],{"type":41,"tag":192,"props":4359,"children":4360},{},[4361],{"type":47,"value":689},{"type":41,"tag":192,"props":4363,"children":4364},{"class":485,"line":1692},[4365],{"type":41,"tag":192,"props":4366,"children":4367},{},[4368],{"type":47,"value":4369},"      appliedCostBasis {\n",{"type":41,"tag":192,"props":4371,"children":4372},{"class":485,"line":1701},[4373],{"type":41,"tag":192,"props":4374,"children":4375},{},[4376],{"type":47,"value":2177},{"type":41,"tag":192,"props":4378,"children":4379},{"class":485,"line":1710},[4380],{"type":41,"tag":192,"props":4381,"children":4382},{},[4383],{"type":47,"value":1707},{"type":41,"tag":192,"props":4385,"children":4386},{"class":485,"line":1719},[4387],{"type":41,"tag":192,"props":4388,"children":4389},{},[4390],{"type":47,"value":4391},"        revaluedCostAdjustment\n",{"type":41,"tag":192,"props":4393,"children":4394},{"class":485,"line":1728},[4395],{"type":41,"tag":192,"props":4396,"children":4397},{},[4398],{"type":47,"value":4399},"        internalAccount {\n",{"type":41,"tag":192,"props":4401,"children":4402},{"class":485,"line":1737},[4403],{"type":41,"tag":192,"props":4404,"children":4405},{},[4406],{"type":47,"value":4407},"          id\n",{"type":41,"tag":192,"props":4409,"children":4410},{"class":485,"line":1746},[4411],{"type":41,"tag":192,"props":4412,"children":4413},{},[4414],{"type":47,"value":4415},"          name\n",{"type":41,"tag":192,"props":4417,"children":4418},{"class":485,"line":1754},[4419],{"type":41,"tag":192,"props":4420,"children":4421},{},[4422],{"type":47,"value":4423},"        }\n",{"type":41,"tag":192,"props":4425,"children":4426},{"class":485,"line":1762},[4427],{"type":41,"tag":192,"props":4428,"children":4429},{},[4430],{"type":47,"value":689},{"type":41,"tag":192,"props":4432,"children":4433},{"class":485,"line":1770},[4434],{"type":41,"tag":192,"props":4435,"children":4436},{},[4437],{"type":47,"value":707},{"type":41,"tag":192,"props":4439,"children":4440},{"class":485,"line":2307},[4441],{"type":41,"tag":192,"props":4442,"children":4443},{},[4444],{"type":47,"value":546},{"type":41,"tag":192,"props":4446,"children":4447},{"class":485,"line":2315},[4448],{"type":41,"tag":192,"props":4449,"children":4450},{},[4451],{"type":47,"value":555},{"type":41,"tag":1420,"props":4453,"children":4455},{"id":4454},"h2-create-reevaluation",[4456],{"type":47,"value":4457},"H.2 — Create reevaluation",{"type":41,"tag":50,"props":4459,"children":4460},{},[4461],{"type":41,"tag":86,"props":4462,"children":4463},{},[4464],{"type":47,"value":4465},"Always confirm with the user before executing.",{"type":41,"tag":473,"props":4467,"children":4469},{"className":475,"code":4468,"language":477,"meta":478,"style":478},"mutation CreateReevaluation($reevaluations: [ReevaluationObjectType]!) {\n  createReevaluation(reevaluations: $reevaluations) {\n    reevaluationIds\n  }\n}\n",[4470],{"type":41,"tag":72,"props":4471,"children":4472},{"__ignoreMap":478},[4473,4481,4489,4497,4504],{"type":41,"tag":192,"props":4474,"children":4475},{"class":485,"line":486},[4476],{"type":41,"tag":192,"props":4477,"children":4478},{},[4479],{"type":47,"value":4480},"mutation CreateReevaluation($reevaluations: [ReevaluationObjectType]!) {\n",{"type":41,"tag":192,"props":4482,"children":4483},{"class":485,"line":495},[4484],{"type":41,"tag":192,"props":4485,"children":4486},{},[4487],{"type":47,"value":4488},"  createReevaluation(reevaluations: $reevaluations) {\n",{"type":41,"tag":192,"props":4490,"children":4491},{"class":485,"line":504},[4492],{"type":41,"tag":192,"props":4493,"children":4494},{},[4495],{"type":47,"value":4496},"    reevaluationIds\n",{"type":41,"tag":192,"props":4498,"children":4499},{"class":485,"line":513},[4500],{"type":41,"tag":192,"props":4501,"children":4502},{},[4503],{"type":47,"value":546},{"type":41,"tag":192,"props":4505,"children":4506},{"class":485,"line":522},[4507],{"type":41,"tag":192,"props":4508,"children":4509},{},[4510],{"type":47,"value":555},{"type":41,"tag":50,"props":4512,"children":4513},{},[4514],{"type":47,"value":956},{"type":41,"tag":473,"props":4516,"children":4518},{"className":959,"code":4517,"language":961,"meta":478,"style":478},"{\n  \"reevaluations\": [\n    {\n      \"unitPrice\": \"45000.00\",\n      \"timestamp\": \"2024-12-31T23:59:59Z\",\n      \"assetClassId\": 1,\n      \"currency\": \"USD\",\n      \"isImpairment\": false\n    }\n  ]\n}\n",[4519],{"type":41,"tag":72,"props":4520,"children":4521},{"__ignoreMap":478},[4522,4529,4553,4560,4596,4631,4659,4694,4718,4725,4732],{"type":41,"tag":192,"props":4523,"children":4524},{"class":485,"line":486},[4525],{"type":41,"tag":192,"props":4526,"children":4527},{"style":971},[4528],{"type":47,"value":974},{"type":41,"tag":192,"props":4530,"children":4531},{"class":485,"line":495},[4532,4536,4541,4545,4549],{"type":41,"tag":192,"props":4533,"children":4534},{"style":971},[4535],{"type":47,"value":982},{"type":41,"tag":192,"props":4537,"children":4538},{"style":985},[4539],{"type":47,"value":4540},"reevaluations",{"type":41,"tag":192,"props":4542,"children":4543},{"style":971},[4544],{"type":47,"value":992},{"type":41,"tag":192,"props":4546,"children":4547},{"style":971},[4548],{"type":47,"value":997},{"type":41,"tag":192,"props":4550,"children":4551},{"style":971},[4552],{"type":47,"value":1040},{"type":41,"tag":192,"props":4554,"children":4555},{"class":485,"line":504},[4556],{"type":41,"tag":192,"props":4557,"children":4558},{"style":971},[4559],{"type":47,"value":1048},{"type":41,"tag":192,"props":4561,"children":4562},{"class":485,"line":513},[4563,4567,4571,4575,4579,4583,4588,4592],{"type":41,"tag":192,"props":4564,"children":4565},{"style":971},[4566],{"type":47,"value":1056},{"type":41,"tag":192,"props":4568,"children":4569},{"style":1059},[4570],{"type":47,"value":4082},{"type":41,"tag":192,"props":4572,"children":4573},{"style":971},[4574],{"type":47,"value":992},{"type":41,"tag":192,"props":4576,"children":4577},{"style":971},[4578],{"type":47,"value":997},{"type":41,"tag":192,"props":4580,"children":4581},{"style":971},[4582],{"type":47,"value":1002},{"type":41,"tag":192,"props":4584,"children":4585},{"style":1005},[4586],{"type":47,"value":4587},"45000.00",{"type":41,"tag":192,"props":4589,"children":4590},{"style":971},[4591],{"type":47,"value":992},{"type":41,"tag":192,"props":4593,"children":4594},{"style":971},[4595],{"type":47,"value":1016},{"type":41,"tag":192,"props":4597,"children":4598},{"class":485,"line":522},[4599,4603,4607,4611,4615,4619,4623,4627],{"type":41,"tag":192,"props":4600,"children":4601},{"style":971},[4602],{"type":47,"value":1056},{"type":41,"tag":192,"props":4604,"children":4605},{"style":1059},[4606],{"type":47,"value":2827},{"type":41,"tag":192,"props":4608,"children":4609},{"style":971},[4610],{"type":47,"value":992},{"type":41,"tag":192,"props":4612,"children":4613},{"style":971},[4614],{"type":47,"value":997},{"type":41,"tag":192,"props":4616,"children":4617},{"style":971},[4618],{"type":47,"value":1002},{"type":41,"tag":192,"props":4620,"children":4621},{"style":1005},[4622],{"type":47,"value":1116},{"type":41,"tag":192,"props":4624,"children":4625},{"style":971},[4626],{"type":47,"value":992},{"type":41,"tag":192,"props":4628,"children":4629},{"style":971},[4630],{"type":47,"value":1016},{"type":41,"tag":192,"props":4632,"children":4633},{"class":485,"line":531},[4634,4638,4642,4646,4650,4655],{"type":41,"tag":192,"props":4635,"children":4636},{"style":971},[4637],{"type":47,"value":1056},{"type":41,"tag":192,"props":4639,"children":4640},{"style":1059},[4641],{"type":47,"value":98},{"type":41,"tag":192,"props":4643,"children":4644},{"style":971},[4645],{"type":47,"value":992},{"type":41,"tag":192,"props":4647,"children":4648},{"style":971},[4649],{"type":47,"value":997},{"type":41,"tag":192,"props":4651,"children":4652},{"style":3955},[4653],{"type":47,"value":4654}," 1",{"type":41,"tag":192,"props":4656,"children":4657},{"style":971},[4658],{"type":47,"value":1016},{"type":41,"tag":192,"props":4660,"children":4661},{"class":485,"line":540},[4662,4666,4670,4674,4678,4682,4686,4690],{"type":41,"tag":192,"props":4663,"children":4664},{"style":971},[4665],{"type":47,"value":1056},{"type":41,"tag":192,"props":4667,"children":4668},{"style":1059},[4669],{"type":47,"value":3974},{"type":41,"tag":192,"props":4671,"children":4672},{"style":971},[4673],{"type":47,"value":992},{"type":41,"tag":192,"props":4675,"children":4676},{"style":971},[4677],{"type":47,"value":997},{"type":41,"tag":192,"props":4679,"children":4680},{"style":971},[4681],{"type":47,"value":1002},{"type":41,"tag":192,"props":4683,"children":4684},{"style":1005},[4685],{"type":47,"value":2806},{"type":41,"tag":192,"props":4687,"children":4688},{"style":971},[4689],{"type":47,"value":992},{"type":41,"tag":192,"props":4691,"children":4692},{"style":971},[4693],{"type":47,"value":1016},{"type":41,"tag":192,"props":4695,"children":4696},{"class":485,"line":549},[4697,4701,4706,4710,4714],{"type":41,"tag":192,"props":4698,"children":4699},{"style":971},[4700],{"type":47,"value":1056},{"type":41,"tag":192,"props":4702,"children":4703},{"style":1059},[4704],{"type":47,"value":4705},"isImpairment",{"type":41,"tag":192,"props":4707,"children":4708},{"style":971},[4709],{"type":47,"value":992},{"type":41,"tag":192,"props":4711,"children":4712},{"style":971},[4713],{"type":47,"value":997},{"type":41,"tag":192,"props":4715,"children":4716},{"style":971},[4717],{"type":47,"value":4124},{"type":41,"tag":192,"props":4719,"children":4720},{"class":485,"line":692},[4721],{"type":41,"tag":192,"props":4722,"children":4723},{"style":971},[4724],{"type":47,"value":707},{"type":41,"tag":192,"props":4726,"children":4727},{"class":485,"line":701},[4728],{"type":41,"tag":192,"props":4729,"children":4730},{"style":971},[4731],{"type":47,"value":1172},{"type":41,"tag":192,"props":4733,"children":4734},{"class":485,"line":710},[4735],{"type":41,"tag":192,"props":4736,"children":4737},{"style":971},[4738],{"type":47,"value":555},{"type":41,"tag":771,"props":4740,"children":4741},{},[4742,4753],{"type":41,"tag":157,"props":4743,"children":4744},{},[4745,4751],{"type":41,"tag":72,"props":4746,"children":4748},{"className":4747},[],[4749],{"type":47,"value":4750},"isImpairment: false",{"type":47,"value":4752}," — standard reevaluation (mark-to-market).",{"type":41,"tag":157,"props":4754,"children":4755},{},[4756,4762],{"type":41,"tag":72,"props":4757,"children":4759},{"className":4758},[],[4760],{"type":47,"value":4761},"isImpairment: true",{"type":47,"value":4763}," — impairment write-down.",{"type":41,"tag":50,"props":4765,"children":4766},{},[4767],{"type":47,"value":4768},"Creating a reevaluation also creates a manual transaction to represent the\nadjustment in the ledger. Inform the user of this side effect.",{"type":41,"tag":50,"props":4770,"children":4771},{},[4772],{"type":47,"value":4773},"After creating, suggest triggering cost basis recalculation (Section D).",{"type":41,"tag":1420,"props":4775,"children":4777},{"id":4776},"h3-update-reevaluation",[4778],{"type":47,"value":4779},"H.3 — Update reevaluation",{"type":41,"tag":473,"props":4781,"children":4783},{"className":475,"code":4782,"language":477,"meta":478,"style":478},"mutation UpdateReevaluation(\n  $reevaluationId: Int!,\n  $unitPrice: Decimal!,\n  $timestamp: DateTime!,\n  $assetClassId: Int!,\n  $currency: Currency!\n) {\n  updateReevaluation(\n    reevaluationId: $reevaluationId,\n    unitPrice: $unitPrice,\n    timestamp: $timestamp,\n    assetClassId: $assetClassId,\n    currency: $currency\n  ) {\n    status\n  }\n}\n",[4784],{"type":41,"tag":72,"props":4785,"children":4786},{"__ignoreMap":478},[4787,4795,4803,4811,4819,4826,4834,4841,4849,4857,4864,4872,4879,4887,4894,4901,4908],{"type":41,"tag":192,"props":4788,"children":4789},{"class":485,"line":486},[4790],{"type":41,"tag":192,"props":4791,"children":4792},{},[4793],{"type":47,"value":4794},"mutation UpdateReevaluation(\n",{"type":41,"tag":192,"props":4796,"children":4797},{"class":485,"line":495},[4798],{"type":41,"tag":192,"props":4799,"children":4800},{},[4801],{"type":47,"value":4802},"  $reevaluationId: Int!,\n",{"type":41,"tag":192,"props":4804,"children":4805},{"class":485,"line":504},[4806],{"type":41,"tag":192,"props":4807,"children":4808},{},[4809],{"type":47,"value":4810},"  $unitPrice: Decimal!,\n",{"type":41,"tag":192,"props":4812,"children":4813},{"class":485,"line":513},[4814],{"type":41,"tag":192,"props":4815,"children":4816},{},[4817],{"type":47,"value":4818},"  $timestamp: DateTime!,\n",{"type":41,"tag":192,"props":4820,"children":4821},{"class":485,"line":522},[4822],{"type":41,"tag":192,"props":4823,"children":4824},{},[4825],{"type":47,"value":3777},{"type":41,"tag":192,"props":4827,"children":4828},{"class":485,"line":531},[4829],{"type":41,"tag":192,"props":4830,"children":4831},{},[4832],{"type":47,"value":4833},"  $currency: Currency!\n",{"type":41,"tag":192,"props":4835,"children":4836},{"class":485,"line":540},[4837],{"type":41,"tag":192,"props":4838,"children":4839},{},[4840],{"type":47,"value":889},{"type":41,"tag":192,"props":4842,"children":4843},{"class":485,"line":549},[4844],{"type":41,"tag":192,"props":4845,"children":4846},{},[4847],{"type":47,"value":4848},"  updateReevaluation(\n",{"type":41,"tag":192,"props":4850,"children":4851},{"class":485,"line":692},[4852],{"type":41,"tag":192,"props":4853,"children":4854},{},[4855],{"type":47,"value":4856},"    reevaluationId: $reevaluationId,\n",{"type":41,"tag":192,"props":4858,"children":4859},{"class":485,"line":701},[4860],{"type":41,"tag":192,"props":4861,"children":4862},{},[4863],{"type":47,"value":3872},{"type":41,"tag":192,"props":4865,"children":4866},{"class":485,"line":710},[4867],{"type":41,"tag":192,"props":4868,"children":4869},{},[4870],{"type":47,"value":4871},"    timestamp: $timestamp,\n",{"type":41,"tag":192,"props":4873,"children":4874},{"class":485,"line":718},[4875],{"type":41,"tag":192,"props":4876,"children":4877},{},[4878],{"type":47,"value":3840},{"type":41,"tag":192,"props":4880,"children":4881},{"class":485,"line":1638},[4882],{"type":41,"tag":192,"props":4883,"children":4884},{},[4885],{"type":47,"value":4886},"    currency: $currency\n",{"type":41,"tag":192,"props":4888,"children":4889},{"class":485,"line":1647},[4890],{"type":41,"tag":192,"props":4891,"children":4892},{},[4893],{"type":47,"value":921},{"type":41,"tag":192,"props":4895,"children":4896},{"class":485,"line":1656},[4897],{"type":41,"tag":192,"props":4898,"children":4899},{},[4900],{"type":47,"value":510},{"type":41,"tag":192,"props":4902,"children":4903},{"class":485,"line":1665},[4904],{"type":41,"tag":192,"props":4905,"children":4906},{},[4907],{"type":47,"value":546},{"type":41,"tag":192,"props":4909,"children":4910},{"class":485,"line":1674},[4911],{"type":41,"tag":192,"props":4912,"children":4913},{},[4914],{"type":47,"value":555},{"type":41,"tag":1420,"props":4916,"children":4918},{"id":4917},"h4-delete-reevaluation",[4919],{"type":47,"value":4920},"H.4 — Delete reevaluation",{"type":41,"tag":473,"props":4922,"children":4924},{"className":475,"code":4923,"language":477,"meta":478,"style":478},"mutation DeleteReevaluation($reevaluationId: Int!) {\n  deleteReevaluation(reevaluationId: $reevaluationId) {\n    status\n  }\n}\n",[4925],{"type":41,"tag":72,"props":4926,"children":4927},{"__ignoreMap":478},[4928,4936,4944,4951,4958],{"type":41,"tag":192,"props":4929,"children":4930},{"class":485,"line":486},[4931],{"type":41,"tag":192,"props":4932,"children":4933},{},[4934],{"type":47,"value":4935},"mutation DeleteReevaluation($reevaluationId: Int!) {\n",{"type":41,"tag":192,"props":4937,"children":4938},{"class":485,"line":495},[4939],{"type":41,"tag":192,"props":4940,"children":4941},{},[4942],{"type":47,"value":4943},"  deleteReevaluation(reevaluationId: $reevaluationId) {\n",{"type":41,"tag":192,"props":4945,"children":4946},{"class":485,"line":504},[4947],{"type":41,"tag":192,"props":4948,"children":4949},{},[4950],{"type":47,"value":510},{"type":41,"tag":192,"props":4952,"children":4953},{"class":485,"line":513},[4954],{"type":41,"tag":192,"props":4955,"children":4956},{},[4957],{"type":47,"value":546},{"type":41,"tag":192,"props":4959,"children":4960},{"class":485,"line":522},[4961],{"type":41,"tag":192,"props":4962,"children":4963},{},[4964],{"type":47,"value":555},{"type":41,"tag":50,"props":4966,"children":4967},{},[4968],{"type":47,"value":4969},"Deleting also removes the associated manual transaction from the ledger.",{"type":41,"tag":56,"props":4971,"children":4972},{},[],{"type":41,"tag":60,"props":4974,"children":4976},{"id":4975},"i-spec-id-rules-specific-lot-disposal",[4977],{"type":47,"value":4978},"I. Spec-ID rules (specific lot disposal)",{"type":41,"tag":50,"props":4980,"children":4981},{},[4982],{"type":47,"value":4983},"Spec-ID rules let the user specify exactly which acquisition lot to use when\ndisposing of an asset — overriding the default strategy (e.g. FIFO) for\nspecific transactions.",{"type":41,"tag":1420,"props":4985,"children":4987},{"id":4986},"i1-view-spec-id-rules",[4988],{"type":47,"value":4989},"I.1 — View spec-ID rules",{"type":41,"tag":473,"props":4991,"children":4993},{"className":475,"code":4992,"language":477,"meta":478,"style":478},"query CostBasisSpecIdRules(\n  $limit: Int,\n  $offset: Int,\n  $outflowSubTransaction_In: [String]\n) {\n  costBasisSpecIdRule(\n    limit: $limit,\n    offset: $offset,\n    outflowSubTransaction_In: $outflowSubTransaction_In\n  ) {\n    totalCount\n    results {\n      id\n      outflowSubTransaction {\n        id\n        amount\n        timestamp\n        asset { symbol }\n        belongsTo { name }\n      }\n      disposedLotSubTransaction {\n        id\n        amount\n        timestamp\n      }\n      amountToDispose\n      priority\n    }\n  }\n}\n",[4994],{"type":41,"tag":72,"props":4995,"children":4996},{"__ignoreMap":478},[4997,5005,5013,5021,5029,5036,5044,5051,5058,5066,5073,5080,5087,5094,5102,5109,5116,5123,5131,5139,5146,5154,5161,5168,5175,5182,5190,5198,5205,5212],{"type":41,"tag":192,"props":4998,"children":4999},{"class":485,"line":486},[5000],{"type":41,"tag":192,"props":5001,"children":5002},{},[5003],{"type":47,"value":5004},"query CostBasisSpecIdRules(\n",{"type":41,"tag":192,"props":5006,"children":5007},{"class":485,"line":495},[5008],{"type":41,"tag":192,"props":5009,"children":5010},{},[5011],{"type":47,"value":5012},"  $limit: Int,\n",{"type":41,"tag":192,"props":5014,"children":5015},{"class":485,"line":504},[5016],{"type":41,"tag":192,"props":5017,"children":5018},{},[5019],{"type":47,"value":5020},"  $offset: Int,\n",{"type":41,"tag":192,"props":5022,"children":5023},{"class":485,"line":513},[5024],{"type":41,"tag":192,"props":5025,"children":5026},{},[5027],{"type":47,"value":5028},"  $outflowSubTransaction_In: [String]\n",{"type":41,"tag":192,"props":5030,"children":5031},{"class":485,"line":522},[5032],{"type":41,"tag":192,"props":5033,"children":5034},{},[5035],{"type":47,"value":889},{"type":41,"tag":192,"props":5037,"children":5038},{"class":485,"line":531},[5039],{"type":41,"tag":192,"props":5040,"children":5041},{},[5042],{"type":47,"value":5043},"  costBasisSpecIdRule(\n",{"type":41,"tag":192,"props":5045,"children":5046},{"class":485,"line":540},[5047],{"type":41,"tag":192,"props":5048,"children":5049},{},[5050],{"type":47,"value":4249},{"type":41,"tag":192,"props":5052,"children":5053},{"class":485,"line":549},[5054],{"type":41,"tag":192,"props":5055,"children":5056},{},[5057],{"type":47,"value":4257},{"type":41,"tag":192,"props":5059,"children":5060},{"class":485,"line":692},[5061],{"type":41,"tag":192,"props":5062,"children":5063},{},[5064],{"type":47,"value":5065},"    outflowSubTransaction_In: $outflowSubTransaction_In\n",{"type":41,"tag":192,"props":5067,"children":5068},{"class":485,"line":701},[5069],{"type":41,"tag":192,"props":5070,"children":5071},{},[5072],{"type":47,"value":921},{"type":41,"tag":192,"props":5074,"children":5075},{"class":485,"line":710},[5076],{"type":41,"tag":192,"props":5077,"children":5078},{},[5079],{"type":47,"value":1566},{"type":41,"tag":192,"props":5081,"children":5082},{"class":485,"line":718},[5083],{"type":41,"tag":192,"props":5084,"children":5085},{},[5086],{"type":47,"value":1574},{"type":41,"tag":192,"props":5088,"children":5089},{"class":485,"line":1638},[5090],{"type":41,"tag":192,"props":5091,"children":5092},{},[5093],{"type":47,"value":2129},{"type":41,"tag":192,"props":5095,"children":5096},{"class":485,"line":1647},[5097],{"type":41,"tag":192,"props":5098,"children":5099},{},[5100],{"type":47,"value":5101},"      outflowSubTransaction {\n",{"type":41,"tag":192,"props":5103,"children":5104},{"class":485,"line":1656},[5105],{"type":41,"tag":192,"props":5106,"children":5107},{},[5108],{"type":47,"value":2177},{"type":41,"tag":192,"props":5110,"children":5111},{"class":485,"line":1665},[5112],{"type":41,"tag":192,"props":5113,"children":5114},{},[5115],{"type":47,"value":2290},{"type":41,"tag":192,"props":5117,"children":5118},{"class":485,"line":1674},[5119],{"type":41,"tag":192,"props":5120,"children":5121},{},[5122],{"type":47,"value":2260},{"type":41,"tag":192,"props":5124,"children":5125},{"class":485,"line":1683},[5126],{"type":41,"tag":192,"props":5127,"children":5128},{},[5129],{"type":47,"value":5130},"        asset { symbol }\n",{"type":41,"tag":192,"props":5132,"children":5133},{"class":485,"line":1692},[5134],{"type":41,"tag":192,"props":5135,"children":5136},{},[5137],{"type":47,"value":5138},"        belongsTo { name }\n",{"type":41,"tag":192,"props":5140,"children":5141},{"class":485,"line":1701},[5142],{"type":41,"tag":192,"props":5143,"children":5144},{},[5145],{"type":47,"value":689},{"type":41,"tag":192,"props":5147,"children":5148},{"class":485,"line":1710},[5149],{"type":41,"tag":192,"props":5150,"children":5151},{},[5152],{"type":47,"value":5153},"      disposedLotSubTransaction {\n",{"type":41,"tag":192,"props":5155,"children":5156},{"class":485,"line":1719},[5157],{"type":41,"tag":192,"props":5158,"children":5159},{},[5160],{"type":47,"value":2177},{"type":41,"tag":192,"props":5162,"children":5163},{"class":485,"line":1728},[5164],{"type":41,"tag":192,"props":5165,"children":5166},{},[5167],{"type":47,"value":2290},{"type":41,"tag":192,"props":5169,"children":5170},{"class":485,"line":1737},[5171],{"type":41,"tag":192,"props":5172,"children":5173},{},[5174],{"type":47,"value":2260},{"type":41,"tag":192,"props":5176,"children":5177},{"class":485,"line":1746},[5178],{"type":41,"tag":192,"props":5179,"children":5180},{},[5181],{"type":47,"value":689},{"type":41,"tag":192,"props":5183,"children":5184},{"class":485,"line":1754},[5185],{"type":41,"tag":192,"props":5186,"children":5187},{},[5188],{"type":47,"value":5189},"      amountToDispose\n",{"type":41,"tag":192,"props":5191,"children":5192},{"class":485,"line":1762},[5193],{"type":41,"tag":192,"props":5194,"children":5195},{},[5196],{"type":47,"value":5197},"      priority\n",{"type":41,"tag":192,"props":5199,"children":5200},{"class":485,"line":1770},[5201],{"type":41,"tag":192,"props":5202,"children":5203},{},[5204],{"type":47,"value":707},{"type":41,"tag":192,"props":5206,"children":5207},{"class":485,"line":2307},[5208],{"type":41,"tag":192,"props":5209,"children":5210},{},[5211],{"type":47,"value":546},{"type":41,"tag":192,"props":5213,"children":5214},{"class":485,"line":2315},[5215],{"type":41,"tag":192,"props":5216,"children":5217},{},[5218],{"type":47,"value":555},{"type":41,"tag":1420,"props":5220,"children":5222},{"id":5221},"i2-set-spec-id-rules",[5223],{"type":47,"value":5224},"I.2 — Set spec-ID rules",{"type":41,"tag":50,"props":5226,"children":5227},{},[5228,5232],{"type":41,"tag":86,"props":5229,"children":5230},{},[5231],{"type":47,"value":4465},{"type":47,"value":5233}," This replaces all existing\nrules for the given outflow sub-transaction.",{"type":41,"tag":473,"props":5235,"children":5237},{"className":475,"code":5236,"language":477,"meta":478,"style":478},"mutation SetSpecIdRules(\n  $subTransactionId: ID!,\n  $specIdRules: [SpecIdRuleInput]!\n) {\n  setSpecIdRules(\n    subTransactionId: $subTransactionId,\n    specIdRules: $specIdRules\n  ) {\n    success\n  }\n}\n",[5238],{"type":41,"tag":72,"props":5239,"children":5240},{"__ignoreMap":478},[5241,5249,5257,5265,5272,5280,5288,5296,5303,5310,5317],{"type":41,"tag":192,"props":5242,"children":5243},{"class":485,"line":486},[5244],{"type":41,"tag":192,"props":5245,"children":5246},{},[5247],{"type":47,"value":5248},"mutation SetSpecIdRules(\n",{"type":41,"tag":192,"props":5250,"children":5251},{"class":485,"line":495},[5252],{"type":41,"tag":192,"props":5253,"children":5254},{},[5255],{"type":47,"value":5256},"  $subTransactionId: ID!,\n",{"type":41,"tag":192,"props":5258,"children":5259},{"class":485,"line":504},[5260],{"type":41,"tag":192,"props":5261,"children":5262},{},[5263],{"type":47,"value":5264},"  $specIdRules: [SpecIdRuleInput]!\n",{"type":41,"tag":192,"props":5266,"children":5267},{"class":485,"line":513},[5268],{"type":41,"tag":192,"props":5269,"children":5270},{},[5271],{"type":47,"value":889},{"type":41,"tag":192,"props":5273,"children":5274},{"class":485,"line":522},[5275],{"type":41,"tag":192,"props":5276,"children":5277},{},[5278],{"type":47,"value":5279},"  setSpecIdRules(\n",{"type":41,"tag":192,"props":5281,"children":5282},{"class":485,"line":531},[5283],{"type":41,"tag":192,"props":5284,"children":5285},{},[5286],{"type":47,"value":5287},"    subTransactionId: $subTransactionId,\n",{"type":41,"tag":192,"props":5289,"children":5290},{"class":485,"line":540},[5291],{"type":41,"tag":192,"props":5292,"children":5293},{},[5294],{"type":47,"value":5295},"    specIdRules: $specIdRules\n",{"type":41,"tag":192,"props":5297,"children":5298},{"class":485,"line":549},[5299],{"type":41,"tag":192,"props":5300,"children":5301},{},[5302],{"type":47,"value":921},{"type":41,"tag":192,"props":5304,"children":5305},{"class":485,"line":692},[5306],{"type":41,"tag":192,"props":5307,"children":5308},{},[5309],{"type":47,"value":929},{"type":41,"tag":192,"props":5311,"children":5312},{"class":485,"line":701},[5313],{"type":41,"tag":192,"props":5314,"children":5315},{},[5316],{"type":47,"value":546},{"type":41,"tag":192,"props":5318,"children":5319},{"class":485,"line":710},[5320],{"type":41,"tag":192,"props":5321,"children":5322},{},[5323],{"type":47,"value":555},{"type":41,"tag":50,"props":5325,"children":5326},{},[5327],{"type":47,"value":956},{"type":41,"tag":473,"props":5329,"children":5331},{"className":959,"code":5330,"language":961,"meta":478,"style":478},"{\n  \"subTransactionId\": \"12345\",\n  \"specIdRules\": [\n    {\n      \"disposedLotSubTransactionId\": \"67890\",\n      \"amount\": 1.5,\n      \"priority\": 1\n    },\n    {\n      \"disposedLotSubTransactionId\": \"67891\",\n      \"amount\": 0.5,\n      \"priority\": 2\n    }\n  ]\n}\n",[5332],{"type":41,"tag":72,"props":5333,"children":5334},{"__ignoreMap":478},[5335,5342,5379,5403,5410,5447,5476,5501,5508,5515,5551,5579,5603,5610,5617],{"type":41,"tag":192,"props":5336,"children":5337},{"class":485,"line":486},[5338],{"type":41,"tag":192,"props":5339,"children":5340},{"style":971},[5341],{"type":47,"value":974},{"type":41,"tag":192,"props":5343,"children":5344},{"class":485,"line":495},[5345,5349,5354,5358,5362,5366,5371,5375],{"type":41,"tag":192,"props":5346,"children":5347},{"style":971},[5348],{"type":47,"value":982},{"type":41,"tag":192,"props":5350,"children":5351},{"style":985},[5352],{"type":47,"value":5353},"subTransactionId",{"type":41,"tag":192,"props":5355,"children":5356},{"style":971},[5357],{"type":47,"value":992},{"type":41,"tag":192,"props":5359,"children":5360},{"style":971},[5361],{"type":47,"value":997},{"type":41,"tag":192,"props":5363,"children":5364},{"style":971},[5365],{"type":47,"value":1002},{"type":41,"tag":192,"props":5367,"children":5368},{"style":1005},[5369],{"type":47,"value":5370},"12345",{"type":41,"tag":192,"props":5372,"children":5373},{"style":971},[5374],{"type":47,"value":992},{"type":41,"tag":192,"props":5376,"children":5377},{"style":971},[5378],{"type":47,"value":1016},{"type":41,"tag":192,"props":5380,"children":5381},{"class":485,"line":504},[5382,5386,5391,5395,5399],{"type":41,"tag":192,"props":5383,"children":5384},{"style":971},[5385],{"type":47,"value":982},{"type":41,"tag":192,"props":5387,"children":5388},{"style":985},[5389],{"type":47,"value":5390},"specIdRules",{"type":41,"tag":192,"props":5392,"children":5393},{"style":971},[5394],{"type":47,"value":992},{"type":41,"tag":192,"props":5396,"children":5397},{"style":971},[5398],{"type":47,"value":997},{"type":41,"tag":192,"props":5400,"children":5401},{"style":971},[5402],{"type":47,"value":1040},{"type":41,"tag":192,"props":5404,"children":5405},{"class":485,"line":513},[5406],{"type":41,"tag":192,"props":5407,"children":5408},{"style":971},[5409],{"type":47,"value":1048},{"type":41,"tag":192,"props":5411,"children":5412},{"class":485,"line":522},[5413,5417,5422,5426,5430,5434,5439,5443],{"type":41,"tag":192,"props":5414,"children":5415},{"style":971},[5416],{"type":47,"value":1056},{"type":41,"tag":192,"props":5418,"children":5419},{"style":1059},[5420],{"type":47,"value":5421},"disposedLotSubTransactionId",{"type":41,"tag":192,"props":5423,"children":5424},{"style":971},[5425],{"type":47,"value":992},{"type":41,"tag":192,"props":5427,"children":5428},{"style":971},[5429],{"type":47,"value":997},{"type":41,"tag":192,"props":5431,"children":5432},{"style":971},[5433],{"type":47,"value":1002},{"type":41,"tag":192,"props":5435,"children":5436},{"style":1005},[5437],{"type":47,"value":5438},"67890",{"type":41,"tag":192,"props":5440,"children":5441},{"style":971},[5442],{"type":47,"value":992},{"type":41,"tag":192,"props":5444,"children":5445},{"style":971},[5446],{"type":47,"value":1016},{"type":41,"tag":192,"props":5448,"children":5449},{"class":485,"line":531},[5450,5454,5459,5463,5467,5472],{"type":41,"tag":192,"props":5451,"children":5452},{"style":971},[5453],{"type":47,"value":1056},{"type":41,"tag":192,"props":5455,"children":5456},{"style":1059},[5457],{"type":47,"value":5458},"amount",{"type":41,"tag":192,"props":5460,"children":5461},{"style":971},[5462],{"type":47,"value":992},{"type":41,"tag":192,"props":5464,"children":5465},{"style":971},[5466],{"type":47,"value":997},{"type":41,"tag":192,"props":5468,"children":5469},{"style":3955},[5470],{"type":47,"value":5471}," 1.5",{"type":41,"tag":192,"props":5473,"children":5474},{"style":971},[5475],{"type":47,"value":1016},{"type":41,"tag":192,"props":5477,"children":5478},{"class":485,"line":540},[5479,5483,5488,5492,5496],{"type":41,"tag":192,"props":5480,"children":5481},{"style":971},[5482],{"type":47,"value":1056},{"type":41,"tag":192,"props":5484,"children":5485},{"style":1059},[5486],{"type":47,"value":5487},"priority",{"type":41,"tag":192,"props":5489,"children":5490},{"style":971},[5491],{"type":47,"value":992},{"type":41,"tag":192,"props":5493,"children":5494},{"style":971},[5495],{"type":47,"value":997},{"type":41,"tag":192,"props":5497,"children":5498},{"style":3955},[5499],{"type":47,"value":5500}," 1\n",{"type":41,"tag":192,"props":5502,"children":5503},{"class":485,"line":549},[5504],{"type":41,"tag":192,"props":5505,"children":5506},{"style":971},[5507],{"type":47,"value":3085},{"type":41,"tag":192,"props":5509,"children":5510},{"class":485,"line":692},[5511],{"type":41,"tag":192,"props":5512,"children":5513},{"style":971},[5514],{"type":47,"value":1048},{"type":41,"tag":192,"props":5516,"children":5517},{"class":485,"line":701},[5518,5522,5526,5530,5534,5538,5543,5547],{"type":41,"tag":192,"props":5519,"children":5520},{"style":971},[5521],{"type":47,"value":1056},{"type":41,"tag":192,"props":5523,"children":5524},{"style":1059},[5525],{"type":47,"value":5421},{"type":41,"tag":192,"props":5527,"children":5528},{"style":971},[5529],{"type":47,"value":992},{"type":41,"tag":192,"props":5531,"children":5532},{"style":971},[5533],{"type":47,"value":997},{"type":41,"tag":192,"props":5535,"children":5536},{"style":971},[5537],{"type":47,"value":1002},{"type":41,"tag":192,"props":5539,"children":5540},{"style":1005},[5541],{"type":47,"value":5542},"67891",{"type":41,"tag":192,"props":5544,"children":5545},{"style":971},[5546],{"type":47,"value":992},{"type":41,"tag":192,"props":5548,"children":5549},{"style":971},[5550],{"type":47,"value":1016},{"type":41,"tag":192,"props":5552,"children":5553},{"class":485,"line":710},[5554,5558,5562,5566,5570,5575],{"type":41,"tag":192,"props":5555,"children":5556},{"style":971},[5557],{"type":47,"value":1056},{"type":41,"tag":192,"props":5559,"children":5560},{"style":1059},[5561],{"type":47,"value":5458},{"type":41,"tag":192,"props":5563,"children":5564},{"style":971},[5565],{"type":47,"value":992},{"type":41,"tag":192,"props":5567,"children":5568},{"style":971},[5569],{"type":47,"value":997},{"type":41,"tag":192,"props":5571,"children":5572},{"style":3955},[5573],{"type":47,"value":5574}," 0.5",{"type":41,"tag":192,"props":5576,"children":5577},{"style":971},[5578],{"type":47,"value":1016},{"type":41,"tag":192,"props":5580,"children":5581},{"class":485,"line":718},[5582,5586,5590,5594,5598],{"type":41,"tag":192,"props":5583,"children":5584},{"style":971},[5585],{"type":47,"value":1056},{"type":41,"tag":192,"props":5587,"children":5588},{"style":1059},[5589],{"type":47,"value":5487},{"type":41,"tag":192,"props":5591,"children":5592},{"style":971},[5593],{"type":47,"value":992},{"type":41,"tag":192,"props":5595,"children":5596},{"style":971},[5597],{"type":47,"value":997},{"type":41,"tag":192,"props":5599,"children":5600},{"style":3955},[5601],{"type":47,"value":5602}," 2\n",{"type":41,"tag":192,"props":5604,"children":5605},{"class":485,"line":1638},[5606],{"type":41,"tag":192,"props":5607,"children":5608},{"style":971},[5609],{"type":47,"value":707},{"type":41,"tag":192,"props":5611,"children":5612},{"class":485,"line":1647},[5613],{"type":41,"tag":192,"props":5614,"children":5615},{"style":971},[5616],{"type":47,"value":1172},{"type":41,"tag":192,"props":5618,"children":5619},{"class":485,"line":1656},[5620],{"type":41,"tag":192,"props":5621,"children":5622},{"style":971},[5623],{"type":47,"value":555},{"type":41,"tag":771,"props":5625,"children":5626},{},[5627,5637,5647,5657],{"type":41,"tag":157,"props":5628,"children":5629},{},[5630,5635],{"type":41,"tag":72,"props":5631,"children":5633},{"className":5632},[],[5634],{"type":47,"value":5353},{"type":47,"value":5636}," — the outflow (disposal) sub-transaction",{"type":41,"tag":157,"props":5638,"children":5639},{},[5640,5645],{"type":41,"tag":72,"props":5641,"children":5643},{"className":5642},[],[5644],{"type":47,"value":5421},{"type":47,"value":5646}," — the inflow (acquisition) sub-transaction to use as the cost lot",{"type":41,"tag":157,"props":5648,"children":5649},{},[5650,5655],{"type":41,"tag":72,"props":5651,"children":5653},{"className":5652},[],[5654],{"type":47,"value":5458},{"type":47,"value":5656}," — how much of that lot to dispose",{"type":41,"tag":157,"props":5658,"children":5659},{},[5660,5665],{"type":41,"tag":72,"props":5661,"children":5663},{"className":5662},[],[5664],{"type":47,"value":5487},{"type":47,"value":5666}," — processing order (1 = first)",{"type":41,"tag":50,"props":5668,"children":5669},{},[5670],{"type":47,"value":5671},"After setting rules, suggest triggering cost basis recalculation (Section D).",{"type":41,"tag":1420,"props":5673,"children":5675},{"id":5674},"i3-delete-spec-id-rules",[5676],{"type":47,"value":5677},"I.3 — Delete spec-ID rules",{"type":41,"tag":473,"props":5679,"children":5681},{"className":475,"code":5680,"language":477,"meta":478,"style":478},"mutation DeleteSpecIdRules($subTransactionId: ID!) {\n  deleteSpecIdRules(subTransactionId: $subTransactionId) {\n    success\n  }\n}\n",[5682],{"type":41,"tag":72,"props":5683,"children":5684},{"__ignoreMap":478},[5685,5693,5701,5708,5715],{"type":41,"tag":192,"props":5686,"children":5687},{"class":485,"line":486},[5688],{"type":41,"tag":192,"props":5689,"children":5690},{},[5691],{"type":47,"value":5692},"mutation DeleteSpecIdRules($subTransactionId: ID!) {\n",{"type":41,"tag":192,"props":5694,"children":5695},{"class":485,"line":495},[5696],{"type":41,"tag":192,"props":5697,"children":5698},{},[5699],{"type":47,"value":5700},"  deleteSpecIdRules(subTransactionId: $subTransactionId) {\n",{"type":41,"tag":192,"props":5702,"children":5703},{"class":485,"line":504},[5704],{"type":41,"tag":192,"props":5705,"children":5706},{},[5707],{"type":47,"value":929},{"type":41,"tag":192,"props":5709,"children":5710},{"class":485,"line":513},[5711],{"type":41,"tag":192,"props":5712,"children":5713},{},[5714],{"type":47,"value":546},{"type":41,"tag":192,"props":5716,"children":5717},{"class":485,"line":522},[5718],{"type":41,"tag":192,"props":5719,"children":5720},{},[5721],{"type":47,"value":555},{"type":41,"tag":56,"props":5723,"children":5724},{},[],{"type":41,"tag":60,"props":5726,"children":5728},{"id":5727},"j-full-inventory-configuration",[5729],{"type":47,"value":5730},"J. Full inventory configuration",{"type":41,"tag":50,"props":5732,"children":5733},{},[5734],{"type":47,"value":5735},"By default, TRES trims old inventory lots to reduce storage. For specific\ntransactions where the user needs the complete inventory queue visible, toggle\nfull inventory saving.",{"type":41,"tag":473,"props":5737,"children":5739},{"className":475,"code":5738,"language":477,"meta":478,"style":478},"mutation SetFullCostBasisInventoryConfiguration(\n  $subTransactionId: ID,\n  $enableFullInventory: Boolean\n) {\n  setFullCostBasisInventoryConfiguration(\n    subTransactionId: $subTransactionId,\n    enableFullInventory: $enableFullInventory\n  ) {\n    success\n  }\n}\n",[5740],{"type":41,"tag":72,"props":5741,"children":5742},{"__ignoreMap":478},[5743,5751,5759,5767,5774,5782,5789,5797,5804,5811,5818],{"type":41,"tag":192,"props":5744,"children":5745},{"class":485,"line":486},[5746],{"type":41,"tag":192,"props":5747,"children":5748},{},[5749],{"type":47,"value":5750},"mutation SetFullCostBasisInventoryConfiguration(\n",{"type":41,"tag":192,"props":5752,"children":5753},{"class":485,"line":495},[5754],{"type":41,"tag":192,"props":5755,"children":5756},{},[5757],{"type":47,"value":5758},"  $subTransactionId: ID,\n",{"type":41,"tag":192,"props":5760,"children":5761},{"class":485,"line":504},[5762],{"type":41,"tag":192,"props":5763,"children":5764},{},[5765],{"type":47,"value":5766},"  $enableFullInventory: Boolean\n",{"type":41,"tag":192,"props":5768,"children":5769},{"class":485,"line":513},[5770],{"type":41,"tag":192,"props":5771,"children":5772},{},[5773],{"type":47,"value":889},{"type":41,"tag":192,"props":5775,"children":5776},{"class":485,"line":522},[5777],{"type":41,"tag":192,"props":5778,"children":5779},{},[5780],{"type":47,"value":5781},"  setFullCostBasisInventoryConfiguration(\n",{"type":41,"tag":192,"props":5783,"children":5784},{"class":485,"line":531},[5785],{"type":41,"tag":192,"props":5786,"children":5787},{},[5788],{"type":47,"value":5287},{"type":41,"tag":192,"props":5790,"children":5791},{"class":485,"line":540},[5792],{"type":41,"tag":192,"props":5793,"children":5794},{},[5795],{"type":47,"value":5796},"    enableFullInventory: $enableFullInventory\n",{"type":41,"tag":192,"props":5798,"children":5799},{"class":485,"line":549},[5800],{"type":41,"tag":192,"props":5801,"children":5802},{},[5803],{"type":47,"value":921},{"type":41,"tag":192,"props":5805,"children":5806},{"class":485,"line":692},[5807],{"type":41,"tag":192,"props":5808,"children":5809},{},[5810],{"type":47,"value":929},{"type":41,"tag":192,"props":5812,"children":5813},{"class":485,"line":701},[5814],{"type":41,"tag":192,"props":5815,"children":5816},{},[5817],{"type":47,"value":546},{"type":41,"tag":192,"props":5819,"children":5820},{"class":485,"line":710},[5821],{"type":41,"tag":192,"props":5822,"children":5823},{},[5824],{"type":47,"value":555},{"type":41,"tag":50,"props":5826,"children":5827},{},[5828],{"type":47,"value":5829},"This deletes existing cost basis records for the affected asset and triggers\na recalculation automatically.",{"type":41,"tag":56,"props":5831,"children":5832},{},[],{"type":41,"tag":60,"props":5834,"children":5836},{"id":5835},"k-export-cost-basis-reports",[5837],{"type":47,"value":5838},"K. Export cost basis reports",{"type":41,"tag":50,"props":5840,"children":5841},{},[5842,5844,5850,5852,5857],{"type":47,"value":5843},"TRES offers several cost basis report types. Use the ",{"type":41,"tag":72,"props":5845,"children":5847},{"className":5846},[],[5848],{"type":47,"value":5849},"availableReportTypes",{"type":47,"value":5851}," query\nto find available exports, then trigger via ",{"type":41,"tag":72,"props":5853,"children":5855},{"className":5854},[],[5856],{"type":47,"value":1511},{"type":47,"value":997},{"type":41,"tag":473,"props":5859,"children":5861},{"className":475,"code":5860,"language":477,"meta":478,"style":478},"query AvailableReports {\n  availableReportTypes {\n    name\n    exportType\n    entitiesType\n    llmDescription\n  }\n}\n",[5862],{"type":41,"tag":72,"props":5863,"children":5864},{"__ignoreMap":478},[5865,5873,5881,5889,5897,5905,5913,5920],{"type":41,"tag":192,"props":5866,"children":5867},{"class":485,"line":486},[5868],{"type":41,"tag":192,"props":5869,"children":5870},{},[5871],{"type":47,"value":5872},"query AvailableReports {\n",{"type":41,"tag":192,"props":5874,"children":5875},{"class":485,"line":495},[5876],{"type":41,"tag":192,"props":5877,"children":5878},{},[5879],{"type":47,"value":5880},"  availableReportTypes {\n",{"type":41,"tag":192,"props":5882,"children":5883},{"class":485,"line":504},[5884],{"type":41,"tag":192,"props":5885,"children":5886},{},[5887],{"type":47,"value":5888},"    name\n",{"type":41,"tag":192,"props":5890,"children":5891},{"class":485,"line":513},[5892],{"type":41,"tag":192,"props":5893,"children":5894},{},[5895],{"type":47,"value":5896},"    exportType\n",{"type":41,"tag":192,"props":5898,"children":5899},{"class":485,"line":522},[5900],{"type":41,"tag":192,"props":5901,"children":5902},{},[5903],{"type":47,"value":5904},"    entitiesType\n",{"type":41,"tag":192,"props":5906,"children":5907},{"class":485,"line":531},[5908],{"type":41,"tag":192,"props":5909,"children":5910},{},[5911],{"type":47,"value":5912},"    llmDescription\n",{"type":41,"tag":192,"props":5914,"children":5915},{"class":485,"line":540},[5916],{"type":41,"tag":192,"props":5917,"children":5918},{},[5919],{"type":47,"value":546},{"type":41,"tag":192,"props":5921,"children":5922},{"class":485,"line":549},[5923],{"type":41,"tag":192,"props":5924,"children":5925},{},[5926],{"type":47,"value":555},{"type":41,"tag":50,"props":5928,"children":5929},{},[5930],{"type":47,"value":5931},"Cost-basis-related report types include:",{"type":41,"tag":771,"props":5933,"children":5934},{},[5935,5946,5957,5968,5979],{"type":41,"tag":157,"props":5936,"children":5937},{},[5938,5944],{"type":41,"tag":72,"props":5939,"children":5941},{"className":5940},[],[5942],{"type":47,"value":5943},"COST_BASIS_STACK_PER_ACCOUNT",{"type":47,"value":5945}," — Inventory lots grouped by wallet",{"type":41,"tag":157,"props":5947,"children":5948},{},[5949,5955],{"type":41,"tag":72,"props":5950,"children":5952},{"className":5951},[],[5953],{"type":47,"value":5954},"COST_BASIS_STACK_PER_ASSET",{"type":47,"value":5956}," — Inventory lots grouped by asset",{"type":41,"tag":157,"props":5958,"children":5959},{},[5960,5966],{"type":41,"tag":72,"props":5961,"children":5963},{"className":5962},[],[5964],{"type":47,"value":5965},"COST_BASIS_INVENTORY",{"type":47,"value":5967}," — Full inventory detail",{"type":41,"tag":157,"props":5969,"children":5970},{},[5971,5977],{"type":41,"tag":72,"props":5972,"children":5974},{"className":5973},[],[5975],{"type":47,"value":5976},"COST_BASIS_ROLL_FORWARD",{"type":47,"value":5978}," — Period-over-period roll forward",{"type":41,"tag":157,"props":5980,"children":5981},{},[5982,5988],{"type":41,"tag":72,"props":5983,"children":5985},{"className":5984},[],[5986],{"type":47,"value":5987},"REEVALUATION",{"type":47,"value":5989}," — Reevaluation records",{"type":41,"tag":50,"props":5991,"children":5992},{},[5993,5995,6000],{"type":47,"value":5994},"To export, use ",{"type":41,"tag":72,"props":5996,"children":5998},{"className":5997},[],[5999],{"type":47,"value":1511},{"type":47,"value":6001}," with export parameters:",{"type":41,"tag":473,"props":6003,"children":6005},{"className":475,"code":6004,"language":477,"meta":478,"style":478},"query ExportCostBasisReport(\n  $exportName: String,\n  $exportFormat: String,\n  $currency: String,\n  $outputFormat: ReportOutputFormat\n) {\n  organizationBalance(\n    exportName: $exportName,\n    exportFormat: $exportFormat,\n    currency: $currency,\n    outputFormat: $outputFormat\n  ) {\n    totalCount\n  }\n}\n",[6006],{"type":41,"tag":72,"props":6007,"children":6008},{"__ignoreMap":478},[6009,6017,6025,6033,6041,6049,6056,6064,6072,6080,6087,6095,6102,6109,6116],{"type":41,"tag":192,"props":6010,"children":6011},{"class":485,"line":486},[6012],{"type":41,"tag":192,"props":6013,"children":6014},{},[6015],{"type":47,"value":6016},"query ExportCostBasisReport(\n",{"type":41,"tag":192,"props":6018,"children":6019},{"class":485,"line":495},[6020],{"type":41,"tag":192,"props":6021,"children":6022},{},[6023],{"type":47,"value":6024},"  $exportName: String,\n",{"type":41,"tag":192,"props":6026,"children":6027},{"class":485,"line":504},[6028],{"type":41,"tag":192,"props":6029,"children":6030},{},[6031],{"type":47,"value":6032},"  $exportFormat: String,\n",{"type":41,"tag":192,"props":6034,"children":6035},{"class":485,"line":513},[6036],{"type":41,"tag":192,"props":6037,"children":6038},{},[6039],{"type":47,"value":6040},"  $currency: String,\n",{"type":41,"tag":192,"props":6042,"children":6043},{"class":485,"line":522},[6044],{"type":41,"tag":192,"props":6045,"children":6046},{},[6047],{"type":47,"value":6048},"  $outputFormat: ReportOutputFormat\n",{"type":41,"tag":192,"props":6050,"children":6051},{"class":485,"line":531},[6052],{"type":41,"tag":192,"props":6053,"children":6054},{},[6055],{"type":47,"value":889},{"type":41,"tag":192,"props":6057,"children":6058},{"class":485,"line":540},[6059],{"type":41,"tag":192,"props":6060,"children":6061},{},[6062],{"type":47,"value":6063},"  organizationBalance(\n",{"type":41,"tag":192,"props":6065,"children":6066},{"class":485,"line":549},[6067],{"type":41,"tag":192,"props":6068,"children":6069},{},[6070],{"type":47,"value":6071},"    exportName: $exportName,\n",{"type":41,"tag":192,"props":6073,"children":6074},{"class":485,"line":692},[6075],{"type":41,"tag":192,"props":6076,"children":6077},{},[6078],{"type":47,"value":6079},"    exportFormat: $exportFormat,\n",{"type":41,"tag":192,"props":6081,"children":6082},{"class":485,"line":701},[6083],{"type":41,"tag":192,"props":6084,"children":6085},{},[6086],{"type":47,"value":3848},{"type":41,"tag":192,"props":6088,"children":6089},{"class":485,"line":710},[6090],{"type":41,"tag":192,"props":6091,"children":6092},{},[6093],{"type":47,"value":6094},"    outputFormat: $outputFormat\n",{"type":41,"tag":192,"props":6096,"children":6097},{"class":485,"line":718},[6098],{"type":41,"tag":192,"props":6099,"children":6100},{},[6101],{"type":47,"value":921},{"type":41,"tag":192,"props":6103,"children":6104},{"class":485,"line":1638},[6105],{"type":41,"tag":192,"props":6106,"children":6107},{},[6108],{"type":47,"value":1566},{"type":41,"tag":192,"props":6110,"children":6111},{"class":485,"line":1647},[6112],{"type":41,"tag":192,"props":6113,"children":6114},{},[6115],{"type":47,"value":546},{"type":41,"tag":192,"props":6117,"children":6118},{"class":485,"line":1656},[6119],{"type":41,"tag":192,"props":6120,"children":6121},{},[6122],{"type":47,"value":555},{"type":41,"tag":50,"props":6124,"children":6125},{},[6126],{"type":47,"value":956},{"type":41,"tag":473,"props":6128,"children":6130},{"className":959,"code":6129,"language":961,"meta":478,"style":478},"{\n  \"exportName\": \"Cost Basis Stack Per Asset - April 2024\",\n  \"exportFormat\": \"COST_BASIS_STACK_PER_ASSET\",\n  \"currency\": \"usd\",\n  \"outputFormat\": \"XLSX\"\n}\n",[6131],{"type":41,"tag":72,"props":6132,"children":6133},{"__ignoreMap":478},[6134,6141,6178,6214,6250,6283],{"type":41,"tag":192,"props":6135,"children":6136},{"class":485,"line":486},[6137],{"type":41,"tag":192,"props":6138,"children":6139},{"style":971},[6140],{"type":47,"value":974},{"type":41,"tag":192,"props":6142,"children":6143},{"class":485,"line":495},[6144,6148,6153,6157,6161,6165,6170,6174],{"type":41,"tag":192,"props":6145,"children":6146},{"style":971},[6147],{"type":47,"value":982},{"type":41,"tag":192,"props":6149,"children":6150},{"style":985},[6151],{"type":47,"value":6152},"exportName",{"type":41,"tag":192,"props":6154,"children":6155},{"style":971},[6156],{"type":47,"value":992},{"type":41,"tag":192,"props":6158,"children":6159},{"style":971},[6160],{"type":47,"value":997},{"type":41,"tag":192,"props":6162,"children":6163},{"style":971},[6164],{"type":47,"value":1002},{"type":41,"tag":192,"props":6166,"children":6167},{"style":1005},[6168],{"type":47,"value":6169},"Cost Basis Stack Per Asset - April 2024",{"type":41,"tag":192,"props":6171,"children":6172},{"style":971},[6173],{"type":47,"value":992},{"type":41,"tag":192,"props":6175,"children":6176},{"style":971},[6177],{"type":47,"value":1016},{"type":41,"tag":192,"props":6179,"children":6180},{"class":485,"line":504},[6181,6185,6190,6194,6198,6202,6206,6210],{"type":41,"tag":192,"props":6182,"children":6183},{"style":971},[6184],{"type":47,"value":982},{"type":41,"tag":192,"props":6186,"children":6187},{"style":985},[6188],{"type":47,"value":6189},"exportFormat",{"type":41,"tag":192,"props":6191,"children":6192},{"style":971},[6193],{"type":47,"value":992},{"type":41,"tag":192,"props":6195,"children":6196},{"style":971},[6197],{"type":47,"value":997},{"type":41,"tag":192,"props":6199,"children":6200},{"style":971},[6201],{"type":47,"value":1002},{"type":41,"tag":192,"props":6203,"children":6204},{"style":1005},[6205],{"type":47,"value":5954},{"type":41,"tag":192,"props":6207,"children":6208},{"style":971},[6209],{"type":47,"value":992},{"type":41,"tag":192,"props":6211,"children":6212},{"style":971},[6213],{"type":47,"value":1016},{"type":41,"tag":192,"props":6215,"children":6216},{"class":485,"line":513},[6217,6221,6225,6229,6233,6237,6242,6246],{"type":41,"tag":192,"props":6218,"children":6219},{"style":971},[6220],{"type":47,"value":982},{"type":41,"tag":192,"props":6222,"children":6223},{"style":985},[6224],{"type":47,"value":3974},{"type":41,"tag":192,"props":6226,"children":6227},{"style":971},[6228],{"type":47,"value":992},{"type":41,"tag":192,"props":6230,"children":6231},{"style":971},[6232],{"type":47,"value":997},{"type":41,"tag":192,"props":6234,"children":6235},{"style":971},[6236],{"type":47,"value":1002},{"type":41,"tag":192,"props":6238,"children":6239},{"style":1005},[6240],{"type":47,"value":6241},"usd",{"type":41,"tag":192,"props":6243,"children":6244},{"style":971},[6245],{"type":47,"value":992},{"type":41,"tag":192,"props":6247,"children":6248},{"style":971},[6249],{"type":47,"value":1016},{"type":41,"tag":192,"props":6251,"children":6252},{"class":485,"line":522},[6253,6257,6262,6266,6270,6274,6279],{"type":41,"tag":192,"props":6254,"children":6255},{"style":971},[6256],{"type":47,"value":982},{"type":41,"tag":192,"props":6258,"children":6259},{"style":985},[6260],{"type":47,"value":6261},"outputFormat",{"type":41,"tag":192,"props":6263,"children":6264},{"style":971},[6265],{"type":47,"value":992},{"type":41,"tag":192,"props":6267,"children":6268},{"style":971},[6269],{"type":47,"value":997},{"type":41,"tag":192,"props":6271,"children":6272},{"style":971},[6273],{"type":47,"value":1002},{"type":41,"tag":192,"props":6275,"children":6276},{"style":1005},[6277],{"type":47,"value":6278},"XLSX",{"type":41,"tag":192,"props":6280,"children":6281},{"style":971},[6282],{"type":47,"value":1157},{"type":41,"tag":192,"props":6284,"children":6285},{"class":485,"line":531},[6286],{"type":41,"tag":192,"props":6287,"children":6288},{"style":971},[6289],{"type":47,"value":555},{"type":41,"tag":50,"props":6291,"children":6292},{},[6293,6295,6301,6303,6308],{"type":47,"value":6294},"Then poll the ",{"type":41,"tag":72,"props":6296,"children":6298},{"className":6297},[],[6299],{"type":47,"value":6300},"report",{"type":47,"value":6302}," query until ",{"type":41,"tag":72,"props":6304,"children":6306},{"className":6305},[],[6307],{"type":47,"value":431},{"type":47,"value":6309}," and provide the download link:",{"type":41,"tag":473,"props":6311,"children":6313},{"className":475,"code":6312,"language":477,"meta":478,"style":478},"query Reports($limit: Int, $offset: Int) {\n  report(limit: $limit, offset: $offset, ordering: \"-created_at\") {\n    totalCount\n    results {\n      id\n      name\n      status\n      downloadUrl\n      createdAt\n    }\n  }\n}\n",[6314],{"type":41,"tag":72,"props":6315,"children":6316},{"__ignoreMap":478},[6317,6325,6333,6340,6347,6354,6362,6370,6378,6386,6393,6400],{"type":41,"tag":192,"props":6318,"children":6319},{"class":485,"line":486},[6320],{"type":41,"tag":192,"props":6321,"children":6322},{},[6323],{"type":47,"value":6324},"query Reports($limit: Int, $offset: Int) {\n",{"type":41,"tag":192,"props":6326,"children":6327},{"class":485,"line":495},[6328],{"type":41,"tag":192,"props":6329,"children":6330},{},[6331],{"type":47,"value":6332},"  report(limit: $limit, offset: $offset, ordering: \"-created_at\") {\n",{"type":41,"tag":192,"props":6334,"children":6335},{"class":485,"line":504},[6336],{"type":41,"tag":192,"props":6337,"children":6338},{},[6339],{"type":47,"value":1566},{"type":41,"tag":192,"props":6341,"children":6342},{"class":485,"line":513},[6343],{"type":41,"tag":192,"props":6344,"children":6345},{},[6346],{"type":47,"value":1574},{"type":41,"tag":192,"props":6348,"children":6349},{"class":485,"line":522},[6350],{"type":41,"tag":192,"props":6351,"children":6352},{},[6353],{"type":47,"value":2129},{"type":41,"tag":192,"props":6355,"children":6356},{"class":485,"line":531},[6357],{"type":41,"tag":192,"props":6358,"children":6359},{},[6360],{"type":47,"value":6361},"      name\n",{"type":41,"tag":192,"props":6363,"children":6364},{"class":485,"line":540},[6365],{"type":41,"tag":192,"props":6366,"children":6367},{},[6368],{"type":47,"value":6369},"      status\n",{"type":41,"tag":192,"props":6371,"children":6372},{"class":485,"line":549},[6373],{"type":41,"tag":192,"props":6374,"children":6375},{},[6376],{"type":47,"value":6377},"      downloadUrl\n",{"type":41,"tag":192,"props":6379,"children":6380},{"class":485,"line":692},[6381],{"type":41,"tag":192,"props":6382,"children":6383},{},[6384],{"type":47,"value":6385},"      createdAt\n",{"type":41,"tag":192,"props":6387,"children":6388},{"class":485,"line":701},[6389],{"type":41,"tag":192,"props":6390,"children":6391},{},[6392],{"type":47,"value":707},{"type":41,"tag":192,"props":6394,"children":6395},{"class":485,"line":710},[6396],{"type":41,"tag":192,"props":6397,"children":6398},{},[6399],{"type":47,"value":546},{"type":41,"tag":192,"props":6401,"children":6402},{"class":485,"line":718},[6403],{"type":41,"tag":192,"props":6404,"children":6405},{},[6406],{"type":47,"value":555},{"type":41,"tag":50,"props":6408,"children":6409},{},[6410,6415,6417,6422,6424,6430,6432,6438],{"type":41,"tag":86,"props":6411,"children":6412},{},[6413],{"type":47,"value":6414},"Critical",{"type":47,"value":6416},": Do NOT present the download link while status is ",{"type":41,"tag":72,"props":6418,"children":6420},{"className":6419},[],[6421],{"type":47,"value":342},{"type":47,"value":6423}," —\nthe file has not been written to S3 yet and the link will return a NoSuchKey\nerror. Poll every ~10 seconds until status = ",{"type":41,"tag":72,"props":6425,"children":6427},{"className":6426},[],[6428],{"type":47,"value":6429},"\"DONE\"",{"type":47,"value":6431},", then present the\n",{"type":41,"tag":72,"props":6433,"children":6435},{"className":6434},[],[6436],{"type":47,"value":6437},"downloadUrl",{"type":47,"value":6439}," to the user.",{"type":41,"tag":56,"props":6441,"children":6442},{},[],{"type":41,"tag":60,"props":6444,"children":6446},{"id":6445},"guardrails",[6447],{"type":47,"value":6448},"Guardrails",{"type":41,"tag":771,"props":6450,"children":6451},{},[6452,6462,6472,6482],{"type":41,"tag":157,"props":6453,"children":6454},{},[6455,6460],{"type":41,"tag":86,"props":6456,"children":6457},{},[6458],{"type":47,"value":6459},"Confirm before writes",{"type":47,"value":6461},": Always confirm with the user before executing any\nmutation (strategy change, reevaluation, spec-ID rules, bulk fiat edit, trigger calc).",{"type":41,"tag":157,"props":6463,"children":6464},{},[6465,6470],{"type":41,"tag":86,"props":6466,"children":6467},{},[6468],{"type":47,"value":6469},"Recalculation reminder",{"type":47,"value":6471},": After any configuration change (strategy, reevaluation,\nspec-ID, fiat edit), remind the user that cost basis needs to be recalculated for\nchanges to take effect.",{"type":41,"tag":157,"props":6473,"children":6474},{},[6475,6480],{"type":41,"tag":86,"props":6476,"children":6477},{},[6478],{"type":47,"value":6479},"Locked periods",{"type":47,"value":6481},": If a mutation fails with a \"locked period\" error, inform the\nuser that the timestamp falls within a locked accounting period and they may need\nto unlock it first.",{"type":41,"tag":157,"props":6483,"children":6484},{},[6485,6490,6492,6497],{"type":41,"tag":86,"props":6486,"children":6487},{},[6488],{"type":47,"value":6489},"Status check before trigger",{"type":47,"value":6491},": Before triggering a recalculation, check the\ncurrent status — if already ",{"type":41,"tag":72,"props":6493,"children":6495},{"className":6494},[],[6496],{"type":47,"value":342},{"type":47,"value":6498},", let the user know it's still running.",{"type":41,"tag":56,"props":6500,"children":6501},{},[],{"type":41,"tag":60,"props":6503,"children":6505},{"id":6504},"limitations-not-available-via-mcp",[6506],{"type":47,"value":6507},"Limitations — not available via MCP",{"type":41,"tag":50,"props":6509,"children":6510},{},[6511],{"type":47,"value":6512},"The following cost basis features exist in the backend but are NOT exposed through\nthe MCP GraphQL API, so this skill cannot perform them:",{"type":41,"tag":153,"props":6514,"children":6515},{},[6516,6526,6551,6561,6571],{"type":41,"tag":157,"props":6517,"children":6518},{},[6519,6524],{"type":41,"tag":86,"props":6520,"children":6521},{},[6522],{"type":47,"value":6523},"Per-wallet reallocation flow",{"type":47,"value":6525}," — The two-phase reallocation process\n(unified inventory -> per-wallet split) is an internal backend operation\ntriggered by org settings, not directly callable via API.",{"type":41,"tag":157,"props":6527,"children":6528},{},[6529,6534,6536,6542,6544,6549],{"type":41,"tag":86,"props":6530,"children":6531},{},[6532],{"type":47,"value":6533},"Viewing raw inventory queue details",{"type":47,"value":6535}," — The ",{"type":41,"tag":72,"props":6537,"children":6539},{"className":6538},[],[6540],{"type":47,"value":6541},"assetRunningQueueFifo",{"type":47,"value":6543}," field\nis available on ",{"type":41,"tag":72,"props":6545,"children":6547},{"className":6546},[],[6548],{"type":47,"value":1534},{"type":47,"value":6550}," but returns large JSON blobs. The queue\ndata is best viewed through the TRES dashboard or via exported reports\n(COST_BASIS_STACK_PER_ACCOUNT \u002F COST_BASIS_STACK_PER_ASSET).",{"type":41,"tag":157,"props":6552,"children":6553},{},[6554,6559],{"type":41,"tag":86,"props":6555,"children":6556},{},[6557],{"type":47,"value":6558},"Short position \u002F loan queue management",{"type":47,"value":6560}," — Short position tracking (loan\nqueue) is configured at the org-settings level and computed automatically.\nThere is no direct API to view or manipulate the loan queue.",{"type":41,"tag":157,"props":6562,"children":6563},{},[6564,6569],{"type":41,"tag":86,"props":6565,"children":6566},{},[6567],{"type":47,"value":6568},"Cost basis calculation internals",{"type":47,"value":6570}," — The actual calculation engine\n(CostBasisCalculator, CostBasisManager) runs server-side. We can trigger it\nand read results, but cannot control the internal calculation flow, caching,\nor S3 queue persistence.",{"type":41,"tag":157,"props":6572,"children":6573},{},[6574,6579],{"type":41,"tag":86,"props":6575,"children":6576},{},[6577],{"type":47,"value":6578},"Internal transfer cost basis mapping",{"type":47,"value":6580}," — How cost basis is carried over\nbetween wallets in internal transfers is automatic and not configurable\nper-transaction via the API.",{"type":41,"tag":50,"props":6582,"children":6583},{},[6584],{"type":47,"value":6585},"For any of these, direct the user to the TRES Finance dashboard or suggest\nexporting the relevant cost basis report for offline analysis.",{"type":41,"tag":6587,"props":6588,"children":6589},"style",{},[6590],{"type":47,"value":6591},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":6593,"total":2315},[6594,6613,6632,6646,6658,6670,6682],{"slug":6595,"name":6595,"fn":6596,"description":6597,"org":6598,"tags":6599,"stars":23,"repoUrl":24,"updatedAt":6612},"quickdesign","generate AI media assets","Use the `quickdesign` CLI to generate AI media — UGC promo videos, image edits, product creatives, video upscales — through Seedance, Kling, Sora2, Nano Banana, and GPT Image. Invoke this skill whenever the user asks for a talking-avatar video, multi-segment ad \u002F promo \u002F explainer, image edit (object swap, angle change, state change), product photoshoot, or video upscale via QuickDesign.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6600,6603,6606,6609],{"name":6601,"slug":6602,"type":16},"Creative","creative",{"name":6604,"slug":6605,"type":16},"Image Generation","image-generation",{"name":6607,"slug":6608,"type":16},"Marketing","marketing",{"name":6610,"slug":6611,"type":16},"Video","video","2026-07-01T08:09:32.316182",{"slug":6614,"name":6614,"fn":6615,"description":6616,"org":6617,"tags":6618,"stars":23,"repoUrl":24,"updatedAt":6631},"testdino-audit","audit Playwright test code","Use only when the user explicitly asks for a TestDino audit of Playwright automated test code. Routes through the audit tools the TestDino MCP server exposes (get_audit_report + submit_audit_report, or the legacy test_audit). For generic code review or non-Playwright targets, do a normal review instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6619,6622,6625,6628],{"name":6620,"slug":6621,"type":16},"Audit","audit",{"name":6623,"slug":6624,"type":16},"Code Analysis","code-analysis",{"name":6626,"slug":6627,"type":16},"Playwright","playwright",{"name":6629,"slug":6630,"type":16},"Testing","testing","2026-07-02T07:37:17.341081",{"slug":6633,"name":6633,"fn":6634,"description":6635,"org":6636,"tags":6637,"stars":23,"repoUrl":24,"updatedAt":6645},"testdino-health","manage TestDino connection status","Use when the user wants to check TestDino connection status, validate their PAT, discover available organizations and projects, or find the right projectId. Always call this first when the project context is ambiguous before any other TestDino tool.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6638,6641,6644],{"name":6639,"slug":6640,"type":16},"Monitoring","monitoring",{"name":6642,"slug":6643,"type":16},"QA","qa",{"name":6629,"slug":6630,"type":16},"2026-07-02T07:37:18.566504",{"slug":6647,"name":6647,"fn":6648,"description":6649,"org":6650,"tags":6651,"stars":23,"repoUrl":24,"updatedAt":6657},"testdino-manual-runs","manage manual QA execution runs in TestDino","Use when the user wants to manage a manual execution run or update case-level results inside a run — listing runs, creating runs for a release, inspecting a run, assigning cases, or marking case results (passed\u002Ffailed\u002Fblocked\u002Fskipped\u002Fretest\u002Funtested). Accepts counter-style IDs like RUN-12 and TC-156.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6652,6655,6656],{"name":6653,"slug":6654,"type":16},"Operations","operations",{"name":6642,"slug":6643,"type":16},{"name":6629,"slug":6630,"type":16},"2026-07-02T07:37:23.446065",{"slug":6659,"name":6659,"fn":6660,"description":6661,"org":6662,"tags":6663,"stars":23,"repoUrl":24,"updatedAt":6669},"testdino-manual-tests","manage manual QA test cases in TestDino","Use when the user wants to create, update, or browse manual QA test cases and suites in TestDino — not execution runs. Covers list_manual_test_suites, list_manual_test_cases, get_manual_test_case, create_manual_test_case, update_manual_test_case, create_manual_test_suite.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6664,6667,6668],{"name":6665,"slug":6666,"type":16},"Documentation","documentation",{"name":6642,"slug":6643,"type":16},{"name":6629,"slug":6630,"type":16},"2026-07-02T07:37:22.247052",{"slug":6671,"name":6671,"fn":6672,"description":6673,"org":6674,"tags":6675,"stars":23,"repoUrl":24,"updatedAt":6681},"testdino-releases","manage TestDino releases and milestones","Use when the user wants to browse, inspect, create, or update releases\u002Fmilestones in a TestDino project. Covers list_releases, get_release, create_release, and update_release. Accepts counter-style IDs like MS-12.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6676,6679,6680],{"name":6677,"slug":6678,"type":16},"Project Management","project-management",{"name":6642,"slug":6643,"type":16},{"name":6629,"slug":6630,"type":16},"2026-07-02T07:37:19.793846",{"slug":6683,"name":6683,"fn":6684,"description":6685,"org":6686,"tags":6687,"stars":23,"repoUrl":24,"updatedAt":6694},"testdino-runs","inspect automated test runs","Use when the user wants to inspect automated test runs, list failed or flaky tests, debug a failing testcase with historical context, or filter runs by branch, commit, author, environment, browser, status, or tags. Includes list_testruns, get_run_details, list_testcase, get_testcase_details, and debug_testcase.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6688,6691,6692,6693],{"name":6689,"slug":6690,"type":16},"Debugging","debugging",{"name":6626,"slug":6627,"type":16},{"name":6642,"slug":6643,"type":16},{"name":6629,"slug":6630,"type":16},"2026-07-02T07:37:16.07175",{"items":6696,"total":6879},[6697,6716,6730,6742,6761,6772,6793,6813,6827,6842,6850,6863],{"slug":6698,"name":6698,"fn":6699,"description":6700,"org":6701,"tags":6702,"stars":6713,"repoUrl":6714,"updatedAt":6715},"algorithmic-art","create algorithmic art with p5.js","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6703,6704,6707,6710],{"name":6601,"slug":6602,"type":16},{"name":6705,"slug":6706,"type":16},"Design","design",{"name":6708,"slug":6709,"type":16},"Generative Art","generative-art",{"name":6711,"slug":6712,"type":16},"JavaScript","javascript",161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-04-06T17:56:15.455818",{"slug":6717,"name":6717,"fn":6718,"description":6719,"org":6720,"tags":6721,"stars":6713,"repoUrl":6714,"updatedAt":6729},"brand-guidelines","apply Anthropic brand colors and typography","Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6722,6725,6726],{"name":6723,"slug":6724,"type":16},"Branding","branding",{"name":6705,"slug":6706,"type":16},{"name":6727,"slug":6728,"type":16},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":6731,"name":6731,"fn":6732,"description":6733,"org":6734,"tags":6735,"stars":6713,"repoUrl":6714,"updatedAt":6741},"canvas-design","create posters and visual art as PNG or PDF","Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6736,6737,6738],{"name":6601,"slug":6602,"type":16},{"name":6705,"slug":6706,"type":16},{"name":6739,"slug":6740,"type":16},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":6743,"name":6743,"fn":6744,"description":6745,"org":6746,"tags":6747,"stars":6713,"repoUrl":6714,"updatedAt":6760},"claude-api","build apps with the Claude API","Reference for the Claude API \u002F Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration.\nTRIGGER — read BEFORE opening the target file; don't skip because it \"looks like a one-liner\" — whenever: the prompt names Claude\u002FAnthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing\u002Fmodel choice\u002Flimits\u002Fcaching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent\u002FMCP\u002Ftool-definition\u002Fmulti-agent\u002FRAG\u002FLLM-judge\u002Fcomputer-use; generate\u002Fsummarize\u002Fextract\u002Fclassify\u002Frewrite\u002Fconverse over NL; debugging refusals\u002Fcutoffs\u002Fstreaming\u002Ftool-calls\u002Ftokens).\nSKIP only when another provider is being worked on (overrides all triggers): OpenAI\u002FGPT\u002FGemini\u002FLlama\u002FMistral\u002FCohere\u002FOllama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIRST if no provider named — don't Read the file).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6748,6751,6752,6755,6757],{"name":6749,"slug":6750,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":6753,"slug":6754,"type":16},"Anthropic SDK","anthropic-sdk",{"name":6756,"slug":6743,"type":16},"Claude API",{"name":6758,"slug":6759,"type":16},"LLM","llm","2026-07-28T05:36:08.213335",{"slug":6762,"name":6762,"fn":6763,"description":6764,"org":6765,"tags":6766,"stars":6713,"repoUrl":6714,"updatedAt":6771},"doc-coauthoring","co-author documentation and technical specs","Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6767,6768],{"name":6665,"slug":6666,"type":16},{"name":6769,"slug":6770,"type":16},"Technical Writing","technical-writing","2026-04-06T17:56:14.18897",{"slug":6773,"name":6773,"fn":6774,"description":6775,"org":6776,"tags":6777,"stars":6713,"repoUrl":6714,"updatedAt":6792},"docx","create and edit Word documents","Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6778,6781,6783,6786,6789],{"name":6779,"slug":6780,"type":16},"Documents","documents",{"name":6782,"slug":6773,"type":16},"DOCX",{"name":6784,"slug":6785,"type":16},"Office","office",{"name":6787,"slug":6788,"type":16},"Templates","templates",{"name":6790,"slug":6791,"type":16},"Word","word","2026-07-18T05:16:23.136271",{"slug":6794,"name":6794,"fn":6795,"description":6796,"org":6797,"tags":6798,"stars":6713,"repoUrl":6714,"updatedAt":6812},"frontend-design","design production-grade frontend interfaces","Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6799,6800,6803,6806,6809],{"name":6705,"slug":6706,"type":16},{"name":6801,"slug":6802,"type":16},"Frontend","frontend",{"name":6804,"slug":6805,"type":16},"React","react",{"name":6807,"slug":6808,"type":16},"Tailwind CSS","tailwind-css",{"name":6810,"slug":6811,"type":16},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":6814,"name":6814,"fn":6815,"description":6816,"org":6817,"tags":6818,"stars":6713,"repoUrl":6714,"updatedAt":6826},"internal-comms","write internal company communications","A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6819,6822,6823],{"name":6820,"slug":6821,"type":16},"Communications","communications",{"name":6787,"slug":6788,"type":16},{"name":6824,"slug":6825,"type":16},"Writing","writing","2026-04-06T17:56:20.695522",{"slug":6828,"name":6828,"fn":6829,"description":6830,"org":6831,"tags":6832,"stars":6713,"repoUrl":6714,"updatedAt":6841},"mcp-builder","build MCP servers","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node\u002FTypeScript (MCP SDK).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6833,6834,6837,6838],{"name":6749,"slug":6750,"type":16},{"name":6835,"slug":6836,"type":16},"API Development","api-development",{"name":6758,"slug":6759,"type":16},{"name":6839,"slug":6840,"type":16},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":6740,"name":6740,"fn":6843,"description":6844,"org":6845,"tags":6846,"stars":6713,"repoUrl":6714,"updatedAt":6849},"read edit and manipulate PDF files","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6847,6848],{"name":6779,"slug":6780,"type":16},{"name":6739,"slug":6740,"type":16},"2026-04-06T17:56:02.483316",{"slug":6851,"name":6851,"fn":6852,"description":6853,"org":6854,"tags":6855,"stars":6713,"repoUrl":6714,"updatedAt":6862},"pptx","create and edit PowerPoint presentations","Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6856,6859],{"name":6857,"slug":6858,"type":16},"PowerPoint","powerpoint",{"name":6860,"slug":6861,"type":16},"Presentations","presentations","2026-07-18T05:16:24.1471",{"slug":6864,"name":6864,"fn":6865,"description":6866,"org":6867,"tags":6868,"stars":6713,"repoUrl":6714,"updatedAt":6878},"skill-creator","create and optimize agent skills","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[6869,6870,6871,6874,6877],{"name":6749,"slug":6750,"type":16},{"name":6665,"slug":6666,"type":16},{"name":6872,"slug":6873,"type":16},"Evals","evals",{"name":6875,"slug":6876,"type":16},"Performance","performance",{"name":6769,"slug":6770,"type":16},"2026-04-19T06:45:40.804",490]