158 KiB
Completion Evidence: compact-portfolio-totals
Delivery Map and commits
- frontend: affected; delivery commit
47fbc212831058f1a0f1226dd262bf5c37870e34. - docs: affected; delivery commit
2985def574f1c22f9c41f6755b802342fafb30cd. - specs: affected; delivery commit
b06a35bbaab83700f3435b50a559614860e5c07c. - frontend: compact totals, exact currency presentation, accessible names and matching loading geometry.
- docs: as-built portfolio-view feature description.
- specs: approved planning, eight a1-symbols-r1 materials and completed Tasks 1.1–1.4, 2.1–2.2.
- backend: N/A; calculations, data acquisition and HTTP/OpenAPI contract unchanged.
- runtime-openapi: N/A; neither side of API contract changed.
Approval and Finalization checks
All four approval fingerprints match; explicit owner message IDs and their preceding approval requests independently read in the two source tasks recorded below. Native status refreshed exact Delta membership. All eight Design material hashes match. Full PASS inventory re-expanded after delivery commits, including commit-hook execution: unchanged. All implementation Tasks checked.
Semantic sync: three ADDED requirements have no identity collision; the one MODIFIED client state requirement preserves the two prior scenario identities with approved cache semantics and adds six scenarios. Existing Purpose and all unrelated requirements remain unchanged. Current specs instructions JSON is valid; optional rules absent. No audit-derived registry update applies.
{
"proposal": {
"fingerprint": "sha256:ee68cbe232cbac748ac0a3174e875f6c841f298c4010f09ab9a905f0d7ee4463",
"inventory": [
{
"path": "specs/openspec/changes/compact-portfolio-totals/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "c0fe9ced94e036462642154fa7a16dd5df92ea465f6332b46de0afce7f9bd564"
}
],
"status": "approved",
"artifact": {
"store": "wealth-ledger-specs",
"change": "compact-portfolio-totals",
"name": "proposal",
"paths": [
"specs/openspec/changes/compact-portfolio-totals/proposal.md"
]
},
"decision_source": {
"thread": "01a084a2-276b-77a0-b875-2b3e8e1b03e0",
"message": "01a084a5-dff2-7fd3-97d2-138876580d13",
"quote": "все ок, давай дальше"
}
},
"specs": {
"fingerprint": "sha256:d62a508d1dcf3b63fcf4b698ba057adc332dc411cd9fa0c25ddb9fcae14d777d",
"inventory": [
{
"path": "specs/openspec/changes/compact-portfolio-totals/specs/portfolio-view/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "c2ac78e160d85485d02cee24fd28abb45a947813b0266f3535d49ec6fd58b0bb"
}
],
"status": "approved",
"artifact": {
"store": "wealth-ledger-specs",
"change": "compact-portfolio-totals",
"name": "specs",
"paths": [
"specs/openspec/changes/compact-portfolio-totals/specs/portfolio-view/spec.md"
]
},
"decision_source": {
"thread": "01a084a2-276b-77a0-b875-2b3e8e1b03e0",
"message": "01a084ab-709c-70f2-8833-066583e6692e",
"quote": "ок, идем дальше"
}
},
"design": {
"fingerprint": "sha256:ea69a333dabc0e82280a5a78ee6dd724935cdbc2b3ea0b656f2759ee901a97a3",
"inventory": [
{
"path": "specs/openspec/changes/compact-portfolio-totals/design.md",
"kind": "file",
"mode": "100644",
"sha256": "39fc7651a290c9380ab4e12bb76309082c4f2ebe5c5b8bdf7dbd3b48fcd1f7b0"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-error-stale-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "c63c8a30cc932582f591422dd4871c6663cb55567218cee988d7119d77d4a4e3"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-loading-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "138b000b334f54294f6cd8e88d607619608b05620231267fc1dc0477e1f87f46"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-long-320.png",
"kind": "file",
"mode": "100644",
"sha256": "48d62eaa497819e6312f5ae56afa393f92c7bb0970543cd9b3abdd5960480534"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-long-wide.png",
"kind": "file",
"mode": "100644",
"sha256": "ecccaee124c72b0f4f22bd92b31ef97e260c830782761ed9e7aab4c33a7e0af0"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "8ee71bb406abaa980e08f57c45e007fb66183786dfd251c9280a6ff62205d922"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-refresh-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "e453606105a96290a2d2358e039935c89187a90127ffe4228374ae6e16c9e252"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-single-wide.png",
"kind": "file",
"mode": "100644",
"sha256": "6f163dd4a4ba461df5e715bab5757f4698986aade56ae38f02585d9c8d366b28"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-wide.png",
"kind": "file",
"mode": "100644",
"sha256": "b406552e01098a5b95183d6a54bd59b3bf827387d33d73a6a453d83140b8da10"
}
],
"status": "approved",
"artifact": {
"store": "wealth-ledger-specs",
"change": "compact-portfolio-totals",
"name": "design",
"paths": [
"specs/openspec/changes/compact-portfolio-totals/design.md",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-error-stale-narrow.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-loading-narrow.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-long-320.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-long-wide.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-narrow.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-refresh-narrow.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-single-wide.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-wide.png"
]
},
"decision_source": {
"thread": "01a084ad-40c8-78e3-9a70-654d4b62f390",
"message": "01a084b3-622f-7a31-98f7-b82aa1749371",
"quote": "окей, давай дальше"
}
},
"tasks": {
"fingerprint": "sha256:d1ef7906b9f5cd27e93fdf1f42cb48f9da8f970cec5554e2edbc2e9f97ab2354",
"inventory": [
{
"path": "specs/openspec/changes/compact-portfolio-totals/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "abcd9e150f392b4c10093f72168c6bc3cb7dae6a3991927ca41919cd490c0f6a"
}
],
"status": "approved",
"artifact": {
"store": "wealth-ledger-specs",
"change": "compact-portfolio-totals",
"name": "tasks",
"paths": [
"specs/openspec/changes/compact-portfolio-totals/tasks.md"
]
},
"decision_source": {
"thread": "01a084ad-40c8-78e3-9a70-654d4b62f390",
"message": "01a084b6-68f1-7591-9a5c-d48fef8cb3bf",
"quote": "все ок, напиши промпт, чтобы продолжить дальше"
}
}
}
Independent Validation evidence
Source: independent task 01a084dc-4e2d-7d50-bfe7-18bf6162ae5e, immutable 004-validation-1.md. Verdict PASS; no Critical or Important findings. The following observed evidence and exact input binding are preserved from that record.
Completed work and relevant evidence
Independent reviewer task 01a084dc-4e2d-7d50-bfe7-18bf6162ae5e, separate from Implementation. Read shared protocol, lifecycle, context/governance authorities, state snapshot and only current 003-implementation-3.md. No older records read. All native Apply context files read; all eight a1-symbols-r1 PNGs independently viewed and raw SHA-256 verified. Native status and instructions apply used --change compact-portfolio-totals --json --store wealth-ledger-specs (exit 0; /tmp/cpt-status.json, /tmp/cpt-apply.json). Fresh native Delta membership exactly specs/openspec/changes/compact-portfolio-totals/specs/portfolio-view/spec.md. All six implementation Tasks 1.1–1.4, 2.1–2.2 checked; none changed by this reviewer. All four approval fingerprints matched current canonical paths; Tasks normalized only checklist progress. Explicit owner messages independently inspected through read_thread: Proposal/Specs task 01a084a2-276b-77a0-b875-2b3e8e1b03e0 and Design/Tasks task 01a084ad-40c8-78e3-9a70-654d4b62f390. Message IDs and scope match preserved state decision_source; each reply follows the corresponding approval request (Design includes all eight materials).
Fresh gates
Every Node execution activated applicable .nvmrc using source ~/.nvm/nvm.sh; nvm use --silent. Specs selected frontend runtime before cd ../specs. No saved Implementation gate reused.
- frontend cwd: npm ci (exit 0); npm run verify (exit 0). OpenAPI snapshot, TypeScript, Biome, coverage, Knip, dependency boundaries, app and Storybook builds pass. 26 test files, 136 tests passed; total coverage statements 90%, branches 85.22%, functions 88.12%, lines 91.74%. Logs /tmp/cpt-validation-frontend-install.log and /tmp/cpt-validation-frontend-gate.log. Existing build chunk-size warnings are nonblocking.
- docs cwd: npm ci (exit 0); npm run verify (exit 0). Markdown lint 44 files, zero issues; git diff --check passed. Logs /tmp/cpt-validation-docs-install.log and /tmp/cpt-validation-docs-gate.log.
- specs cwd: openspec schema validate wealth-ledger-sdd --verbose (exit 0), openspec validate compact-portfolio-totals --type change --strict --store wealth-ledger-specs (exit 0), openspec validate --specs --strict --store wealth-ledger-specs (exit 0, 25 passed / 0 failed). Logs /tmp/cpt-validation-schema.log, /tmp/cpt-validation-change.log, /tmp/cpt-validation-specs.log.
Independent semantic and acceptance review
Complete frontend working diff (including untracked PortfolioTotals.test.tsx), docs diff and native planning package reviewed. No production, tests, planning or Tasks edits. Only shared formatDecimal exports changed outside presentation/i18n; formatter algorithm and formatMoney behavior remain unchanged. Currency membership/order is direct input mapping; USD/CAD and unknown ISO stay distinct. dl/dt/dd establishes each currency/value pair, hidden accessible names are localized, decorative signs hidden; no card tab stops, live regions or interactions added. Negative first digit stays with minus; text bytes remain unchanged. CSS owns reflow, no JS measurements, rounding, clipping, ellipsis or domain aggregation added. Account VM selects empty using positions and cashBalances and passes raw totals into unchanged loaded composition. Existing production query has staleTime 30000; application QueryClient disables retry and focus refetch; no polling configured. Fresh regression tests prove cached 503/404 -> retry -> successful USD -0.5 transition, retained UTC timestamps before success, server/client warning separation, loading, error actions and nonempty portfolios without totals. Synthetic browser callbacks are not substituted for this query integration proof. Docs feature additions accurately describe this behavior. No new or changed Markdown links; scoped local-link review finds no introduced issue. Main portfolio-view baseline inspected for relevant monetary and state semantics; its old hide-on-expiry and unconditional 404 language is explicitly replaced by approved MODIFIED requirement. Other baseline behavior is retained. No debug/temp stories or new dependencies in delivery inventory. Required architecture ownership and frontend mandatory component conventions hold.
Independent browser evidence
Fresh localhost harness in /tmp/cpt-validation-browser imports actual current frontend AccountPageLoaded/Loading and actual CSS, i18n, theme and cssVariablesResolver; fixture controls and baseline comparison exist only in /tmp. Its main.tsx adapts the prior synthetic fixture source, whose data was independently checked. Prior implementation screenshots were not treated as independent proof. Vite invocation: frontend cwd, activated .nvmrc, ./node_modules/.bin/vite --config /tmp/cpt-validation-browser/vite.config.mjs. Initial sandbox bind EPERM; explicitly authorized escalated rerun on 127.0.0.1:6010 succeeded. Computer Use in-app Chromium inspected DOM, native AX and rendered screenshots. Relevant raw interaction/measurement outputs are in this reviewer task, tool calls titled “Подтвердить 56 случаев с полной конфигурацией theme и показать 200% reflow”, “Проверить loading geometry, занятость и отсутствие фокуса”, and “Проверить раздельные предупреждения, сохранённые суммы и клавиатурный retry”. Final 56-case matrix = widths 320,390,767,769,991,993,1440 × normal/single/long/extra × CSS zoom 1/2. All exact expected strings match, zero grid/card/amount scrollWidth > clientWidth. Fixtures cover approved normal and long values, negative fraction, CAD, XYZ and 60-digit continuous fraction. No focusable card descendants. Baseline comparison uses HEAD presentation with same inputs, font, width and scale. At 100% ordinary three totals: 191px vs 289.390625px on widths 320/390/767; 124px vs 187.59375px at 769/991; 57px vs 85.796875px at 993/1440. One ordinary total: 57px vs 85.796875px at all seven widths. Columns 1/2/3 match 48em/62em boundaries. Long values reflow below badge as needed; no fixed canvas line-break requirement. Enlarged text is allowed to increase card height by Design. Observed style: white card, 1px gray-3 border, radius 8px, padding 12px; badge 40x24; amount 20px, weight 600, line-height 31px. Screenshots at narrow/wide and 200% match applicable card design; neighboring sections are unchanged and outside redesign scope. Loading at all seven widths: 3 decorative 57px cards, expected columns, busy=true, no focusable descendants, zero overflow. Native AX reads Russian currency names and full amounts, no decorative duplicate symbols. Fresh browser states refresh/error/stale/error+stale/success preserve full totals and timestamp; only client error offers retry. Enter on actual Retry invokes callback, switches to progress while retaining totals/time. No totals with cash yields zero cards and visible cash section. Browser zoom evidence is CSS zoom 200%, not native browser UI zoom; browser checks use synthetic presentation props, integration tests prove actual cache transitions. These limits do not replace or weaken declared checks.
Input binding
Verdict source: this independent Validation task and this immutable record. Inventory was captured before fresh gates and re-expanded after checks; full byte-derived inventory and fingerprint identical. Roots cover entire frontend/docs/specs Git candidate membership, including dependency/config files, new nonignored files, current main baseline, raw planning/Tasks, all Design materials and local AGENTS. Relevant workspace instructions explicitly included. Own navigation files and completion-evidence excluded from self-hash; no unrelated repository changes excluded. Generated ignored node_modules/build artifacts are reconstructed outputs; npm ci binds dependencies to included lockfiles. Exact fingerprint procedure: context authority wealth-ledger-input-v1. Commit/staging alone does not invalidate this content binding. On reuse re-expand roots and retain former missing paths.
{
"roots": [
"frontend/",
"docs/",
"specs/"
],
"exclusions": [
"specs/openspec/changes/compact-portfolio-totals/completion-evidence.md"
],
"workspace_paths": [
".agents/skills/sdd-session/SKILL.md",
".agents/skills/sdd-session/references/workflow-protocol.md",
".agents/skills/sdd-validation/SKILL.md",
"AGENTS.md"
],
"purpose": "Full affected repository gate inputs and independent planning/delivery review; all Git candidate files, including new nonignored files. Ignored node_modules/build outputs excluded as generated; dependencies installed by npm ci. Backend N/A unchanged API/data contract.",
"fingerprint": "sha256:83d3e09bd8cd4462dee51d2cfa6b66aa524624434158f155714ce686ca1eb499",
"gate_fingerprints": {
"frontend": "sha256:468375ac62b6a08ce49b3a9bb54eb0e495e905111db48668e627e4163447d1a1",
"docs": "sha256:19832f7f3f44817e3ca1b43a3ae39c23e205b6b590047e1252fa85b3b314d26b",
"specs": "sha256:b0862db28fd59a26dd66d9a6d60aa664b4e61bacaabe1fae3ca190a18f3ebc8a"
},
"inventory": [
{
"path": ".agents/skills/sdd-session/SKILL.md",
"kind": "file",
"mode": "100644",
"sha256": "38e45d11b4e4f2aab18148930f10582d1badabf970537e47a8f89f73f8ab454a"
},
{
"path": ".agents/skills/sdd-session/references/workflow-protocol.md",
"kind": "file",
"mode": "100644",
"sha256": "f4462e9fc6057064113e76ee6755d4b19db3ca07af9ce4379cb0c806b4437d06"
},
{
"path": ".agents/skills/sdd-validation/SKILL.md",
"kind": "file",
"mode": "100644",
"sha256": "14831a87057ed7a2978ada0b7b1dbf7019aef74cef4ef78ed2091429c2d6ffcc"
},
{
"path": "AGENTS.md",
"kind": "file",
"mode": "100644",
"sha256": "3e5ed52ca50a0424fb967a92afeaca6e162f3c16e01d0fcb352e48362235cd7f"
},
{
"path": "docs/.gitignore",
"kind": "file",
"mode": "100644",
"sha256": "4d56952b0fb13bf8f9b6c13a6d4c34a075bac3af447636a1df4335d7576e2f97"
},
{
"path": "docs/.markdownlint-cli2.jsonc",
"kind": "file",
"mode": "100644",
"sha256": "be63447d1d31bcedba10e009b12bd9bab07d5918bc8de8093865c74a54e7fe78"
},
{
"path": "docs/.nvmrc",
"kind": "file",
"mode": "100644",
"sha256": "f14b4987904bcb5814e4459a057ed4d20f58a633152288a761214dcd28780b56"
},
{
"path": "docs/AGENTS.md",
"kind": "file",
"mode": "100644",
"sha256": "a934307476c518f447a91c83e139b17860da32608cee69e210cb4ec985f5d9d1"
},
{
"path": "docs/adr/001-prisma-sqlite-local-mvp.md",
"kind": "file",
"mode": "100644",
"sha256": "e43d6d771bebd53bc6864646cb13b5f7501d610edac17fe13b2e7ac945613757"
},
{
"path": "docs/adr/002-nest-generated-openapi-contract.md",
"kind": "file",
"mode": "100644",
"sha256": "13b55e00d9e362d4764ef55976bb250ea78c0931a1da8f0453baaa091b5a8bd2"
},
{
"path": "docs/adr/003-tbank-server-side-grpc-boundary.md",
"kind": "file",
"mode": "100644",
"sha256": "913388ffa0dec5dabed83e72805aa1074390ea09e600c35db744d7dd10385ed6"
},
{
"path": "docs/adr/004-encrypted-per-user-tbank-token.md",
"kind": "file",
"mode": "100644",
"sha256": "7345db35f23bf7436a05749a7223191cdd43a0490b80252d57f8aed52cf5eb81"
},
{
"path": "docs/adr/005-tbank-upstream-resilience.md",
"kind": "file",
"mode": "100644",
"sha256": "d176fe9d114c3f3cfef5437ad109fc4c0763996df13811f82d94db375ed81416"
},
{
"path": "docs/adr/006-auth-session-policy.md",
"kind": "file",
"mode": "100644",
"sha256": "ad17b1ca13be43b476f47b4395eff0639162928a761fa0c540ba8d9f2de23661"
},
{
"path": "docs/adr/007-react-query-fetch-policy.md",
"kind": "file",
"mode": "100644",
"sha256": "deb1c7cff757e6f500d8ba1a6982baaeb79d8fdf4aa0127cbc32d8530df86665"
},
{
"path": "docs/adr/008-pino-backend-logging.md",
"kind": "file",
"mode": "100644",
"sha256": "3420b3fbe6893b08390366a418fed0e7024a5e8566c037b6d3e9158bf8fc3848"
},
{
"path": "docs/adr/009-concurrent-refresh-rotation-policy.md",
"kind": "file",
"mode": "100644",
"sha256": "0eb9ec3f94fe5cd7eddf601d8dd98b1ea1c482c58f4af039ed0d36d9219d265f"
},
{
"path": "docs/adr/010-native-openspec-sdd-and-local-orchestration.md",
"kind": "file",
"mode": "100644",
"sha256": "b53109e4c6ccf104a8ef87d8f8f007cf8291de6cf99351201741df390e89dee1"
},
{
"path": "docs/adr/README.md",
"kind": "file",
"mode": "100644",
"sha256": "87397b932d073691809e8c7d16c0979e6251fe8babdd8c3545a951feef0dc13a"
},
{
"path": "docs/architecture/README.md",
"kind": "file",
"mode": "100644",
"sha256": "e84fba694c45cb6d5c747e7b44a4678280794b828c33a7ce0c3b6dc75f38b614"
},
{
"path": "docs/architecture/domain-glossary.md",
"kind": "file",
"mode": "100644",
"sha256": "246278c09dfe2a53cbece93b0db1ae1ab44f08cfa87167da2e5d98f37b39f8b1"
},
{
"path": "docs/architecture/system-overview.md",
"kind": "file",
"mode": "100644",
"sha256": "6b9b0b24f3b22a0e78f6f3315045af33d101a31309eab9063f5f099ea002a921"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd-v2-review/README.md",
"kind": "file",
"mode": "100644",
"sha256": "b38ec6ac31d18cf6a4ceb8bf5c176640f8909c8d708884eb1d2106e503423321"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd-v2-review/deepseek-audit.md",
"kind": "file",
"mode": "100644",
"sha256": "a2cc3b5ebf4c4ced326d4ca8cad1da59c725ae0538c5f5df0b885203d03177f4"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd-v2-review/gemini-audit.md",
"kind": "file",
"mode": "100644",
"sha256": "528952869ceeef2502a90baadb9d4802aada1fbf342730acc35535f3adbc77e5"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd-v2-review/grok-audit.md",
"kind": "file",
"mode": "100644",
"sha256": "a57789cb6f6c7f9415ba45a279d347ee8e5749063b62d2d9d8a4c214938d8136"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd-v2-review/kimi-audit.md",
"kind": "file",
"mode": "100644",
"sha256": "67f5d725f548c221c824a90ee0254f2d4805479cd3069563c3732e844fd625b7"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd-v2-review/qwen-audit.md",
"kind": "file",
"mode": "100644",
"sha256": "74b41a6c1f8302da649e00c5bf83b34804a604f0b0a563261fb3e5ac6f30abe5"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd-v2-review/zai-audit.md",
"kind": "file",
"mode": "100644",
"sha256": "af06d4060e43d91ba2aac2ca453f0cea6a226fc0ccff66d68412c3d646018979"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd/README.md",
"kind": "file",
"mode": "100644",
"sha256": "7d9949ff660b77df66c6c1a863681dcd0ee6af00b131394ffa9c3154034c52a6"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd/deepseek-result.md",
"kind": "file",
"mode": "100644",
"sha256": "2d50f4c195507ceb079d69489c03f1ea8a81185e2594dd51ff6a293ab8198db8"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd/gemini-result.md",
"kind": "file",
"mode": "100644",
"sha256": "af95a4c208c993621a6c15102a1e26684eee6c2966b166f6ba23b600d0e33696"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd/kimi-result.md",
"kind": "file",
"mode": "100644",
"sha256": "31d423903cde2d7c1feb711cc625c77864964bb66cfd0cacb734c5c6bbdddd17"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd/qwen-result.md",
"kind": "file",
"mode": "100644",
"sha256": "1b6582efe55b7044d2bebc9c1a146df1963e4103c5517c259ccf617d6d2b4f14"
},
{
"path": "docs/audits/2026-08-26-wealth-ledger-sdd/zai-result.md",
"kind": "file",
"mode": "100644",
"sha256": "0bdb7785087c8d1b6fe532d578804aa498bfc90935623d79c1003cd1899d5bad"
},
{
"path": "docs/audits/2026-08-frontend-repository-audits/README.md",
"kind": "file",
"mode": "100644",
"sha256": "49054cc1df4206a105a2d192457012097fc1fe856d68b95dec7c497b8138ce31"
},
{
"path": "docs/audits/2026-08-frontend-repository-audits/frontend-repository-audit-2026-08-28.md",
"kind": "file",
"mode": "100644",
"sha256": "6b7968ebeb7eac1017e2c75e7e7888486d8a232bed7730f760960d77c5343e24"
},
{
"path": "docs/audits/2026-08-frontend-repository-audits/frontend-repository-audit.md",
"kind": "file",
"mode": "100644",
"sha256": "1071171cfc987113ea209383c687b0b54932e5a390726ca62650b0de90a722b6"
},
{
"path": "docs/audits/2026-08-frontend-repository-audits/frontend-structural-maintainability-audit.md",
"kind": "file",
"mode": "100644",
"sha256": "7b5de5c82951f70b8ec7431468ed5cffee3bcf98ba09b029d327a8bb72c1fc36"
},
{
"path": "docs/audits/README.md",
"kind": "file",
"mode": "100644",
"sha256": "84d665f0cbe510f379e4473750c962ea1a0e2aa24161c86ef6f742ba66227f4b"
},
{
"path": "docs/audits/audit-13-08-2026.md",
"kind": "file",
"mode": "100644",
"sha256": "3e5829193d0854156bcfac1214e7bfca60c6e8d8ce8db9154fa807a431c636c8"
},
{
"path": "docs/audits/audit-20-08-2026.md",
"kind": "file",
"mode": "100644",
"sha256": "27e2cc3fc3ad3d3f2cdc20728d6b812254d923a2f0e1e45be2f14490ece0dabf"
},
{
"path": "docs/audits/audit-24-08-2026.md",
"kind": "file",
"mode": "100644",
"sha256": "163085a69de87ba1dd28e3f82118786167f9c0489ea9dd2695cf9ab2e8a68bac"
},
{
"path": "docs/audits/codex-sessions-token-audit-2026-08-26.md",
"kind": "file",
"mode": "100644",
"sha256": "e2d805d48dc793468bcc2f5126ab72cdfcfec6d1ec8d5916897dfe432192a73d"
},
{
"path": "docs/development/README.md",
"kind": "file",
"mode": "100644",
"sha256": "08b06c2ad2c7e6ad32320a4cbc42e251a612ac82900ef74bbaecf376b4b1a2f9"
},
{
"path": "docs/development/agent-token-efficiency.md",
"kind": "file",
"mode": "100644",
"sha256": "dae11d6a0dccc381d671173162740e74908c57414b4db07e12f79f316a13562a"
},
{
"path": "docs/development/audit-remediation.md",
"kind": "file",
"mode": "100644",
"sha256": "be6a892e8f97dca5549b6508281f52d529946988408035ac8ce1801994423ce4"
},
{
"path": "docs/development/backend-workflow.md",
"kind": "file",
"mode": "100644",
"sha256": "5c87fa0c931f56efddc0fa887627e55ec6728467c61fbf1394447f78cef9896d"
},
{
"path": "docs/development/completion-evidence.md",
"kind": "file",
"mode": "100644",
"sha256": "5c1f3fb3c72613c25c8591355a56cdd10749295d22425df6dd7f36b27fbc2434"
},
{
"path": "docs/development/design-system.md",
"kind": "file",
"mode": "100644",
"sha256": "2e82bb27e2c7dde5f31315f731c8cd97258570608dcc8518c9679688c8145eec"
},
{
"path": "docs/development/engineering-governance.md",
"kind": "file",
"mode": "100644",
"sha256": "643822346cfa50a30e79d3bcfdd649a7902a43da7a8a31ce773e984fb179fa5c"
},
{
"path": "docs/development/frontend-workflow.md",
"kind": "file",
"mode": "100644",
"sha256": "5eed875b21f69812ff92660ac3199f8b2a9e55427092f1e9713d8c81501feef7"
},
{
"path": "docs/development/openspec-authority-and-lifecycle.md",
"kind": "file",
"mode": "100644",
"sha256": "ddf26cabeecc70b512fadc6c24958bc33c408cf91bbb45d49f9483a1851e4c31"
},
{
"path": "docs/development/runtime-openapi-verification.md",
"kind": "file",
"mode": "100644",
"sha256": "499989c73752b75e7ba92c268c8eb5fdf26ea1e709467c63173a157a63b22014"
},
{
"path": "docs/development/ui-catalog.md",
"kind": "file",
"mode": "100644",
"sha256": "4157bc32721a7aa76abbf45f69a250b9512c74ef4de2ac6186e13e72398cb8be"
},
{
"path": "docs/features/README.md",
"kind": "file",
"mode": "100644",
"sha256": "2a38cae1914bcf930596cb893890e78c1a65faa91543564422fb6b38fa405bea"
},
{
"path": "docs/features/authentication.md",
"kind": "file",
"mode": "100644",
"sha256": "68d987a914c0a37e7e39fae167be0aad25c8f33552999a0f9d0eb35776bccdfe"
},
{
"path": "docs/features/brokerage-account-income-analytics.md",
"kind": "file",
"mode": "100644",
"sha256": "bf7b7a0f8ce554efa762574c45608938aa8fb51db4d01dc9a6c3dbc13f63c5f2"
},
{
"path": "docs/features/brokerage-account-ledger.md",
"kind": "file",
"mode": "100644",
"sha256": "b2d10d9da77e6e96c511b2f4bb55dfa87da4f530c4c9666a49b93b835b4647d1"
},
{
"path": "docs/features/brokerage-account-upcoming-events.md",
"kind": "file",
"mode": "100644",
"sha256": "f041f612a4cdf784ce75e11fcea673f673bcf2cfe5b63602277a0c976935b7e2"
},
{
"path": "docs/features/brokerage-accounts.md",
"kind": "file",
"mode": "100644",
"sha256": "7e32238f1addf3e229b210ecf35f112d742e40dcf9bda42e545f2961250309ea"
},
{
"path": "docs/features/frontend-ui-resilience.md",
"kind": "file",
"mode": "100644",
"sha256": "fffcfa56a1d9d073db603d4e42e739b47ba2066acca51e994c1b7b7eaac43f27"
},
{
"path": "docs/features/portfolio-view.md",
"kind": "file",
"mode": "100644",
"sha256": "f8261c9e799ce648df98a3b08642cd25a118aa964d8aed30a397141b0ccce47e"
},
{
"path": "docs/features/tbank-connection.md",
"kind": "file",
"mode": "100644",
"sha256": "0846ccfa3c2a821fea374c3bebba0038d449a7e588fcd6e4871a9d7d04668702"
},
{
"path": "docs/package-lock.json",
"kind": "file",
"mode": "100644",
"sha256": "e71ed9ea9040268cbb5f4002bf7a60d85f1808fc3eb5288305eae35559088d55"
},
{
"path": "docs/package.json",
"kind": "file",
"mode": "100644",
"sha256": "f183b2f571b7ff73af7a071d49be568f3616c8e84b91127358ed679778227973"
},
{
"path": "frontend/.env.example",
"kind": "file",
"mode": "100644",
"sha256": "71153d43d010a50437ea3c54c34fd26c55470399219021918428a0a7178e9213"
},
{
"path": "frontend/.gitignore",
"kind": "file",
"mode": "100644",
"sha256": "1820d069d49f5ea71159a8d50e55db1d02b5010825e1da111386a0a5be01eaed"
},
{
"path": "frontend/.husky/commit-msg",
"kind": "file",
"mode": "100755",
"sha256": "ba793c27e4dd0c45841bb290fb8771ef92611eebfd7b8fde2f15394b2baa7dee"
},
{
"path": "frontend/.husky/pre-commit",
"kind": "file",
"mode": "100755",
"sha256": "3166f419c8d677f3556b87d2c1a502664cfebe9c7d2149ac3699359c30e2409d"
},
{
"path": "frontend/.nvmrc",
"kind": "file",
"mode": "100644",
"sha256": "f14b4987904bcb5814e4459a057ed4d20f58a633152288a761214dcd28780b56"
},
{
"path": "frontend/.storybook/dependency-cruiser.cjs",
"kind": "file",
"mode": "100644",
"sha256": "0d30b6034cab756bb1beb1cbd720c8fe73026278aeb0100f17e0133582547694"
},
{
"path": "frontend/.storybook/main.ts",
"kind": "file",
"mode": "100644",
"sha256": "0ee75a2839e02389cdfe113cafaf61b4ceae864656a5bf0e603c5b9de096d61c"
},
{
"path": "frontend/.storybook/preview.tsx",
"kind": "file",
"mode": "100644",
"sha256": "05434fa7b625bf0ecb58c0d81684b30055c6c6ee6cb2b42b38591e7a33781ba3"
},
{
"path": "frontend/AGENTS.md",
"kind": "file",
"mode": "100644",
"sha256": "cacf1dc8f6dad83c1c35212ed806204eb28faf9bc8d7217cb2da372411008cc7"
},
{
"path": "frontend/README.md",
"kind": "file",
"mode": "100644",
"sha256": "ffdaeb7f2a05d3f842f102766f7471fd66c470728884410bc6d90a637b1721a5"
},
{
"path": "frontend/biome.json",
"kind": "file",
"mode": "100644",
"sha256": "d42ba2c972d01e98cb03a474c50afed340e426cb6ff98bcf7495eacaf8372f0f"
},
{
"path": "frontend/commitlint.config.cjs",
"kind": "file",
"mode": "100644",
"sha256": "eda2b3989c752320cce88af66b8d488ca4c6f8c417fcd3b9f4e8fd54fbda9284"
},
{
"path": "frontend/dependency-cruiser.cjs",
"kind": "file",
"mode": "100644",
"sha256": "c931344af98938f3e4df01abb0db759b3e47d16084fc7c198edff2a846f5021d"
},
{
"path": "frontend/docs/API-LAYER.md",
"kind": "file",
"mode": "100644",
"sha256": "9bc5e3fa848a49f7990c2d2727381d47c21ec9d4ea73a7223d5ae3c93be14f88"
},
{
"path": "frontend/docs/CONVENTIONS.md",
"kind": "file",
"mode": "100644",
"sha256": "75fb467b458a40e49d6a837cbc22809838f15e1010e8f6c7d671414b5e833b80"
},
{
"path": "frontend/docs/README.md",
"kind": "file",
"mode": "100644",
"sha256": "4a4f69aab159b4f6e68b0d7d1e5b997691db3c0dc77b8ea367eeb4354c3b3986"
},
{
"path": "frontend/docs/STRUCTURE.md",
"kind": "file",
"mode": "100644",
"sha256": "f6fdec18b0b86baad1009b40d431d9d5c66b5aee3cd2e676e9836d52a367c50a"
},
{
"path": "frontend/docs/TESTING.md",
"kind": "file",
"mode": "100644",
"sha256": "85dd9e70440f2d395eee30d9790ba2e0eabba69c5571578dad9c475144d478ea"
},
{
"path": "frontend/docs/UI-PATTERN.md",
"kind": "file",
"mode": "100644",
"sha256": "13e90ca029e66456a066d67ce8338294ca540bf2fd368309c59571ef23d2588c"
},
{
"path": "frontend/index.html",
"kind": "file",
"mode": "100644",
"sha256": "71a8cff454e6f9f761a0a934d3cd58f8fa72d1c6281e53ae22b38711b8730288"
},
{
"path": "frontend/knip.json",
"kind": "file",
"mode": "100644",
"sha256": "a195a4ae649c0d6998ae34328481f2b7426c658c3dcfb40ff69c11bb7cceea08"
},
{
"path": "frontend/package-lock.json",
"kind": "file",
"mode": "100644",
"sha256": "341a036a0fce7efd6f507e09893b6613ee3513d70b6cb4cb3733e14ecb6ce1d5"
},
{
"path": "frontend/package.json",
"kind": "file",
"mode": "100644",
"sha256": "a375786c0da27d74347539ed395135f540bb94d8a0ff40a5bc425ba66f87996e"
},
{
"path": "frontend/public/favicon.svg",
"kind": "file",
"mode": "100644",
"sha256": "a63748301b50343c1bf3729564d40e36633ce8847987c280ac2f5a3646841b0d"
},
{
"path": "frontend/public/icons.svg",
"kind": "file",
"mode": "100644",
"sha256": "8a06bf817b3cb62c3c9e7585dd5975d66c6be15e63d565daea59d4cac40a4a39"
},
{
"path": "frontend/scripts/check-openapi.mjs",
"kind": "file",
"mode": "100644",
"sha256": "e03760ce70a5e7fee38f2862ddc559c31ab18423b475c03619b7f9854906c937"
},
{
"path": "frontend/src/app/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "916c2f50916e33565bd7d55e4b751ba227bc516de53704d59df58b5efe0727c9"
},
{
"path": "frontend/src/app/routes/AppRoutes.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "270e09cb6081ed03f60e64df61aae4614370ae1a85577b9ea73b40473854430f"
},
{
"path": "frontend/src/app/routes/AppRoutes.tsx",
"kind": "file",
"mode": "100644",
"sha256": "2fa3448504fd351d53856f80e82ab4f5e6f7616c2ee51fca765602e08302efd9"
},
{
"path": "frontend/src/app/routes/ProtectedLayout.tsx",
"kind": "file",
"mode": "100644",
"sha256": "e9f05e96f393e161b039d342440b64d14f0656431a1712e043735b6b855294a1"
},
{
"path": "frontend/src/app/routes/RouteErrorBoundary.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "cb21d17cc519ecd294f49bf7e81758b95012a58eb3874497bf8deaefa8ca6d1a"
},
{
"path": "frontend/src/app/routes/RouteErrorBoundary.tsx",
"kind": "file",
"mode": "100644",
"sha256": "45d27f3afda5c382751f6e3cc8547a1c4562361eb8780ddb7e577256ce865d0b"
},
{
"path": "frontend/src/app/routes/RouteFallback.tsx",
"kind": "file",
"mode": "100644",
"sha256": "187b0c0c3a828d8828d8b234d5ba722fbbdc246ed8c852548f323ce5e52e455d"
},
{
"path": "frontend/src/app/routes/RouteGuards.tsx",
"kind": "file",
"mode": "100644",
"sha256": "0ece306b18df665427bf00794ffc52112f3893321edd4c01cb2cf709911b6a34"
},
{
"path": "frontend/src/app/routes/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "5349945f286313fd06df177d43d226b727646056fbfea4ab737ac5301790eac7"
},
{
"path": "frontend/src/app/ui/AccountBreadcrumbs.tsx",
"kind": "file",
"mode": "100644",
"sha256": "c38291e83facd7105c710e8e1827d9d8adc01c98943cfb3449bea6e90e5f5826"
},
{
"path": "frontend/src/app/ui/App.tsx",
"kind": "file",
"mode": "100644",
"sha256": "2cffedebe0b98d60bfe8d1d26752dcd3ee1b0da3a4b575d1bdb03471dff0030e"
},
{
"path": "frontend/src/app/ui/AppBreadcrumbs.module.css",
"kind": "file",
"mode": "100644",
"sha256": "5ee3c223a10327120bed54a71b9d22023d8597e9db347e9e91f5c9276a33c7da"
},
{
"path": "frontend/src/app/ui/AppBreadcrumbs.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "a881a844060e88f2d0f062ff232160eb35980587a7e22794186183acddfcde2c"
},
{
"path": "frontend/src/app/ui/AppBreadcrumbs.tsx",
"kind": "file",
"mode": "100644",
"sha256": "94335087a5c175c313b072801536480e3b48057bf19e00213d812d06198010b7"
},
{
"path": "frontend/src/app/ui/BreadcrumbTrail.tsx",
"kind": "file",
"mode": "100644",
"sha256": "ab0ce496eb8d73c015719f36f0c66e98a9d3da4c56cdfdd5fd69848dc40c2269"
},
{
"path": "frontend/src/app/ui/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "77fd6a747b349594d3c4145bc0e2bbb3e90d70a5b7805e94557e3a7d5136200f"
},
{
"path": "frontend/src/assets/hero.png",
"kind": "file",
"mode": "100644",
"sha256": "881ffbcaafc212e49addad08846a5b82761355fa20624253af3477ba33262c5c"
},
{
"path": "frontend/src/assets/react.svg",
"kind": "file",
"mode": "100644",
"sha256": "35ef61ed53b323ae94a16a8ec659b3d0af3880698791133f23b084085ab1c2e5"
},
{
"path": "frontend/src/assets/vite.svg",
"kind": "file",
"mode": "100644",
"sha256": "5be21acd42eb7b896e517f4e0f0f11eb5c5d9e54fbbcebe9453f033008fcca6f"
},
{
"path": "frontend/src/entities/broker-operation/api/useBrokerageOperations.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "8e926e8984f57c554a129b43a71ab32ad6964f7d42544084de52503808df807c"
},
{
"path": "frontend/src/entities/broker-operation/api/useBrokerageOperations.ts",
"kind": "file",
"mode": "100644",
"sha256": "940c1e6828af0a0111f44ea7b3e459e53e0fbae51147c4408b64503150655ed5"
},
{
"path": "frontend/src/entities/broker-operation/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "4e09b8b326c418535e843d5ce6a40e781982e0309771f2c39662a81aaf35fa2e"
},
{
"path": "frontend/src/entities/broker-operation/model/display.ts",
"kind": "file",
"mode": "100644",
"sha256": "c2f624d4159f6abef51a02ae891b4756f8d891219a2fa40f19371bcc769bbfbb"
},
{
"path": "frontend/src/entities/broker-operation/ui/LedgerEntryRow.module.css",
"kind": "file",
"mode": "100644",
"sha256": "c20f2c6fc42362f1f5786a58b7ab81fb70d4a620438a8b2d1f85de1edd4f49cb"
},
{
"path": "frontend/src/entities/broker-operation/ui/LedgerEntryRow.tsx",
"kind": "file",
"mode": "100644",
"sha256": "1b863f3e11e53b820135d8c8f74c1f51868528abcec866a3a0bb90dd0dd9bb7e"
},
{
"path": "frontend/src/entities/brokerage-account/api/useBrokerageAccounts.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "5547bba2b73d4362bf8a28c9542c552d27895176af85dc0e2815514dbc42f3f6"
},
{
"path": "frontend/src/entities/brokerage-account/api/useBrokerageAccounts.ts",
"kind": "file",
"mode": "100644",
"sha256": "777dc47b9e5373d00d1e9aafeda16d903961332044a8a53bce75b27cb4e2e970"
},
{
"path": "frontend/src/entities/brokerage-account/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "c39922c507a2fd0b00555e6403258d453a44c3ff6d15bc5549664b49ff7d465f"
},
{
"path": "frontend/src/entities/brokerage-account/model/display.ts",
"kind": "file",
"mode": "100644",
"sha256": "cf8ac5c71ed4880c4ecdda54d9654490d541497dad837398d2e768aeda09c5b7"
},
{
"path": "frontend/src/entities/brokerage-account/ui/BrokerageAccountList.module.css",
"kind": "file",
"mode": "100644",
"sha256": "1214d8657833a336190a037745c88e205d03162a2a5c6fea7dc4a7e89b8194b3"
},
{
"path": "frontend/src/entities/brokerage-account/ui/BrokerageAccountList.stories.tsx",
"kind": "file",
"mode": "100644",
"sha256": "f901105c428c0c1149ff6ae6fc180d853036d6e5b5fa7d114f58f019a6f4a804"
},
{
"path": "frontend/src/entities/brokerage-account/ui/BrokerageAccountList.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "8b8c836509486010ea3d1e6103edcf16cb5845ed5b8b174fe76a6c7ab4487855"
},
{
"path": "frontend/src/entities/brokerage-account/ui/BrokerageAccountList.tsx",
"kind": "file",
"mode": "100644",
"sha256": "c77c41ca8984c36402b2ae23a178e7e3d2a6955e76fa0ddfd82e61054702a815"
},
{
"path": "frontend/src/entities/brokerage-event/api/useBrokerageEvents.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "63211bf87150b004c58404d6a41806148eaddd945272ce7934ca88266d137896"
},
{
"path": "frontend/src/entities/brokerage-event/api/useBrokerageEvents.ts",
"kind": "file",
"mode": "100644",
"sha256": "8b0d8a3d3202aedd69efca839e777711b44d8c79b677cedf75b2a0941673c1d7"
},
{
"path": "frontend/src/entities/brokerage-event/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "6e8a418ef85d3fa95f6a727297a70609f01160ef254ff8b4d1dffb0c16b4b9e9"
},
{
"path": "frontend/src/entities/income/api/useIncome.ts",
"kind": "file",
"mode": "100644",
"sha256": "e4f29cab3639aca0750913c364b01f5d876784f2abd19c98f94994f3a1b761d6"
},
{
"path": "frontend/src/entities/income/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "31be30a5f707316af8a3307bd86d38a4152a5601170f7defca637aca1b6b667d"
},
{
"path": "frontend/src/entities/portfolio/api/usePortfolio.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "3ca6f73af2e1bf44c88eec3590e7ffe072e617d4401cf7a23643ff8ef44782a2"
},
{
"path": "frontend/src/entities/portfolio/api/usePortfolio.ts",
"kind": "file",
"mode": "100644",
"sha256": "db5edf155da5992f4f60e2909c2d9872b69add47a778a4a15808b1381bbbc21e"
},
{
"path": "frontend/src/entities/portfolio/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "741bed6b52affbde608fa3809e153db54ce0e5368f61c86ecfd97b41f3173db7"
},
{
"path": "frontend/src/entities/portfolio/model/display.test.ts",
"kind": "file",
"mode": "100644",
"sha256": "bd7a0c75ca7aac94c99addc4a80150432958b966d20689f6858798460aa32bb6"
},
{
"path": "frontend/src/entities/portfolio/model/display.ts",
"kind": "file",
"mode": "100644",
"sha256": "05c82e80532566ad042d0c4a8e491cf853a6fe3a5a8a5ee1e64afa2cd21d9abc"
},
{
"path": "frontend/src/features/auth/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "e753ea28bc12ee02b3f5c5c88e0135b0647cfc923f31c067585752b359d7dccb"
},
{
"path": "frontend/src/features/auth/model/auth.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "124b93ecd38607425930067a6021f0a73c0b49d94c86693169df200c7f924d7d"
},
{
"path": "frontend/src/features/auth/model/auth.tsx",
"kind": "file",
"mode": "100644",
"sha256": "3cabda4d2c863cd7ec4edc26e783086d3cded61dbcf600c396b8e248e6727111"
},
{
"path": "frontend/src/features/auth/model/validation.ts",
"kind": "file",
"mode": "100644",
"sha256": "3a75a1cfcf0adff1ad15fcd8e030d63731dd6a8c3a8195ea3758b81d21434ca1"
},
{
"path": "frontend/src/features/auth/ui/AuthForm.module.css",
"kind": "file",
"mode": "100644",
"sha256": "d45861d840614c9f3226ffcb82397feae7b63415aef47967ba609d4c830880ad"
},
{
"path": "frontend/src/features/auth/ui/AuthForm.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "2ecce514e944a596158b4c7a9a62dc71e27035a2dad30d244c470f1acf27a43f"
},
{
"path": "frontend/src/features/auth/ui/AuthForm.tsx",
"kind": "file",
"mode": "100644",
"sha256": "8324ca8b2435d72f9808869c7884b7e8ab3fe511141dd076472970815b1b9635"
},
{
"path": "frontend/src/features/auth/ui/AuthPageLayout.module.css",
"kind": "file",
"mode": "100644",
"sha256": "0f0d56b173312701a8b0412bb8b6da3f098a867b131c4b23d442ecbc79061cf7"
},
{
"path": "frontend/src/features/auth/ui/AuthPageLayout.tsx",
"kind": "file",
"mode": "100644",
"sha256": "83111c2fb3517b80756f890ca3f7d5d9f6da5e5d9758b7ff5d840a979a8c083e"
},
{
"path": "frontend/src/features/auth/ui/LoginForm.tsx",
"kind": "file",
"mode": "100644",
"sha256": "8e4561241c21d14c87e4b9f5d413d8bbe0adeeb4204fb8b91b5b6b735aa443d3"
},
{
"path": "frontend/src/features/auth/ui/RegisterForm.tsx",
"kind": "file",
"mode": "100644",
"sha256": "946ac85c6efb952092fac8a8f6a58c26ed27d9eebf57c609935f0d0517824e92"
},
{
"path": "frontend/src/features/tbank-connection/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "fb48585faea80f8e1f252e222a7256486518d767b66032d111deeededd3113ca"
},
{
"path": "frontend/src/features/tbank-connection/model/connection-boundary.ts",
"kind": "file",
"mode": "100644",
"sha256": "673636a6275565755a383cba89a29c42c61ade16fd499308103aa9d9cbb32d73"
},
{
"path": "frontend/src/features/tbank-connection/ui/TbankConnectionSection.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "a1324a729d5a4a4545a5431c170e50c205df0fc7a17aef3af3e7acfedd263087"
},
{
"path": "frontend/src/features/tbank-connection/ui/TbankConnectionSection.tsx",
"kind": "file",
"mode": "100644",
"sha256": "87b3e3d0c114166c6c9c5cde6a99bfdbd6b3a6ae342e744a0734fb6a7630870f"
},
{
"path": "frontend/src/features/tbank-connection/ui/TbankConnectionSection.view.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "690d130a1ae2d4e49b1e05349ef70123a48baadee13f6778f058d3d02c439399"
},
{
"path": "frontend/src/features/tbank-connection/ui/TbankConnectionSection.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "5095f80b8a698c78beff4f6ee6688a76d058929813475298976458df1ec33c68"
},
{
"path": "frontend/src/features/tbank-connection/ui/TbankConnectionSection.vm.ts",
"kind": "file",
"mode": "100644",
"sha256": "09fd1fecdc3b3261f0e48072ef42a75bbaa92100861b4e4564ceab27044d5095"
},
{
"path": "frontend/src/features/tbank-connection/ui/TbankConnectionSectionLoaded.tsx",
"kind": "file",
"mode": "100644",
"sha256": "ef66e1d01c4bcf752b1c77f4e27bd01f23afa5ce3527b5b13001fad1d03bacc0"
},
{
"path": "frontend/src/main.tsx",
"kind": "file",
"mode": "100644",
"sha256": "ba06f55346657614504488b64c12f11c2fcde3f7f407f627a53cd378f10ed362"
},
{
"path": "frontend/src/pages/account-events/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "8ca150b0224671f8aedf2e9c51d5d8cf07a99aa88e8ad2ad631869a0852eb3c4"
},
{
"path": "frontend/src/pages/account-events/ui/AccountEventsPage.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "092266dce3058a0888f809b0b2edfd91fb93d0412ae21409021352cbb31747b6"
},
{
"path": "frontend/src/pages/account-events/ui/AccountEventsPage.tsx",
"kind": "file",
"mode": "100644",
"sha256": "ef4a005d7cd955db6e9c8caa525593417dbc836587801118f07026d9108b71bf"
},
{
"path": "frontend/src/pages/account-events/ui/AccountEventsPage.vm.ts",
"kind": "file",
"mode": "100644",
"sha256": "c73bc8df3b9a16703a853823864df62525eb0808f6cf4306d46763a16909b426"
},
{
"path": "frontend/src/pages/account-events/ui/components/AccountEventRow.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "7e68b58167a4b94e36a53bd6afa46f02a15812bbcc2134f8d9db895b36140677"
},
{
"path": "frontend/src/pages/account-events/ui/components/AccountEventsPageEmpty.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "d107a120c5b0b2fcb5148a9a5295de9e70ca1143d9aa463c052099d8e0beae23"
},
{
"path": "frontend/src/pages/account-events/ui/components/AccountEventsPageError.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "b592d310ef3f3f3903ec928ed80be8090ec03458b82df9595958d9ebe2fe24ce"
},
{
"path": "frontend/src/pages/account-events/ui/components/AccountEventsPageLoaded.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "2231260ea36c10973d99b04aa669ea005b5a170f717110f8c2918d8b753028aa"
},
{
"path": "frontend/src/pages/account-events/ui/components/AccountEventsPageLoading.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "87c15175cff3ffd21ee5600ac7bc6778cb9a5d62787a067a3140825ad70296d7"
},
{
"path": "frontend/src/pages/account-income/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "6e4320e2d46dd1f9205da955915d1dcd8c52ddfc99dc0eefd529ed473560a0ca"
},
{
"path": "frontend/src/pages/account-income/ui/AccountIncomePage.module.css",
"kind": "file",
"mode": "100644",
"sha256": "948c2c317aa93c8a15cf7f5221980b8063a8326bf70641e7c2403d23eb6e2df7"
},
{
"path": "frontend/src/pages/account-income/ui/AccountIncomePage.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "5844d4515ce3fd04cf3d283039d9c5e396f6b2742ee6f01e0312c55c25562dc0"
},
{
"path": "frontend/src/pages/account-income/ui/AccountIncomePage.tsx",
"kind": "file",
"mode": "100644",
"sha256": "7d96d2fe6ccc62bb29e82b71dd26c82de4c7a6cd783c24177ab6dab7df712b9b"
},
{
"path": "frontend/src/pages/account-income/ui/AccountIncomePage.vm.ts",
"kind": "file",
"mode": "100644",
"sha256": "0c98d08ec0c2ed37fccc6c573293b97a0fa61a7d0202c07f7d80eb56a30d88f9"
},
{
"path": "frontend/src/pages/account-income/ui/components/AccountIncomePageError.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "881bf2279bc644094096ba09c377e5d5f47fd8d18fca4316377e867d69c6b5b6"
},
{
"path": "frontend/src/pages/account-income/ui/components/AccountIncomePageLoaded.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "f961337393750024699e33eaeaf4f4223842a338a4c4dc7b609f2c61efd3c465"
},
{
"path": "frontend/src/pages/account-income/ui/components/AccountIncomePageLoading.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "fb799544f998d4d9082e6decaa1e4e97784adc1196196bc5c85341a931dddb6d"
},
{
"path": "frontend/src/pages/account-income/ui/components/IncomeBreakdown.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "97bf6d52cc7289a9814bdbb8a3180db40d5c56728c641846d29a83092b4f8063"
},
{
"path": "frontend/src/pages/account-income/ui/components/IncomeComparisons.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "97a5cc4b73214a0785e9a73b0588ca2b9cb3b5df634e44320f643d0ae1f8b573"
},
{
"path": "frontend/src/pages/account-income/ui/components/IncomeForecast.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "c825b843685692d9f22367a6b1d857026ea106f168fd6d3285b73d49dc87cd98"
},
{
"path": "frontend/src/pages/account-income/ui/components/IncomeSummary.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "b498969cec972dd25c738b0b2a5fab9fddfa2071fe403feba8b3defbe96a4e2f"
},
{
"path": "frontend/src/pages/account-income/ui/components/IncomeTrend.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "b40e96330418d1143691d47632c097db9a3c964056660397faa72bd09283bb9a"
},
{
"path": "frontend/src/pages/account-operations/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "52547737449ffd6c907d93f685698500ac63999a68f6ef2411d0abecde85e453"
},
{
"path": "frontend/src/pages/account-operations/ui/AccountOperationsPage.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "98d047e57b00cbdb22027e2f382f26c4fe77db07d59dd6c307f79ad03768e2af"
},
{
"path": "frontend/src/pages/account-operations/ui/AccountOperationsPage.tsx",
"kind": "file",
"mode": "100644",
"sha256": "1429f228fe702a9e467270b8c86be761ad682f2b0e46f054772cb6850406eb64"
},
{
"path": "frontend/src/pages/account-operations/ui/AccountOperationsPage.vm.ts",
"kind": "file",
"mode": "100644",
"sha256": "8677eefcf98e2e48ca108224306d8f9d3fcdd3977cf4a91a0a571f1d459f6eaa"
},
{
"path": "frontend/src/pages/account-operations/ui/components/AccountOperationsPageError.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "694f220b6fbc3ef0bfd09478e40dead28efb4c0b474b2db3ae400c0ed106bb85"
},
{
"path": "frontend/src/pages/account-operations/ui/components/AccountOperationsPageLoaded.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "ceefca357d7bf19b0cd53715dd9700bd4e7343ab436950e4efeb6c90b87833cf"
},
{
"path": "frontend/src/pages/account-operations/ui/components/AccountOperationsPageLoading.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "1b5538a2d1c750b1b89d68ca208f857377dac21acaedee4a0b61da519f0a27e8"
},
{
"path": "frontend/src/pages/account/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "acb5e60d2da1d85cf7518a15778a710a1aa17e31859f0e4b6313121e2e711222"
},
{
"path": "frontend/src/pages/account/ui/AccountPage.module.css",
"kind": "file",
"mode": "100644",
"sha256": "27e3c2323c6f8e344493cd8fcc63648856f248246477dd55516674cfb1f57e16"
},
{
"path": "frontend/src/pages/account/ui/AccountPage.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "6968b77ad19954a7b1a12165f05f89c41f0df83c70097ca1bfd84ffdcbc14a2c"
},
{
"path": "frontend/src/pages/account/ui/AccountPage.tsx",
"kind": "file",
"mode": "100644",
"sha256": "889a4ccc68936d880336524f419d959bac4360f4d34bcbae340a9bd6f28e746b"
},
{
"path": "frontend/src/pages/account/ui/AccountPage.vm.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "b1db7a7bb3c6aa9e07f97eae1e74d62ee7e29d878493b91533dc0ee4d9ba0df9"
},
{
"path": "frontend/src/pages/account/ui/AccountPage.vm.ts",
"kind": "file",
"mode": "100644",
"sha256": "e90bb1f9993ded5071532ee34c8ee15c6b534fe112c503d2e6a212c3e63ad806"
},
{
"path": "frontend/src/pages/account/ui/components/AccountHeading.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "e78ee3b110780be81ecbef6fdbf4931097c32434b5df82453f79cb0e291cfb8d"
},
{
"path": "frontend/src/pages/account/ui/components/AccountPageEmpty.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "d22cb260448fca772c985d2a29f565e83fad672f2d9b4b42fb92fbc5980d9532"
},
{
"path": "frontend/src/pages/account/ui/components/AccountPageError.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "258ef783c093ab2640bfe3c312c27e52d74b9acd0402996a44b7f4ebb7c05960"
},
{
"path": "frontend/src/pages/account/ui/components/AccountPageLoaded.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "1a8f7b88c2a5cbcada4443095aad386a181bc57911d6b80ebc593a7759b371bf"
},
{
"path": "frontend/src/pages/account/ui/components/AccountPageLoading.stories.tsx",
"kind": "file",
"mode": "100644",
"sha256": "b19f2db05a01ca43f4992efde81d47a6d536459918ca56917054dfea9452cdf7"
},
{
"path": "frontend/src/pages/account/ui/components/AccountPageLoading.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "2a45d2c9a4b41f9f1570fb879f28b0b4c012d0de8bb67afc1a00abdf038bc414"
},
{
"path": "frontend/src/pages/account/ui/components/CashBalances.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "9c6480b81d4df06d111672a0cbe679bfe8dea5d8bdea7943850591034c6b46c9"
},
{
"path": "frontend/src/pages/account/ui/components/IncomeSummary.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "0fa5e2693c91a826af7eee7dae7700321f4f4fb1668baa1f176b210855ab6da2"
},
{
"path": "frontend/src/pages/account/ui/components/PortfolioRefreshState.stories.tsx",
"kind": "file",
"mode": "100644",
"sha256": "8bfd285a1b34557402ba03f5b2d6678e96831b2eba65122f877456da483d2a44"
},
{
"path": "frontend/src/pages/account/ui/components/PortfolioRefreshState.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "fa07c51edb7eb2d0180de2ecbe0522ea9621ee49b605dbf1e6517b6c5f7d5d8f"
},
{
"path": "frontend/src/pages/account/ui/components/PortfolioTotals.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "129aed1b08b78dab623cc55c55e7c78ed4808ac8a37303921da4de8a8ed23b6f"
},
{
"path": "frontend/src/pages/account/ui/components/PortfolioTotals.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "86402e06aa05ec1511ee032fc55f9082da4a351c7d691d9ba90d830ca3e7171b"
},
{
"path": "frontend/src/pages/account/ui/components/PositionCard.stories.tsx",
"kind": "file",
"mode": "100644",
"sha256": "19886c5bf31943776128441a9164a7cadbc59ed98906b00271195c982271620a"
},
{
"path": "frontend/src/pages/account/ui/components/PositionCard.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "57c1259d226a8cffd751cb12014f5bd79cdf7b45216c14ec246457f14ce31eb8"
},
{
"path": "frontend/src/pages/account/ui/components/PositionLogo.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "9a608c85f49c8a4231790308c79201efb526aca2251348532032cbf4ba1f70fe"
},
{
"path": "frontend/src/pages/account/ui/components/PositionSection.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "b947e40bb3d3306dc010446f342c75d5c7c2a55e081f65a23b4ad8b23fdff50e"
},
{
"path": "frontend/src/pages/account/ui/components/RecentEvents.stories.tsx",
"kind": "file",
"mode": "100644",
"sha256": "c81327808061e9d6180a682a52a132b3a9c944ea6c7ea7175d2e9e2c556bb6b1"
},
{
"path": "frontend/src/pages/account/ui/components/RecentEvents.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "42f0b5bd6bb5d50ba156a8380c0b821e96c1cf57316d62e261eb6d2b0e793226"
},
{
"path": "frontend/src/pages/account/ui/components/RecentOperations.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "11e3b1de6a35f484d2f17cf6c079e160c61dfaf6329355b21671a6cd0b937383"
},
{
"path": "frontend/src/pages/accounts/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "d894b7b5d573339279d5b76fd67ee60fa4b3940883227f32e56e82f1b2a713b1"
},
{
"path": "frontend/src/pages/accounts/ui/AccountsPage.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "f797ed0eb20092db09af055477d0d007818cf11e4266d429273222bd601830e5"
},
{
"path": "frontend/src/pages/accounts/ui/AccountsPage.tsx",
"kind": "file",
"mode": "100644",
"sha256": "b40e07504262fa525acacddb49324a83639aa0cf2a39f7ed131f7d711c9014ce"
},
{
"path": "frontend/src/pages/accounts/ui/AccountsPage.vm.ts",
"kind": "file",
"mode": "100644",
"sha256": "8e704043780f80d6a5ee7eb3d62ab7cb7b9b2dd47f1bcc9949f60a576bb4a7fb"
},
{
"path": "frontend/src/pages/accounts/ui/components/AccountsPageEmpty.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "14c04cf71bff77de0bb1e11a938d1b1a1dafe362a2e1f8ce2f075c7952349e68"
},
{
"path": "frontend/src/pages/accounts/ui/components/AccountsPageError.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "0c4b155c4955ce4a397c5b79f8fd2408cb5c6ba02fe1064f7c919197ccb32f35"
},
{
"path": "frontend/src/pages/accounts/ui/components/AccountsPageLoaded.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "7912cf312e941676265f9fac7319ae0affcd8aaac14690186191f82e6680e015"
},
{
"path": "frontend/src/pages/accounts/ui/components/AccountsPageLoading.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "2386da6dc9fbe23b9a4379ad4ff8fd0cf539e5ea3b46b5b5c45c5cb74360bea2"
},
{
"path": "frontend/src/pages/accounts/ui/components/AccountsRefreshState.view.tsx",
"kind": "file",
"mode": "100644",
"sha256": "74899aba17ff330f749232f50ba0e251549bd7e8546090898fd8d829f19ed7bb"
},
{
"path": "frontend/src/pages/login/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "eecb1f89e2f1f7b6749585a6cd3adff86513a8bf5b2b53f3ead46de7ad3fc45b"
},
{
"path": "frontend/src/pages/login/ui/LoginPage.tsx",
"kind": "file",
"mode": "100644",
"sha256": "da0abc69206621cddd71c4755edf7354a8f740df18807062e66e1e96e47d878e"
},
{
"path": "frontend/src/pages/not-found/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "6962cb472751d79b33ef31a46d18e057842320a062f39dad64a08cf38df338c3"
},
{
"path": "frontend/src/pages/not-found/ui/NotFoundPage.tsx",
"kind": "file",
"mode": "100644",
"sha256": "0621bd989fd15bb787e5bb8c07d95aab93a595a7aff2307b24bbe9c3cf82060c"
},
{
"path": "frontend/src/pages/register/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "97c0a1f58ca3592e9c4b0440b8ba6fe0c710eb53abd8b425cfdb806cfca14feb"
},
{
"path": "frontend/src/pages/register/ui/RegisterPage.tsx",
"kind": "file",
"mode": "100644",
"sha256": "94c558dc9d772afee6c9070ab74506a916308b4e333b0bc307285e295bf1cbd1"
},
{
"path": "frontend/src/pages/settings/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "6081571ece8bfbb6fe1a497f8e8f9517c5a208f2cc3872dbbb4a8013fef78d1d"
},
{
"path": "frontend/src/pages/settings/ui/SettingsPage.tsx",
"kind": "file",
"mode": "100644",
"sha256": "943f183ea10396202a624eee5eac68d505dc258d0303c2cdcc18261bbd406d01"
},
{
"path": "frontend/src/shared/api/authenticated-query.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "059834d468b56472f3cb9a84e3c6ee53da3fd7d14d286ab03cf12ef66a159fb0"
},
{
"path": "frontend/src/shared/api/authenticated-query.ts",
"kind": "file",
"mode": "100644",
"sha256": "2054ffb0279b1e72cfec24973fd212e25eef3d8e75a80f2cebaa8f496b0d02a2"
},
{
"path": "frontend/src/shared/api/client.test.ts",
"kind": "file",
"mode": "100644",
"sha256": "21f632568273b6b192e1b9ebd4f63b7aeba65120b4efe75698e2fc0ec3c3988e"
},
{
"path": "frontend/src/shared/api/client.ts",
"kind": "file",
"mode": "100644",
"sha256": "2454f54bf2d430feb765456aaf5ffb468fc068fb75bc13c6c257eb525683ba98"
},
{
"path": "frontend/src/shared/api/generated/schema.d.ts",
"kind": "file",
"mode": "100644",
"sha256": "c4aae54b591122701bc751f30feb57212f1f2df44adbcbfd77100afcef23a57c"
},
{
"path": "frontend/src/shared/api/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "c9b8bc978df49c35aa01a5997e2d79bcaa89f5ab363005e2019933a34ed88f53"
},
{
"path": "frontend/src/shared/api/problem-details.ts",
"kind": "file",
"mode": "100644",
"sha256": "b33daae32b1a4b78b9f1c0535ac9f4bc91b277de718eca78385691b426e7e157"
},
{
"path": "frontend/src/shared/api/spec/openapi.json",
"kind": "file",
"mode": "100644",
"sha256": "281f9aee4f254e85252f7688de7de1d0414ea2ee547a82d28fa4a1b7482b477f"
},
{
"path": "frontend/src/shared/i18n/i18n.ts",
"kind": "file",
"mode": "100644",
"sha256": "c7b5bbc71bdbecc74dc8d71694fa766fafdd81effb5a4fa1206ef6e400cbf177"
},
{
"path": "frontend/src/shared/i18n/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "bb3f6e68be414f50b1804a3a64e063ef7ad54f6d0fc2f0b330cd0eeaf25a0e02"
},
{
"path": "frontend/src/shared/i18n/locales/ru.ts",
"kind": "file",
"mode": "100644",
"sha256": "e32415dce05c78df7b064fd2522530dbf69f31d65c8930d9e765c52fa787607c"
},
{
"path": "frontend/src/shared/i18n/zod.ts",
"kind": "file",
"mode": "100644",
"sha256": "2ca092b2dcd83bca8c55d34c08c12c065721b7bd7382a8c87ff9fd9cac35a234"
},
{
"path": "frontend/src/shared/lib/display.test.ts",
"kind": "file",
"mode": "100644",
"sha256": "be879cdc1edc49f9356ac4358b5c4ed3c64f148a7d8c62049e477a36e81b289f"
},
{
"path": "frontend/src/shared/lib/display.ts",
"kind": "file",
"mode": "100644",
"sha256": "c1d74a8df74fdbc81b658685a026a4607ef7f2c60ff923dfec7a47bb65dbf2f5"
},
{
"path": "frontend/src/shared/lib/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "7c4c2c7732f3b4e46bdd66c6c5e19b2e1f623786256d8050575f1efb75f2a4f3"
},
{
"path": "frontend/src/shared/theme/Foundations.stories.tsx",
"kind": "file",
"mode": "100644",
"sha256": "e8609df757214d122d06d170d764745a02ba92fa2d64410d111176d88e4695ca"
},
{
"path": "frontend/src/shared/theme/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "49f7368720c929acf09541dee9405d90f4ba41caf15aaee078d1527305d722a4"
},
{
"path": "frontend/src/shared/theme/styles.css",
"kind": "file",
"mode": "100644",
"sha256": "540661168457fdcf2fceaf201f741415cdf0b0d49b5a46de9c58719a2f2a5491"
},
{
"path": "frontend/src/shared/theme/theme.test.ts",
"kind": "file",
"mode": "100644",
"sha256": "1ea0ca1aa2ed78a23a51cb22971b469672f3f560027824776e8110a4229703ce"
},
{
"path": "frontend/src/shared/theme/theme.ts",
"kind": "file",
"mode": "100644",
"sha256": "5cce79e8fa932ab1f7130ff318a34515fb11c28e7c3c998aca4f603741e8bfdf"
},
{
"path": "frontend/src/shared/theme/tokens.json",
"kind": "file",
"mode": "100644",
"sha256": "aa8648a568a935f59bd06e1c1e2aa7bc1a22d9d58db4edbbf89728cc55065f18"
},
{
"path": "frontend/src/shared/ui/AppShell.module.css",
"kind": "file",
"mode": "100644",
"sha256": "0ceb0e7f9658577e39056d8c69e235dcf5e84004d9208a06f8117d471e26ea04"
},
{
"path": "frontend/src/shared/ui/AppShell.tsx",
"kind": "file",
"mode": "100644",
"sha256": "68be717ac98fc04a3c9407c9eb3ce2cf8f62c975260d61d73e02fcbda1efbd55"
},
{
"path": "frontend/src/shared/ui/Button.stories.tsx",
"kind": "file",
"mode": "100644",
"sha256": "cb97cbcf25dcd624bcd714d76b43f5972729a1426ee5cbe16ac32a761313390d"
},
{
"path": "frontend/src/shared/ui/LoadingSkeleton.stories.tsx",
"kind": "file",
"mode": "100644",
"sha256": "55a3a27849c7f0856c49179ef5542e842064dc30a4753180e91aa83ab8fd8214"
},
{
"path": "frontend/src/shared/ui/LoadingSkeleton.tsx",
"kind": "file",
"mode": "100644",
"sha256": "2d1c5012c2fb93c83c5e7b8921485d392dbc5acbf0896703b32821329f9cbaed"
},
{
"path": "frontend/src/shared/ui/StateView.stories.tsx",
"kind": "file",
"mode": "100644",
"sha256": "f77300fa254afadeb65895adec96148f9e5b0943e2ed4ea81de258cf99b04048"
},
{
"path": "frontend/src/shared/ui/StateView.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "de9d44409a715ce9c103e870edaf5b323127053844dcd8bef49c7854c6ccc0c2"
},
{
"path": "frontend/src/shared/ui/StateView.tsx",
"kind": "file",
"mode": "100644",
"sha256": "7414fa3de07b487c2fbcbf56f67925b418e64b586f9175add1576053fecfd0aa"
},
{
"path": "frontend/src/shared/ui/index.ts",
"kind": "file",
"mode": "100644",
"sha256": "3322a7129d6fca07f8d3b459d35508d8d7d1cbab22e8a2d49280c75c1813ac3f"
},
{
"path": "frontend/src/test/handlers.ts",
"kind": "file",
"mode": "100644",
"sha256": "5440d1cee5598f9bdcc78ac203af6426b52ce8932bc6bd99366416a4de14a33d"
},
{
"path": "frontend/src/test/query.tsx",
"kind": "file",
"mode": "100644",
"sha256": "dd06c186d0d0a5ca218a296edd1f01a58c50f1433a16539c24692aa48eb15d20"
},
{
"path": "frontend/src/test/server.ts",
"kind": "file",
"mode": "100644",
"sha256": "85c107a2f5429cd35c3a0b7ea7c9678934cf63038a66f42a0804d2e3465086cb"
},
{
"path": "frontend/src/test/setup.ts",
"kind": "file",
"mode": "100644",
"sha256": "6eb1bb94d573810cda4ea65da15957907d9c05d32880cb7217330e30a1b73c66"
},
{
"path": "frontend/src/test/storybook.test.tsx",
"kind": "file",
"mode": "100644",
"sha256": "6c887d8e2a3faf286443ec37d2cf6cef3582beb03339040ceff0412505e70ef6"
},
{
"path": "frontend/tsconfig.app.json",
"kind": "file",
"mode": "100644",
"sha256": "301c6165f2e9297f499870b4c6cf55e4f48aa15bf03a8fc98ea658c6eaa6c21d"
},
{
"path": "frontend/tsconfig.json",
"kind": "file",
"mode": "100644",
"sha256": "975b855a3e1084cbd91c17718bf2099a00afbdad44dcc19b0b1d682f8cea5a10"
},
{
"path": "frontend/tsconfig.node.json",
"kind": "file",
"mode": "100644",
"sha256": "6cab0685be664373524de5ce6b2244b7d6cfdde28902ad3e3aa357f978b72299"
},
{
"path": "frontend/vite.config.ts",
"kind": "file",
"mode": "100644",
"sha256": "5c781c6de11dd929a9142b07467b51ea39f4886546804595d4075f430b59468a"
},
{
"path": "frontend/vitest.config.ts",
"kind": "file",
"mode": "100644",
"sha256": "7de4e28baa97782333946aa2f0a9ea7ddd4434498089079aad3fa79dbe615b03"
},
{
"path": "specs/.openspec-store/store.yaml",
"kind": "file",
"mode": "100644",
"sha256": "5d292a91da91eb595db3423ba009b1bdf1f703b3abd776587c6ccf9439e0977d"
},
{
"path": "specs/AGENTS.md",
"kind": "file",
"mode": "100644",
"sha256": "39eb6f04b3a2e630f40985e5e4a64663bcf91b9422433dbcf093b6b3df94db81"
},
{
"path": "specs/README.md",
"kind": "file",
"mode": "100644",
"sha256": "463be52ce470b96d1905816fe39dc9745fefce0714d35fcfdf841d7e448bdb51"
},
{
"path": "specs/openspec/.cli-version",
"kind": "file",
"mode": "100644",
"sha256": "4f5ba6a3e380bf810cc968b58d30a8d7163eafe9e2fb1ad19bdc6d9d64a1e549"
},
{
"path": "specs/openspec/changes/archive/.gitkeep",
"kind": "file",
"mode": "100644",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-add-tbank-connection/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "ce09aa8a7e84963f39e89c29067fa37eebde711c5ce3426da3c8f0976ee178cf"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-add-tbank-connection/design.md",
"kind": "file",
"mode": "100644",
"sha256": "a0ef93d1edfff920d1c039d46e70f933cd622a97e3b05cd834426db9a8dcb6ae"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-add-tbank-connection/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "2277406fd00b622424ae9cc89f755cd854195148c0ccea6aff1ac17a1ed7d23c"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-add-tbank-connection/specs/tbank-connection/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "83f50c065ab6d4524615761c1c44d9b9fc3774645efe912cedf97b9f442aa0bd"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-add-tbank-connection/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "e163c6e366ddff9b04c3a00e66eb2fe0971af3dd978cd19daca308eafabd3cee"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-baseline/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "ce09aa8a7e84963f39e89c29067fa37eebde711c5ce3426da3c8f0976ee178cf"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-baseline/design.md",
"kind": "file",
"mode": "100644",
"sha256": "d8a5c40de3236dd0512a80db7de547312a0ee1859657052a8a3c5e9c1f87b6a8"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-baseline/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "4777158efb8c93bbe62f224ae94318199d95a3744ad4f2f2f053bc28d13819ce"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-baseline/specs/api-contract-generation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "8345f473e73ad4f320e327baf498795944cf7439535b402193bac1d33f8a01a7"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-baseline/specs/project-documentation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "423f24bdd7769cd1538887774071e959637faf46c1af925139e50610f1e0264a"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-baseline/specs/project-foundation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "87965095b5b812fcc0b23a69b71da76381bd414732bb5b23fd21ce9a3ebf17c3"
},
{
"path": "specs/openspec/changes/archive/2026-08-12-baseline/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "19d397a9b6c5a545e47c056c3ef9ce302c363307c0eee30941305af780683017"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-authentication/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "ce09aa8a7e84963f39e89c29067fa37eebde711c5ce3426da3c8f0976ee178cf"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-authentication/design.md",
"kind": "file",
"mode": "100644",
"sha256": "898342768884d4694d48be5ebde0467f630cffb8705be5334611c4fd7cb261ff"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-authentication/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "353a296c80d2d6859ecd130ea5e1ce117de76c5bf86cbe38fc25f9142d54844d"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-authentication/specs/user-authentication/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "0d06350448e00fa66ecd8f97004de34a9f65f7b67ff594502834a5f6ee9d8cad"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-authentication/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "6ca0aa1adfdf3443ae9dd7fbc208ab8a9c323f2f061065f8170a3db57b35dddd"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-brokerage-accounts/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "ce09aa8a7e84963f39e89c29067fa37eebde711c5ce3426da3c8f0976ee178cf"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-brokerage-accounts/design.md",
"kind": "file",
"mode": "100644",
"sha256": "1d5e29ac0283bf6db4ac3bbd37934f2f8d16d15e25f1f6a0d88314a073ed3a97"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-brokerage-accounts/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "1226909337bcf3de866e5f55ef74753ba5f126c3e4ced71c6b806a7faac7ed85"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-brokerage-accounts/specs/brokerage-accounts/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "39108c065b57c23593ebaa34954e11ecea0731a053341a1381b4f3999b5ebdd9"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-brokerage-accounts/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "c00da16a36e6068002dfc1fac08b00b1befc58e7e32a89020d06ca00713fdae2"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-portfolio-view/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "ce09aa8a7e84963f39e89c29067fa37eebde711c5ce3426da3c8f0976ee178cf"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-portfolio-view/design.md",
"kind": "file",
"mode": "100644",
"sha256": "75e59d6ce4bc037fda7e39c7d9ca790b92d1b56a1137759c5bd6137b833a1de1"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-portfolio-view/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "a5b21f54c3ab6845a51aed505c08b954a694e419b78c2083faff1513adddc946"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-portfolio-view/specs/portfolio-view/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "d438a21b6e5e09ef3a8c82c7d4f6c64a33fbb536b2d512c28b8eb41eb3fe61d4"
},
{
"path": "specs/openspec/changes/archive/2026-08-13-add-portfolio-view/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "1885e266550259909cfaf9d1f5a27eca479b207c1c18e092feb09dd4948e9526"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-app-breadcrumbs/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cfa0dd24ffbc3529beee2a707cfd385b458247b1b5cca61fbcc99f934e83600e"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-app-breadcrumbs/design.md",
"kind": "file",
"mode": "100644",
"sha256": "76791cd9acc984f75f8c7b2e1a6301b93f55db96d1eb7c7a66758717fdfd00f3"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-app-breadcrumbs/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "b422ff0e038d508f54fdb646194ee202623dbd923195b835a3004e44a96b7a24"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-app-breadcrumbs/specs/app-breadcrumb-navigation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "ba8d13f67d8b9c978f18993d27f91f4b55560839eaa6df91fde8784d918bf4e8"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-app-breadcrumbs/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "14b753c8a5f36d8ebf3eab071511f843a0f24b8aef122caef312627db9e3191c"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-backend-structured-logging/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cfa0dd24ffbc3529beee2a707cfd385b458247b1b5cca61fbcc99f934e83600e"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-backend-structured-logging/design.md",
"kind": "file",
"mode": "100644",
"sha256": "1f75bb57e5fbf19e5c2d590686e8e04599fa7b792e57f281e5066d6114443601"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-backend-structured-logging/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "582921b80f74596d974e6fdabaf6f0c4ad451a1261614731be686f38c82d8585"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-backend-structured-logging/specs/backend-structured-logging/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "0649160a168a2e8dce4cd211fd66f9c1ac82f1fdebcc5f046f667bdba08fcc36"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-backend-structured-logging/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "daefa5e36994c26e858b360d6178a717f330a89b89661324cf36fbf1d4e59634"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-brokerage-account-ledger/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cfa0dd24ffbc3529beee2a707cfd385b458247b1b5cca61fbcc99f934e83600e"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-brokerage-account-ledger/design.md",
"kind": "file",
"mode": "100644",
"sha256": "66960fbc61e918555451df9d23172193401a412fc58a9f28df59ceee8387b365"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-brokerage-account-ledger/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "51c6c7a8b59123cfc88727ff430af21ee86edd0a3403b4eba406852767797711"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-brokerage-account-ledger/specs/brokerage-account-ledger/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "31e668e3940eea6e78999b019a9a6a307af81e0a3c398acd7bd305888130d446"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-brokerage-account-ledger/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "dc8c76d77b6fa547b52ac3026313b4f2b824e5d99a508490cf7afc6c37feef97"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-brokerage-account-upcoming-events/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cfa0dd24ffbc3529beee2a707cfd385b458247b1b5cca61fbcc99f934e83600e"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-brokerage-account-upcoming-events/design.md",
"kind": "file",
"mode": "100644",
"sha256": "9f9198e216ab11ff60277bf579dea9cb60425089f48fccc23313b8b9686d0017"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-brokerage-account-upcoming-events/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "e200aed4f9cf270cf3d1a88253f8be1cfb9a3953e824c85ab94ef502bb15bfdc"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-brokerage-account-upcoming-events/specs/brokerage-account-upcoming-events/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "1093ea4b6d26f614de554c5c07822c965925e07b4a699203e099e43390ebfd35"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-add-brokerage-account-upcoming-events/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "84f026b2a89df817aa97faecc5410f9c074d7b1faa9d78fe0e4b572e87fcde0d"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-align-frontend-foundation/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cfa0dd24ffbc3529beee2a707cfd385b458247b1b5cca61fbcc99f934e83600e"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-align-frontend-foundation/design.md",
"kind": "file",
"mode": "100644",
"sha256": "3cacb79868a4e9ffc748991d9a554a165f607c964c49c3732530eb48a14a8d18"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-align-frontend-foundation/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "61c61583caae066b9a54f857ca76283e47fb2cdb8f39a6c8f96cf32ed4fd73c6"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-align-frontend-foundation/specs/api-contract-generation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "6ff1e3ab39c64e69aa24eae62c8537a6505a5aa62563f1d3fddd31dec665201d"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-align-frontend-foundation/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "159d01aea184b6edcfb406f059ce402a62d94ef8f69710a3e1fe1e483e4ef909"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-align-frontend-ui-patterns/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cfa0dd24ffbc3529beee2a707cfd385b458247b1b5cca61fbcc99f934e83600e"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-align-frontend-ui-patterns/design.md",
"kind": "file",
"mode": "100644",
"sha256": "b9c0d697e48716d723950f101de339aeee80764e4d9cc1b4b059b7d2304ef67f"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-align-frontend-ui-patterns/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "5faaaa2ab8cf27da3d5565517038dabb68ab1cd6974289cd5a37f26ed8f6d8ec"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-align-frontend-ui-patterns/specs/frontend-ui-resilience/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "86a3cce7c467e9fd1c21cc8fe4e92a76c159c19434d03c758b445447402c82dc"
},
{
"path": "specs/openspec/changes/archive/2026-08-14-align-frontend-ui-patterns/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "01ef58d4c29d121ac0a5cc4a1da69f5cff5ba4da05c937ac936468e43222dd96"
},
{
"path": "specs/openspec/changes/archive/2026-08-17-redesign-position-cards/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "41db595b409c9e6bc00babeabb32990290577eb40245a5bb769e8ec98a1f8d3e"
},
{
"path": "specs/openspec/changes/archive/2026-08-17-redesign-position-cards/design.md",
"kind": "file",
"mode": "100644",
"sha256": "e2a5d40df8775695254be27bb995771ea9cc2ef680e60792fdb0ab8044a20057"
},
{
"path": "specs/openspec/changes/archive/2026-08-17-redesign-position-cards/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "6db67c273417f68ebfedce0ac3249adf9ab3d60d48360b1b10b30a6afd3a321f"
},
{
"path": "specs/openspec/changes/archive/2026-08-17-redesign-position-cards/specs/portfolio-view/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "0ad8cde46e389c1dd7a7ec7d973f415215fee13bdc185b391445f1e3ca86ab57"
},
{
"path": "specs/openspec/changes/archive/2026-08-17-redesign-position-cards/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "319c62ac11a4ecae13b8f1d53d8f7ad93cee7ed698161c845f01f1b7bc9e26f5"
},
{
"path": "specs/openspec/changes/archive/2026-08-19-source-share-dividends-from-tbank/design.md",
"kind": "file",
"mode": "100644",
"sha256": "e041d603df713a8ce5276b6452c408c507b8057c5205ca269826b1150d5a5665"
},
{
"path": "specs/openspec/changes/archive/2026-08-19-source-share-dividends-from-tbank/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "d6593dbcf822cad5182c9120f816c4143271613ceac92023a6df60c683520846"
},
{
"path": "specs/openspec/changes/archive/2026-08-19-source-share-dividends-from-tbank/specs/brokerage-account-upcoming-events/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "7bf7cd150cafe458690e22198cdff2ab5619e45a829128d7878871f95088961c"
},
{
"path": "specs/openspec/changes/archive/2026-08-19-source-share-dividends-from-tbank/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "33df20deec0f182f46e645ccb61f53c184859bb913f1afec381232a5de0bff05"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-establish-audit-remediation-workflow/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cef97c66dca8a4822d16808d0c827486f612c60b5fa247f48cdf6eb25f768e94"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-establish-audit-remediation-workflow/design.md",
"kind": "file",
"mode": "100644",
"sha256": "c7e365a6fd2e8d7ffb172b60997d6338a526eae885c5e320f1cdaa7af69db342"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-establish-audit-remediation-workflow/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "7c281b3e2ca755303f12ebaba36d6bd1b0edb839ed00e3e7ce3af6ef0a74b129"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-establish-audit-remediation-workflow/specs/audit-remediation-workflow/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "45d9418e0fcc0c5c2739724fb22031dc81320730beea7e885b2da7175fbd9de7"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-establish-audit-remediation-workflow/specs/project-documentation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "2059efc23b7bea763b91417ad87d4bc3e4c3adcc5b292dfcf9d9e2e4bc9c9666"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-establish-audit-remediation-workflow/specs/project-foundation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "0fda3598241dde1d74a3d2aff746b45ede5b1c16580dd0652a46f4637c601f2b"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-establish-audit-remediation-workflow/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "79b3819d20cdfe347e57d2142da82e75036f4ace844419568bfedc95e23dae66"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-auth-and-cache-concurrency/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cef97c66dca8a4822d16808d0c827486f612c60b5fa247f48cdf6eb25f768e94"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-auth-and-cache-concurrency/design.md",
"kind": "file",
"mode": "100644",
"sha256": "cf35160e4cc3c86e130d3ec34b2520824b7a406e9a2036f8b38624f7d33de26f"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-auth-and-cache-concurrency/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "29ed2ad6672bc63d0469de121af8992c2c4ebf628ffe169e9974f08034dbd8b2"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-auth-and-cache-concurrency/specs/brokerage-account-ledger/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "a82870563504e77c66e51c93c3dbcd6640f4be0a390bf0eaad78840baa7aac6d"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-auth-and-cache-concurrency/specs/user-authentication/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "f358a49005b830259716998238b9891d12b04667a3cd558799d4a5b494a0c817"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-auth-and-cache-concurrency/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "326f63990b46ee363bafe6babcec8dfa72b9c57d194f8e52398df25d8c9a07fd"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-openspec-authority-and-lifecycle/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cef97c66dca8a4822d16808d0c827486f612c60b5fa247f48cdf6eb25f768e94"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-openspec-authority-and-lifecycle/design.md",
"kind": "file",
"mode": "100644",
"sha256": "51fcf84aa06a0f23acb4d42617cf33040a42f6b41cd51f7d674df9f50ea7e73c"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-openspec-authority-and-lifecycle/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "1b5b8e043b6ab863fc3b67ebbc4619992725bd03fa80acce55d330d3ec676793"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-openspec-authority-and-lifecycle/specs/audit-remediation-workflow/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "86cdd2e9194f031126f20a8be53448cc03dfb5230becbabc21b5e0a9d5508f28"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-openspec-authority-and-lifecycle/specs/brokerage-account-ledger/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "b1ab914961293a1041a8741399340697b26412c7309add2cb3fb50d4f1af8ead"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-openspec-authority-and-lifecycle/specs/openspec-authority-and-lifecycle/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "6fcf28da14d8ec89a866d90d39a69bd6b8de31669da6372e44c1acb80b7f2eaf"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-openspec-authority-and-lifecycle/specs/project-documentation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "4977c1c0aecabcff86b8ef64c1b5a0f17d027a742444f434cf699e64cba12fb5"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-openspec-authority-and-lifecycle/specs/project-foundation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "cf42e8a995e0c9be8ff3d089ccb6fecc3a12816fcfb8ec05e78f8d28ca99aa4d"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-harden-openspec-authority-and-lifecycle/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "dd95bb6087ac050be64c63ac2e6c773fa86ad3e0df5c94b383986d180581ad98"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-make-local-verification-agent-safe/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "4d27248ab62bdb52127165b492367514dfd4887943e4e229c2fd615ee5e709ff"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-make-local-verification-agent-safe/README.md",
"kind": "file",
"mode": "100644",
"sha256": "5156c859de6e4aad0f6fc374d7c9d79508de44ddef4b7c79581d1495f9bae864"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-make-local-verification-agent-safe/design.md",
"kind": "file",
"mode": "100644",
"sha256": "f1f97091afde9f3dc651b7aff9e38ffb3ed42f1b62a131d227180affb544a1a0"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-make-local-verification-agent-safe/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "37a9c0d70e4682053d2774aef62f0db757fd9fb42cdfc9bb141cfcfb710f17bf"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-make-local-verification-agent-safe/specs/api-contract-generation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "917167bb359d10b0f2e0878275852767d712bbac6d1286f31d1d618b652e8622"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-make-local-verification-agent-safe/specs/project-foundation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "40bf63255081660184c1425cd0462e2f2e1b7dcff4ede43b3d4c429106653c40"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-make-local-verification-agent-safe/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "b2bb6630e8acb37b594f1e6ce4e467952d0a881c753ca98245e7e1787994007e"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-stabilize-frontend-query-and-strict-contracts/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cef97c66dca8a4822d16808d0c827486f612c60b5fa247f48cdf6eb25f768e94"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-stabilize-frontend-query-and-strict-contracts/design.md",
"kind": "file",
"mode": "100644",
"sha256": "04a326d4e37071cbe51a4a25c265d6d0bbbd810c605400e5130dc6e4e45067ef"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-stabilize-frontend-query-and-strict-contracts/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "f5d7c0544443bbeb002ee721280b4a5105d9bf936878e6189800755dca08ee4c"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-stabilize-frontend-query-and-strict-contracts/specs/frontend-query-coherence/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "460083b463e4362c3e834b2ff86ca55b2f6888c26435c831577b89ce9e9c191a"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-stabilize-frontend-query-and-strict-contracts/specs/project-foundation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "7e6e01d418e92790555a9ba2cb88d80bf906f127150707edebc6568fa9f4872d"
},
{
"path": "specs/openspec/changes/archive/2026-08-23-stabilize-frontend-query-and-strict-contracts/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "e1adae2e71cdb66b196ec833ca69bce6af0cf85827246959835582cbe4ecc738"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-add-instrument-logos/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "c664e17d82f0eaf89e13ddbc2ec021086c91a159035f1e272827ed3c7c274907"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-add-instrument-logos/design.md",
"kind": "file",
"mode": "100644",
"sha256": "f1034d81000099f7bb6c2b59697cc01ae91b29b47648632c084d7629efa75707"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-add-instrument-logos/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "d919bfa940ec963fd2e672cf2726003f536a76fc273e54905f661c938a1aaec4"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-add-instrument-logos/specs/portfolio-view/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "85d077cacf5411837226b223bc481fff7dd32d4f9d04d148f6cbfd475b7476aa"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-add-instrument-logos/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "2185b4d155db3a655af801929fa4691bd6c71b53a1406477e638a5d250c39048"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-address-dependency-advisories-and-repo-hygiene/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "5f408ebe6a8c4d9c4c5e85f9e84c9ac47aa1192c4424a5f5f2224781c6f85fd7"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-address-dependency-advisories-and-repo-hygiene/design.md",
"kind": "file",
"mode": "100644",
"sha256": "5d9eccc97e4b9e8af3be4c7ad9cb0562ee1daa9309d36ef0318bc6b22cb12246"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-address-dependency-advisories-and-repo-hygiene/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "67f4e67b1757eeb34a410743e4225278ab097343ae0bb5d03b5019a17a112f48"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-address-dependency-advisories-and-repo-hygiene/specs/workspace-artifact-hygiene/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "a509b18363d14f1c957bca391d9c7ba6c2e79e4f979715362be1d0371a60f789"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-address-dependency-advisories-and-repo-hygiene/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "34ec41eee288327051467f7cf05f39501376e4af18287842775e3f6cf81bb424"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-align-api-contract-and-client-resilience/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "cef97c66dca8a4822d16808d0c827486f612c60b5fa247f48cdf6eb25f768e94"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-align-api-contract-and-client-resilience/design.md",
"kind": "file",
"mode": "100644",
"sha256": "32a3f47dc1995d3b68b840af99ec249fcd5ec71cdf7048cb4f38687ac3a3882a"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-align-api-contract-and-client-resilience/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "b3dce7a837a38a3f075a8fa5fbeb5624bf778b2895266b1e2ab74757b3e142cc"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-align-api-contract-and-client-resilience/specs/frontend-data-resilience/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "cf0ba7561a0ccea119f95bf9db1049b83ef01b13b4ef16f380343a04e597ab7a"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-align-api-contract-and-client-resilience/specs/user-authentication/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "7712d4f46dd44fa1ee57010271266b07fff7091f2e462d44e2f0bac985d2c4e3"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-align-api-contract-and-client-resilience/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "77f4eb3af8320bfb9fe0e6f36f5b2307945ec753802e2ce87d5bdc44f10b0f9b"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-harden-agent-sdd-governance/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "891362f72073a1327ed6be51e54d31ed2a5e5399dc29c2e782a10ac19d050c90"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-harden-agent-sdd-governance/design.md",
"kind": "file",
"mode": "100644",
"sha256": "fabae5ed874e245784565a5a5d9b949c033e9f5efc38f25ea63e51f1a34f390b"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-harden-agent-sdd-governance/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "66e8f9571c9e96a545be66d7dc8c7d9688a63209d9452929469b1bc11c1eca8a"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-harden-agent-sdd-governance/specs/audit-remediation-workflow/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "eac748fcdd235d604bbcc335c08e7235fc3fe81b8524bc133a31473e98e8bbff"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-harden-agent-sdd-governance/specs/engineering-change-governance/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "1e8946a1b78943687891a7a95336a48e6d12e0677a4baa116d0b0fe5dc6b944d"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-harden-agent-sdd-governance/specs/multi-repository-delivery/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "13ecc84423f9eefb8caa3285bdc4745ccdd4f71d0421f0bf31482bc4e0d1f21a"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-harden-agent-sdd-governance/specs/openspec-authority-and-lifecycle/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "b3a9776fafe8286ce21498e83efecbb57e410478b4e6832defb11ad2dbc1d93d"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-harden-agent-sdd-governance/specs/project-documentation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "3a9e3acaa6e73fd27dab0f9461e735750449fcf62741e7bfa20000e543e1049b"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-harden-agent-sdd-governance/specs/project-foundation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "1027d5a9bb2e601934a5c0bcfd4dbeb26c13e1a4bbfc5274813a2fd1ff4737aa"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-harden-agent-sdd-governance/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "dd036f3ce848dedcf148274dead6d8691acd8da214ddfec096a03cf81197ae8f"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-refresh-project-documentation-and-agent-entrypoints/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "5f408ebe6a8c4d9c4c5e85f9e84c9ac47aa1192c4424a5f5f2224781c6f85fd7"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-refresh-project-documentation-and-agent-entrypoints/design.md",
"kind": "file",
"mode": "100644",
"sha256": "8ccc33ecaa8a1ba7edb97da735ade1130948722046179af7cacae6fc473ea659"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-refresh-project-documentation-and-agent-entrypoints/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "b06e785f1891da3c0e0c1937d4ea6ec91b4d5dd252a26f407fe88fd4d59ee628"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-refresh-project-documentation-and-agent-entrypoints/specs/project-documentation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "1fb96acac506d553824c09f259206979032106dbfb931d90ec1f2cdc13d7f530"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-refresh-project-documentation-and-agent-entrypoints/specs/project-foundation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "6b8790890506f4a0e8d1ac49ba6f5baf71b32df7681288cd25ff77a5c2d5f9a6"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-refresh-project-documentation-and-agent-entrypoints/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "0b088c4e764c7fbc84c66042d94490138cb0029b02251686fb24ffb53fe54659"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "941abb4536c8f6b2fc50009729078a4cfb284993da406ce09a79f5c42eb76182"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/README.md",
"kind": "file",
"mode": "100644",
"sha256": "509a72dcf1186fce7d61533f1fa7b215950b4107d67b875832986be977efeb96"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/design.md",
"kind": "file",
"mode": "100644",
"sha256": "f33a33cf6a31a5a88fa544747adaf03997196c50c0b6a27a19dcfebcbd294a83"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "a944d47c8fab7567b159fa2723300d2577712019270599233c8ee330393fa4e9"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/specs/frontend-quality-guardrails/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "cf54b7865c4c537475e66875fbd1f0128ed646ce1aecb4b7d21c39db7b3c1a9f"
},
{
"path": "specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "749177580be4a44ef42bf464d8bb8bbb3acc3004b2f923b9476ceb604d69fd50"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-align-domain-model-and-money-contract/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "673cf98ec1bcf1da9810fdd3a083506dcfc4d7de4e0179e9e9830e38bd57ed2f"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-align-domain-model-and-money-contract/design.md",
"kind": "file",
"mode": "100644",
"sha256": "a2e771fb3d4133e17e949fd19aeade1c9ef33ffa3b88a5eb1fa5f08896c93d7a"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-align-domain-model-and-money-contract/implementation-summary.md",
"kind": "file",
"mode": "100644",
"sha256": "05a47f0c60f213ba9bc4757ad7597589cbe633ab89c8cd601d9d3f7eff799a0b"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-align-domain-model-and-money-contract/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "850ea55bbea1fe1591e2c9f5ae0c909a4b558ecc4300445675c9cbb2b7c495fa"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-align-domain-model-and-money-contract/specs/brokerage-account-upcoming-events/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "002397b425cf71af0d89fbd4fde0055fe22d1e59deb9f892cf86c83eaa32eeda"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-align-domain-model-and-money-contract/specs/brokerage-accounts/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "8eaa75559bd57bb5f1f2ee0b4cf5fa348da917ebb41330e72703ccea064f9539"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-align-domain-model-and-money-contract/specs/portfolio-view/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "0fd22680efc37c416c3ac33ab25fb9b4911628c1e540bd0f759bea79c1922744"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-align-domain-model-and-money-contract/specs/project-documentation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "5bcb1134e40919698e7ec3640f704296e9d12f6ed8f41f407072007a30569fe9"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-align-domain-model-and-money-contract/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "da45876b5bfe9edbd0991ade90d35c1ac54c7a1f0e96abe10ca6bf01a8b264c1"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-component-style/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "e1cbd50d87cd669c3752e2b9be346e6d9c73358927dabc7358acc1e51c4a1fc3"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-component-style/design.md",
"kind": "file",
"mode": "100644",
"sha256": "13b06b3b137bee21240acedf48bbdaf9cdb013bc0fae260b46eda8e84d183765"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-component-style/implementation-summary.md",
"kind": "file",
"mode": "100644",
"sha256": "cbf0b87331a6bb62baee12b3250fd9fe6947c5e876792135e8479e9258a13669"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-component-style/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "bf8611307fa2a177f5822e74faa828938a5b44a36c955a175df352e2037cec66"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-component-style/specs/frontend-quality-guardrails/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "04344df024d0d8da2ada24ad94fccb1bab4765ba0fb1f06147c2b6ee4b4a3112"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-component-style/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "6694093c0f7ceb615a368d277f44dae4f64646705fd95c1df7a3c537c469ed5b"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-view-model-boundary/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "368966af092b39099035f5487bf8553bd6fe6d798066f7c7b5bab2c62dd091af"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-view-model-boundary/design.md",
"kind": "file",
"mode": "100644",
"sha256": "279f4d2f44eeb5bb89eedea1bd14c03107cc6412e446ec1e300cb7e9f75f4bea"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-view-model-boundary/implementation-summary.md",
"kind": "file",
"mode": "100644",
"sha256": "543a12ba1d1d76e474515b8f1a927e6fde755b7d637370dec47351a557f5c11c"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-view-model-boundary/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "06582b32e7f4c40e5e024381dda01a3b24f2aac34cf9d3509fe2452fabc62034"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-codify-frontend-view-model-boundary/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "3b1f3129f685eda3c0e7df4eb93def071988128edabe669b3ef290d89bbb9040"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-consolidate-tbank-connection-resolution/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "036d1ec2df389374a2846c665f0f552dc191b2e95f1540cb8c9a06dbf32c5516"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-consolidate-tbank-connection-resolution/design.md",
"kind": "file",
"mode": "100644",
"sha256": "dd59ce7b02609a25b90c50f58035bdc76890fada7409c65206572f251920f926"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-consolidate-tbank-connection-resolution/implementation-summary.md",
"kind": "file",
"mode": "100644",
"sha256": "3ef29c72475089385c0ada9466a78bc9f3fb9912e8cc9822a365bca67f3f05ff"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-consolidate-tbank-connection-resolution/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "41541f9f4432e4f22d4dffdf080d6368b3c4d4a1a3375f140e17abc4479996ac"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-consolidate-tbank-connection-resolution/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "f6d428218377ab200cf52e91d5ef04c093bf09bbfb3e8e0fde925207b87c5326"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-extend-instrument-logo-to-bonds/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "b4eaacafff6261133d3b396cb495039d37d36448426f22b7af650e8362037e8a"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-extend-instrument-logo-to-bonds/design.md",
"kind": "file",
"mode": "100644",
"sha256": "2050c0263fdcb01a8d9415b2a8080beca9171914be31881229a4f3cacf3b9662"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-extend-instrument-logo-to-bonds/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "c52c2386080e9cc67338a3b830774d92d3c0c3a58be1a7365c0ba4c995421b40"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-extend-instrument-logo-to-bonds/specs/portfolio-view/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "5ecdeb71fa6c525642a259730638875b8366148bbca1208648431f1a0678c9d4"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-extend-instrument-logo-to-bonds/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "e199ca8a2816a8a65cf37748d75a64da1f09d2caa527054cbbc7ee69b8e742cb"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-remove-frontend-hook-token-params/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "bfe2de82a0090c3517eb472cd775df87a5b8c3ad36b5ea30938d03591b57556e"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-remove-frontend-hook-token-params/design.md",
"kind": "file",
"mode": "100644",
"sha256": "f8bb0c51869a0407d2c3a02a9e0b4f01794aa34ab051933bfd7f5378ef71f171"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-remove-frontend-hook-token-params/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "9a4763a395a455d32e70298845ed09c80ba6058ee1af06404d34e7ce1f800b4f"
},
{
"path": "specs/openspec/changes/archive/2026-08-25-remove-frontend-hook-token-params/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "bff31ae145eada59caec158738bfd9954305186c15b76587513763b8ef49464a"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-enhance-brokerage-account-list/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "6e572e90022e2163f26d66abbc7ead15106d124e0ef7a83a58419c5d02c8f185"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-enhance-brokerage-account-list/design.md",
"kind": "file",
"mode": "100644",
"sha256": "3b0eba92633249f2aa9adb345f3266ee86832c69db77a07c39021913aa2a297c"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-enhance-brokerage-account-list/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "ad3276018db2e641c8710c892600fd202ef25db77e8aef9ac784865acf46eb33"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-enhance-brokerage-account-list/specs/brokerage-accounts/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "be0760b7d04b15b6e0cb0f133660ccddfc613b03d32c78e8d9bcf7d2e752edb1"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-enhance-brokerage-account-list/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "37325a93577f3c2210fce3a6c08cdcc4a3e0608c8515f2bf3586d8578adc91c3"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "9b1ae00c6b0dfc0f3da853e2004ce86aa8c57eeb776c2b589b006f521661ea51"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/design.md",
"kind": "file",
"mode": "100644",
"sha256": "89302f3876d2a326e49a992d271c77e896175936c575604e6c2bac12f6eca485"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "9c1df64be9c12c48c6fbee204d9ea4b452f0517d3dcba2fcc5c80a7a54f33a6a"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/specs/multi-repository-delivery/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "6694df2c7f507786260122d056af846a9de1ee660e3130096e85794772e46acb"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/specs/openspec-authority-and-lifecycle/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "4fd17d7a2ee07e544eabd98b55d331ba6f8b2bf7d94a0bad01ae0d775d1f296e"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-agent-resilience/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "3b359ccb7822499dd7e9b9d0836fbb5ff1b97896b12dce91b73d591ea7f60876"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-quality/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "4ad96a26ec824d9742a5d2dd44e779c25ca2c6a0c497582f5c7cb0f6a3be8fc3"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-quality/design.md",
"kind": "file",
"mode": "100644",
"sha256": "371b776e3280b3b7e1da9da135edc5ffaae6632ac2cac44342e29a9a0db4ac52"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-quality/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "0e7ef2e39eb3eb0e63448deac4011fe6ab3fb2241bc0de55a3dcdb078d331b37"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-quality/specs/audit-remediation-workflow/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "647f0e38617baf566d252acc4fc72f63bd16570566f9f7be1fc3ee0fa5afe1aa"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-quality/specs/engineering-change-governance/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "5961b1b5097efe84743eb64e79d85b78b5e3e54bce977221e3f6180aab30f038"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-quality/specs/multi-repository-delivery/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "19894b52342936575a499a17148ba7890490b5b876597c616760efcbe7d18696"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-quality/specs/openspec-authority-and-lifecycle/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "b1fd2222bb5bd00137f0dca808891412ac7ed7e3c9bd8662ef24aca5755bdde2"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-harden-openspec-sdd-quality/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "8fc564f2dbeb423e8c7fe40f73cd5bfef456113668360e6eb3d9e8b09024c86d"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-improve-ledger-event-rows/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "fc43c7e240da40b29730c652aecd680a4ee624cd2ee275a5b57f4f3fb6bbdbc3"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-improve-ledger-event-rows/design.md",
"kind": "file",
"mode": "100644",
"sha256": "ec119509d87514c579085af2e35ec033a9891ea05ea49b8152e5da067e330c1f"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-improve-ledger-event-rows/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "dfd655871319f4dfbd5f3a25712525624eb4850946e971fc780c564e53414825"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-improve-ledger-event-rows/specs/brokerage-account-ledger/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "77ed1fe6ce078b43737140f2d9e5b4c6c910f14c4735ea23d5cffaa8b57f6026"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-improve-ledger-event-rows/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "a1e62afc20cbd3c524fa0f7a1a614433a3909a20636a899e77d34eb802738a53"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-polish-stock-position-cards/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "c662b9852061ffa0d8cdf89b25c2330bcb1729ee24cbdc3eb54ba0636b7cdf38"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-polish-stock-position-cards/README.md",
"kind": "file",
"mode": "100644",
"sha256": "c556e8291600d3d04efd6a65f3983765d41a6768f3310a740be119006c741e9d"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-polish-stock-position-cards/design.md",
"kind": "file",
"mode": "100644",
"sha256": "cb05e121e1a91416d8ec347055852ee8eacf251043dd6b556f32212faba79921"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-polish-stock-position-cards/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "4908708510ad06aab9d3f237f1ff29271abb27e21e62ca5a9e1c78544d097e16"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-polish-stock-position-cards/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "570c1857b664ff34ebfa60b5c1b98ed0cfd910faac2cf507d6d39f1d7c299b88"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-simplify-verification-infrastructure/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "c9a7e2f5a7135db422c8ad1d1aa41b9c204e2286f8d30f10b3ffd724e2675a79"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-simplify-verification-infrastructure/design.md",
"kind": "file",
"mode": "100644",
"sha256": "802debba97049ad8f73c209480ab89b589bc493e86ca39db2e28a1ddefcf3ce6"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-simplify-verification-infrastructure/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "6a71e5015ecc5e2f97ec816d17e2a63c6c0b8dc67abfaaa44cf98087f829fca8"
},
{
"path": "specs/openspec/changes/archive/2026-08-26-simplify-verification-infrastructure/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "05dfb44c3fe27d71a288d15c72a23471b768a9ec029d6d9c347eddc5a4090499"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-account-ledger-explicit-filters/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "a82eb89f419219e5bf2d81635786fa92a305869f3656cdc22f2a0bf3e24aa507"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-account-ledger-explicit-filters/design.md",
"kind": "file",
"mode": "100644",
"sha256": "cf0d8836a07c5b7ae7ded0632f0289cedfdf2a1d110f32f71e42d33f3b74e3cd"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-account-ledger-explicit-filters/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "5767ae4456a1180b968a91bbd7eb1bc0738a629655b6795bd5c3c86bd38e00db"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-account-ledger-explicit-filters/specs/brokerage-account-ledger/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "e233dfe62f42cd09d0309ab531dad573f79e21490a6f9328e09d697ed29fd4ab"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-account-ledger-explicit-filters/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "5735ea52b633ce373b7e064f176d59a2152f2de9a6e3599a65c66ac55cca7104"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-add-session-oriented-sdd-skills/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "a82eb89f419219e5bf2d81635786fa92a305869f3656cdc22f2a0bf3e24aa507"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-add-session-oriented-sdd-skills/design.md",
"kind": "file",
"mode": "100644",
"sha256": "785db1b3f8ae06d75a3b9f84b792a9f5930b3adc858fbdf04d97dac828622e9d"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-add-session-oriented-sdd-skills/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "c1425134745d2a4b16361afef43f5e70afd36c6fa37c2d7e02f37bd04d2bb5fb"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-add-session-oriented-sdd-skills/specs/agent-sdd-session-workflow/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "43fbc4afb96fa0db342bc69341df806d373f21aa4239a1821114e48f9177d5b8"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-add-session-oriented-sdd-skills/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "178aaef67d5f979e6d719d2c3613a8e0191565209d599fe41471d1c90be89001"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-consume-mantine-components/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "44188fb0a7617de4d5c2193b6084bdae2142f193df578c1fa17f003e08f88fa2"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-consume-mantine-components/design.md",
"kind": "file",
"mode": "100644",
"sha256": "587cd9db022ff434dfa5492e8aeee77a8c26e5b14a317e1a59656b2f3f28702e"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-consume-mantine-components/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "c77d3844213be2d18f2e1036bc90af51ba908f61126c5d866549e6b2a71b9e83"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-consume-mantine-components/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "a260c01a0892ea968b2b51b1404b9235041529aea3c09dbdf87b474b9ff118f9"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-ledger-entry-type-label/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "a82eb89f419219e5bf2d81635786fa92a305869f3656cdc22f2a0bf3e24aa507"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-ledger-entry-type-label/design.md",
"kind": "file",
"mode": "100644",
"sha256": "9ae6c90a420fcd603ef38cf1df1fa80c7662b1f080cf3954cd94415182ce5519"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-ledger-entry-type-label/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "fd4b1a32abcb5328bdfa0aa9093a98cd600d4c2b445bed9bfc53c68b5b4d1f5a"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-ledger-entry-type-label/specs/brokerage-account-ledger/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "fccd3d238c704c4b1ad3cdde61458c40a3d8153e086d68e8573b31949810adc7"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-ledger-entry-type-label/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "804b9fd1e8b484ea5cdf4d716178401fa2e3261345a347b022050175f4a53855"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-optimize-agent-token-workflow/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "93b3eca27403c43ebc8559b0fd061a171328e8829a334000312f5ad8ed06a928"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-optimize-agent-token-workflow/design.md",
"kind": "file",
"mode": "100644",
"sha256": "81cb5850c86b5bcfc357862c1908518d7498a9c70114d27d7c19da53095b2e3d"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-optimize-agent-token-workflow/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "000c51a274c7dccaa4f14d85231921f1355c3818024766f16f1528ce38a019a6"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-optimize-agent-token-workflow/specs/engineering-change-governance/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "482311dc010a1f66381339eab444531f920eb6adcc44d72bf1015c2914f121ed"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-optimize-agent-token-workflow/specs/openspec-authority-and-lifecycle/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "616a819a3c28f773d1b6a172c6cbff905da29f43c1ee482b98ceeef5cf957057"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-optimize-agent-token-workflow/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "d13af84c40dab6a4272cc03030f28c6549a7e6f325359bc281394860c16e3b26"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-replace-loading-spinners-with-skeletons/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "a82eb89f419219e5bf2d81635786fa92a305869f3656cdc22f2a0bf3e24aa507"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-replace-loading-spinners-with-skeletons/design.md",
"kind": "file",
"mode": "100644",
"sha256": "767b200aafbad3a6a14a28a3bec62f26d27f9ee0c77335756d04b11285104342"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-replace-loading-spinners-with-skeletons/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "061db09547e7594d23a7a57705c21588fb590c4dd43d84facb9181a44d9f6f48"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-replace-loading-spinners-with-skeletons/specs/frontend-loading-presentation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "59b2ce788bcf4111f18fde955f0117e289e715778003ce2be9feace068c2b862"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-replace-loading-spinners-with-skeletons/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "eab55a7f0cfd435b680160d3deffb808776424892cade76d65caa0b5265e3f95"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-show-stock-tickers-on-position-cards/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "a82eb89f419219e5bf2d81635786fa92a305869f3656cdc22f2a0bf3e24aa507"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-show-stock-tickers-on-position-cards/design.md",
"kind": "file",
"mode": "100644",
"sha256": "76d342bddcd0872b99ff2ff61d6edd28d9057ca43927b5d456978876bb41167c"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-show-stock-tickers-on-position-cards/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "ecd1fcb81c723be112e83a3f807bf02b43507b83b79ed3d5816e3dac4d167ba4"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-show-stock-tickers-on-position-cards/specs/portfolio-view/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "5b1520db066bb059213801fdbae8dc94a1b91909b3808de11478768c6a45669c"
},
{
"path": "specs/openspec/changes/archive/2026-08-27-show-stock-tickers-on-position-cards/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "b045c99eb42022ad10c23e48136a3170f557c2d46e07f40b2ad5ffd3bc4e8e6e"
},
{
"path": "specs/openspec/changes/archive/2026-08-28-portfolio-income-analytics/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "a82eb89f419219e5bf2d81635786fa92a305869f3656cdc22f2a0bf3e24aa507"
},
{
"path": "specs/openspec/changes/archive/2026-08-28-portfolio-income-analytics/design.md",
"kind": "file",
"mode": "100644",
"sha256": "9833a17838f9c5759ef429fe6a836d607a2ffb4e898dda94575a4d41236f0de0"
},
{
"path": "specs/openspec/changes/archive/2026-08-28-portfolio-income-analytics/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "4c6996d6bc011610419acdd531f3d3c63565316f4d4c936c44e6e024167b19fa"
},
{
"path": "specs/openspec/changes/archive/2026-08-28-portfolio-income-analytics/specs/brokerage-account-income-analytics/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "c49b5c21bc7be667a1a611c69f2445964ba8e077d4b3a6388d9282d3414720dc"
},
{
"path": "specs/openspec/changes/archive/2026-08-28-portfolio-income-analytics/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "db1111d603f8875f2563e8eace84278888e697ad8035c59ccd1ecd044af4cbcf"
},
{
"path": "specs/openspec/changes/archive/2026-09-01-harden-tbank-connection-cache-boundary/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "32d1bd30a23a9d140399725dc26636553d66e378d81bb0bd82ad0b3e1e92bae5"
},
{
"path": "specs/openspec/changes/archive/2026-09-01-harden-tbank-connection-cache-boundary/design.md",
"kind": "file",
"mode": "100644",
"sha256": "e2d7c7733d444b2405270fa5e66c306cff7c761a7c245c3075676a0655dc75dc"
},
{
"path": "specs/openspec/changes/archive/2026-09-01-harden-tbank-connection-cache-boundary/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "7e67802e26a9791fff272251f099f440812153136d8fe68d683eff5707cbc1c5"
},
{
"path": "specs/openspec/changes/archive/2026-09-01-harden-tbank-connection-cache-boundary/specs/frontend-query-coherence/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "e23d2feb5b388c7745c0ec3d6c674851dd4ad438b0d0b4c5621b5639d00a2afd"
},
{
"path": "specs/openspec/changes/archive/2026-09-01-harden-tbank-connection-cache-boundary/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "293fcc80ef9349bb0989e3175751b3d6afb7c2cd289188db03c9e0be6e345d97"
},
{
"path": "specs/openspec/changes/archive/2026-09-06-complete-frontend-audit-remediation/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "c6674348278b5014c60b4d20d566181baa38565ba2e2001eea417e3f9fcfcf4c"
},
{
"path": "specs/openspec/changes/archive/2026-09-06-complete-frontend-audit-remediation/design.md",
"kind": "file",
"mode": "100644",
"sha256": "d08e824a1bc458e7867a6d02aeaa560bad976fd2fe7d7876bb6525fc85b4ea8a"
},
{
"path": "specs/openspec/changes/archive/2026-09-06-complete-frontend-audit-remediation/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "d973f54ea85e0f0f8c23de2d94c658c99d392ff967384c6cd8c7e7f246c11943"
},
{
"path": "specs/openspec/changes/archive/2026-09-06-complete-frontend-audit-remediation/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "fda95ffeaa159f293352b7a488f794eb22d8183b0e22ef18be93fd17734868a9"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-integrate-ui-ux-design-workflow/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "24ca212b48c41c2de1d9fb7906b9be9f3bcef9db6268fa64db98ce9e9669aa86"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-integrate-ui-ux-design-workflow/completion-evidence.md",
"kind": "file",
"mode": "100644",
"sha256": "f8c4e6c8c8f5cc222ead03257c68ca39b411c0b0878fa12e7b6fea489fcf4da8"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-integrate-ui-ux-design-workflow/design.md",
"kind": "file",
"mode": "100644",
"sha256": "c8dd90259b16d05e28ad008b2cb2024b889ad9106db8b14495b4c0e68db0ae5b"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-integrate-ui-ux-design-workflow/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "c55cc32fbef3bf5e2782fa3fdcfecc3cd4348791398c160d604bf2ab49e4b57b"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-integrate-ui-ux-design-workflow/specs/agent-sdd-session-workflow/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "b156035696902c1d25501b4776dcd2caf3bdeeeae63d24f281809437a9706a22"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-integrate-ui-ux-design-workflow/specs/frontend-ui-catalog/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "fdc6f196a2b0c37e2804f52fd63d224f2d474a3b4c997ff2bde217bbc50e76e8"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-integrate-ui-ux-design-workflow/specs/openspec-authority-and-lifecycle/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "4dcf20eb0a704e04f56a2471c1ad56353e326eb5eef945317177ebf91653087a"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-integrate-ui-ux-design-workflow/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "bae172b34ad1a46137d1a5f386122563a6b26ccf92bc5651965d26503a80e9f0"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-optimize-session-oriented-sdd-v2/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "41adee516621a5f5ea5e33311f76d271147762cd32f88e86877243010db0e3aa"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-optimize-session-oriented-sdd-v2/completion-evidence.md",
"kind": "file",
"mode": "100644",
"sha256": "b0fab33ffbaa0b73c313c98094811ba9f41f47394d3d32e859abed51cb5d3361"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-optimize-session-oriented-sdd-v2/design.md",
"kind": "file",
"mode": "100644",
"sha256": "7c69406aeadf4dc33682ac98bb010ebc31787479a693751e44df7e80a94eb2d0"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-optimize-session-oriented-sdd-v2/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "c6b9c33b3e97eb592f5fe25b69cfb60737025374248531d7b9ca1cf340d7eb23"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-optimize-session-oriented-sdd-v2/specs/agent-sdd-session-workflow/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "340c1358374aa3c57a82eab6f0457417a6e66ba3ed934b896d1bf57393ca4b88"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-optimize-session-oriented-sdd-v2/specs/project-documentation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "4e85d82fd051697bb66dac9366f723088eb17ab1c443e7cc338008ac4cd605d7"
},
{
"path": "specs/openspec/changes/archive/2026-09-07-optimize-session-oriented-sdd-v2/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "8a774808320781c13efc22bdb142d6a6f421281fa0ce8e1052af61e04dacd16f"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-complete-shared-design-system/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "8f71edf411818fb21b413c2172c63cc785cb6cd3716d7eaab9660daa9243c982"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-complete-shared-design-system/completion-evidence.md",
"kind": "file",
"mode": "100644",
"sha256": "d280871f6613b6c127dafc92373b4bfcf0813bfff435165e69e29ce4b872d28f"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-complete-shared-design-system/design.md",
"kind": "file",
"mode": "100644",
"sha256": "b1f0f269667e9ade94aafb4600141b9817d95e4e053dd9fb08aa2d6c77466071"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-complete-shared-design-system/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "298bec9a2357c7cbb4708b96d0314f6bb10cf460afc191a772ed81c6b0712a07"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-complete-shared-design-system/specs/frontend-design-system/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "4f0b1c41520c763458ddacbbe72a2c5f7ce7a48418fe67811938638563c87a80"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-complete-shared-design-system/specs/frontend-ui-catalog/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "93ad7922f962247f845c179d1dc9a266c2cbfec354ba438f2d64dc23f780ea8a"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-complete-shared-design-system/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "091baf057e30ddcf96c8847404ed99b614b4169d049c30a65aa68e6ac988751c"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-make-design-tokens-portable/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "8f71edf411818fb21b413c2172c63cc785cb6cd3716d7eaab9660daa9243c982"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-make-design-tokens-portable/completion-evidence.md",
"kind": "file",
"mode": "100644",
"sha256": "a3d294aea570371da718e8edb4b0a041d56574b893d040bd5171fff1c92656b1"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-make-design-tokens-portable/design.md",
"kind": "file",
"mode": "100644",
"sha256": "bacf8c6ac18fdde1cea37325806bd95f86de717fa918e296796c1040ee0f31e6"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-make-design-tokens-portable/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "86955ac083aeabf49ce71b9c80b9b851b98894516a96d76f6d3d3e5de171139c"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-make-design-tokens-portable/specs/frontend-design-system/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "24dc2d634d9a313d8215ef21c58c84fcabbaa838e4530c647f28a62a3997c294"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-make-design-tokens-portable/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "922d59f190dc91469ab14bc4f2b336ca5bb24c9e8beff0a4d769acc6b78dfc8e"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-simplify-local-design-tokens/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "8f71edf411818fb21b413c2172c63cc785cb6cd3716d7eaab9660daa9243c982"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-simplify-local-design-tokens/completion-evidence.md",
"kind": "file",
"mode": "100644",
"sha256": "9c1dd183a37318a942076a857f7f8bc3b0c808b2b75d285d1c951aff22fd66d6"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-simplify-local-design-tokens/design.md",
"kind": "file",
"mode": "100644",
"sha256": "f9688ad20a5a8b85f5ce6b1df49e807efc8a554e8aae35ab67549b35699a05fe"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-simplify-local-design-tokens/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "deeccba5dbc3187111ab80c806f94580c4bc9c4b2f80d64c06d14c621756824b"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-simplify-local-design-tokens/specs/frontend-design-system/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "911b9a4e900f37868a9959ff65f3f38ffa81473df974bba36d3313035829c8f6"
},
{
"path": "specs/openspec/changes/archive/2026-09-08-simplify-local-design-tokens/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "5aa52960b34d3ff8058d9da396ddc7c78f17f72b8692d795e14147add89d9819"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/.openspec.yaml",
"kind": "file",
"mode": "100644",
"sha256": "83fe0dbbd1cc0663de914b41a49b068c9d78013260d8358da20d3260db638954"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/design.md",
"kind": "file",
"mode": "100644",
"sha256": "39fc7651a290c9380ab4e12bb76309082c4f2ebe5c5b8bdf7dbd3b48fcd1f7b0"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "c0fe9ced94e036462642154fa7a16dd5df92ea465f6332b46de0afce7f9bd564"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/specs/portfolio-view/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "c2ac78e160d85485d02cee24fd28abb45a947813b0266f3535d49ec6fd58b0bb"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "2ee7368d69cbe427e3ea11ef2c9586ab69d2597c351b4e3e0b7180d1534ac346"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-error-stale-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "c63c8a30cc932582f591422dd4871c6663cb55567218cee988d7119d77d4a4e3"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-loading-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "138b000b334f54294f6cd8e88d607619608b05620231267fc1dc0477e1f87f46"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-long-320.png",
"kind": "file",
"mode": "100644",
"sha256": "48d62eaa497819e6312f5ae56afa393f92c7bb0970543cd9b3abdd5960480534"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-long-wide.png",
"kind": "file",
"mode": "100644",
"sha256": "ecccaee124c72b0f4f22bd92b31ef97e260c830782761ed9e7aab4c33a7e0af0"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "8ee71bb406abaa980e08f57c45e007fb66183786dfd251c9280a6ff62205d922"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-refresh-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "e453606105a96290a2d2358e039935c89187a90127ffe4228374ae6e16c9e252"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-single-wide.png",
"kind": "file",
"mode": "100644",
"sha256": "6f163dd4a4ba461df5e715bab5757f4698986aade56ae38f02585d9c8d366b28"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-wide.png",
"kind": "file",
"mode": "100644",
"sha256": "b406552e01098a5b95183d6a54bd59b3bf827387d33d73a6a453d83140b8da10"
},
{
"path": "specs/openspec/config.yaml",
"kind": "file",
"mode": "100644",
"sha256": "c5a7c8728824abcf525c4f26d3e7089c54396513d80d2ba4edba15c7a9ba5771"
},
{
"path": "specs/openspec/schemas/wealth-ledger-sdd/schema.yaml",
"kind": "file",
"mode": "100644",
"sha256": "d4775e71e157bd144256ab62e40294a7f3d76173456c928b223a6b631d8ee629"
},
{
"path": "specs/openspec/schemas/wealth-ledger-sdd/templates/design.md",
"kind": "file",
"mode": "100644",
"sha256": "8d7749fe5bc32ef4acf70bcc4af22b95c615539fe866bc1de36571f3563b74d4"
},
{
"path": "specs/openspec/schemas/wealth-ledger-sdd/templates/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "d0aa6958b1e7abc3bae5516d3662e81caf9a46c6b34ee98045fb2b863a710a15"
},
{
"path": "specs/openspec/schemas/wealth-ledger-sdd/templates/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "8c01eb2f297af110cff4a12b998443684645fa54127d898a78b7765985ccb3a3"
},
{
"path": "specs/openspec/schemas/wealth-ledger-sdd/templates/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "8722869157106bae35438834d4c05703dc3b3799df7377ec74ee905b8cdf477a"
},
{
"path": "specs/openspec/specs/.gitkeep",
"kind": "file",
"mode": "100644",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "specs/openspec/specs/agent-sdd-session-workflow/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "073d4e19163c6344a67c6cac99f11f60378d3ac6f5783c27ec88d2c92a67d713"
},
{
"path": "specs/openspec/specs/api-contract-generation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "084ff97d258ab7c1e0eb6af27b36f054a8e16770813a3af5ac823f7385dbe53b"
},
{
"path": "specs/openspec/specs/app-breadcrumb-navigation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "d7ef01f72a89454a47e096b5f8666794d0d00d25f5a954aedb9ea2c3773f4d09"
},
{
"path": "specs/openspec/specs/audit-remediation-workflow/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "a609567be6e205bd47d520acb67c9c6dbf382df541a91cfb1e52e831a9006b4b"
},
{
"path": "specs/openspec/specs/backend-structured-logging/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "25ea8975444c21aacfd78da0652c75c40906a68ba13b704cbe627ac5c8d9e3d8"
},
{
"path": "specs/openspec/specs/brokerage-account-income-analytics/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "a5bbdc430022a3261383fb34430a1abe67e3811b40c36356ada24a250323faf8"
},
{
"path": "specs/openspec/specs/brokerage-account-ledger/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "597db4690932fe06b735d94f690fe97ec95ad8ebfefb242a7e195b3a579f12bf"
},
{
"path": "specs/openspec/specs/brokerage-account-upcoming-events/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "e04642cf3abdc694a879d036d28484289e31dc284843b47164af498eb5c8db7b"
},
{
"path": "specs/openspec/specs/brokerage-accounts/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "8e7d826685c6e980efcf24356f5ae7800da349775d78be2c6c76183a31eba664"
},
{
"path": "specs/openspec/specs/engineering-change-governance/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "ca75600c855a3bdbe46231279ce4bbfaacd9167ced1715c195797933f115b00b"
},
{
"path": "specs/openspec/specs/frontend-data-resilience/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "4a63906e7dd2b83cc2fc7905444703c6eba0d4a0faa6d206362e70eb6e6798c9"
},
{
"path": "specs/openspec/specs/frontend-design-system/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "7802410ea5217c961ad5acc36a863d8edaee61571270363351aea4274a18ae4e"
},
{
"path": "specs/openspec/specs/frontend-loading-presentation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "820f2cfdb583284cc6dad23d782ca8c720baa523800042a92b4daac6760e0f0f"
},
{
"path": "specs/openspec/specs/frontend-quality-guardrails/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "07ce2f3cf0b128d9cb41b387c18977ca7e965b0cbbef9ea53b9354bc0337d35e"
},
{
"path": "specs/openspec/specs/frontend-query-coherence/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "e87e41adeaa0fa3859e29735009da5e8a6c13a3da26aab74c8fa3be2a33892e2"
},
{
"path": "specs/openspec/specs/frontend-ui-catalog/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "39f5543e5356755bc3512a99da866944eeb11def73c1cf05789e8b902aa6096f"
},
{
"path": "specs/openspec/specs/frontend-ui-resilience/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "3b249d74194004fde105ff6e80669b1f0df2365dda4f0b17b50ed2e4ec1f0297"
},
{
"path": "specs/openspec/specs/multi-repository-delivery/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "3a335f4d109e7944d6fd0ddb05a84e8690547bdec151aeabcd7ac736a2a0f06c"
},
{
"path": "specs/openspec/specs/openspec-authority-and-lifecycle/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "de7a7853fd159c6a57487a9ea4e16f1f3dba8d7632d12daab0bdf8116c498342"
},
{
"path": "specs/openspec/specs/portfolio-view/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "89bb963fba1f0b98d6be0f06b13f25d0cb138f8631e5e050a5ecf5ca749bdfd6"
},
{
"path": "specs/openspec/specs/project-documentation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "8d370df3819339d9207220afbb953ca58a4ff5b0fe80c069a0348bf024ffe12e"
},
{
"path": "specs/openspec/specs/project-foundation/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "3694bb6bc69ec1926a545aa70f799a2581589ddce4519953c09ebe9fd71544d7"
},
{
"path": "specs/openspec/specs/tbank-connection/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "225cceba45eef078a39f93264575c633570ab3004fee989d81f02b0852693b2c"
},
{
"path": "specs/openspec/specs/user-authentication/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "f4bf3fa2706da03a348fbde7219b8246a06f52405b91fd977bdb065b4d81ecf9"
},
{
"path": "specs/openspec/specs/workspace-artifact-hygiene/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "cbca6e5a6ac49a5cd70fcf560f2e52c2e5bd0f7df1f2ce5a5c75c42dfb9551b1"
}
]
}
Approval observations
{
"proposal": {
"fingerprint": "sha256:ee68cbe232cbac748ac0a3174e875f6c841f298c4010f09ab9a905f0d7ee4463",
"inventory": [
{
"path": "specs/openspec/changes/compact-portfolio-totals/proposal.md",
"kind": "file",
"mode": "100644",
"sha256": "c0fe9ced94e036462642154fa7a16dd5df92ea465f6332b46de0afce7f9bd564"
}
],
"status": "approved",
"artifact": {
"store": "wealth-ledger-specs",
"change": "compact-portfolio-totals",
"name": "proposal",
"paths": [
"specs/openspec/changes/compact-portfolio-totals/proposal.md"
]
},
"decision_source": {
"thread": "01a084a2-276b-77a0-b875-2b3e8e1b03e0",
"message": "01a084a5-dff2-7fd3-97d2-138876580d13",
"quote": "все ок, давай дальше"
}
},
"specs": {
"fingerprint": "sha256:d62a508d1dcf3b63fcf4b698ba057adc332dc411cd9fa0c25ddb9fcae14d777d",
"inventory": [
{
"path": "specs/openspec/changes/compact-portfolio-totals/specs/portfolio-view/spec.md",
"kind": "file",
"mode": "100644",
"sha256": "c2ac78e160d85485d02cee24fd28abb45a947813b0266f3535d49ec6fd58b0bb"
}
],
"status": "approved",
"artifact": {
"store": "wealth-ledger-specs",
"change": "compact-portfolio-totals",
"name": "specs",
"paths": [
"specs/openspec/changes/compact-portfolio-totals/specs/portfolio-view/spec.md"
]
},
"decision_source": {
"thread": "01a084a2-276b-77a0-b875-2b3e8e1b03e0",
"message": "01a084ab-709c-70f2-8833-066583e6692e",
"quote": "ок, идем дальше"
}
},
"design": {
"fingerprint": "sha256:ea69a333dabc0e82280a5a78ee6dd724935cdbc2b3ea0b656f2759ee901a97a3",
"inventory": [
{
"path": "specs/openspec/changes/compact-portfolio-totals/design.md",
"kind": "file",
"mode": "100644",
"sha256": "39fc7651a290c9380ab4e12bb76309082c4f2ebe5c5b8bdf7dbd3b48fcd1f7b0"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-error-stale-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "c63c8a30cc932582f591422dd4871c6663cb55567218cee988d7119d77d4a4e3"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-loading-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "138b000b334f54294f6cd8e88d607619608b05620231267fc1dc0477e1f87f46"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-long-320.png",
"kind": "file",
"mode": "100644",
"sha256": "48d62eaa497819e6312f5ae56afa393f92c7bb0970543cd9b3abdd5960480534"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-long-wide.png",
"kind": "file",
"mode": "100644",
"sha256": "ecccaee124c72b0f4f22bd92b31ef97e260c830782761ed9e7aab4c33a7e0af0"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "8ee71bb406abaa980e08f57c45e007fb66183786dfd251c9280a6ff62205d922"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-refresh-narrow.png",
"kind": "file",
"mode": "100644",
"sha256": "e453606105a96290a2d2358e039935c89187a90127ffe4228374ae6e16c9e252"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-single-wide.png",
"kind": "file",
"mode": "100644",
"sha256": "6f163dd4a4ba461df5e715bab5757f4698986aade56ae38f02585d9c8d366b28"
},
{
"path": "specs/openspec/changes/compact-portfolio-totals/visuals/a1-wide.png",
"kind": "file",
"mode": "100644",
"sha256": "b406552e01098a5b95183d6a54bd59b3bf827387d33d73a6a453d83140b8da10"
}
],
"status": "approved",
"artifact": {
"store": "wealth-ledger-specs",
"change": "compact-portfolio-totals",
"name": "design",
"paths": [
"specs/openspec/changes/compact-portfolio-totals/design.md",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-error-stale-narrow.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-loading-narrow.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-long-320.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-long-wide.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-narrow.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-refresh-narrow.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-single-wide.png",
"specs/openspec/changes/compact-portfolio-totals/visuals/a1-wide.png"
]
},
"decision_source": {
"thread": "01a084ad-40c8-78e3-9a70-654d4b62f390",
"message": "01a084b3-622f-7a31-98f7-b82aa1749371",
"quote": "окей, давай дальше"
}
},
"tasks": {
"fingerprint": "sha256:d1ef7906b9f5cd27e93fdf1f42cb48f9da8f970cec5554e2edbc2e9f97ab2354",
"inventory": [
{
"path": "specs/openspec/changes/compact-portfolio-totals/tasks.md",
"kind": "file",
"mode": "100644",
"sha256": "abcd9e150f392b4c10093f72168c6bc3cb7dae6a3991927ca41919cd490c0f6a"
}
],
"status": "approved",
"artifact": {
"store": "wealth-ledger-specs",
"change": "compact-portfolio-totals",
"name": "tasks",
"paths": [
"specs/openspec/changes/compact-portfolio-totals/tasks.md"
]
},
"decision_source": {
"thread": "01a084ad-40c8-78e3-9a70-654d4b62f390",
"message": "01a084b6-68f1-7591-9a5c-d48fef8cb3bf",
"quote": "все ок, напиши промпт, чтобы продолжить дальше"
}
}
}