3.5 KiB
3.5 KiB
Tasks — Add @suaveplan/currency-provider-kraken
Spec-completeness preflight (AGENTS.md §12a)
- Numbered checklist of every
### Requirementand#### Scenariodrafted inspecs/currency-provider-kraken/spec.md(8 requirements; see the spec delta).
Scaffold
- Create
packages/finance/currency-provider-kraken/withpackage.json(0.1.0,sideEffects: false,type: module) - Add
tsconfig.json+tsconfig.lib.jsonmirroring the slim core - Add
vite.config.tswithpreserveModules: trueand the four external packages - Add
vitest.config.ts(forks pool, istanbul provider, 100/100/100/100 thresholds, includestests/**/*.test.ts) - Add
tests/setup/polyfills.ts(empty shim) - Add
README.md(per CLAUDE.md §5 — H1, paragraph, install, quick start, modules)
Implement
src/symbols/symbols.ts—KRAKEN_SYMBOL_MAP(12 frozen entries) +KRAKEN_PAIR_TO_SYMBOLreverse map +mergeSymbolMaphelpersrc/symbols/symbols.md— sibling doc (≥200 words; Purpose / Features / Basic / Advanced / API Reference / Implementation Notes)src/symbols/symbols.test.ts— frozen, complete, reverse consistent, merge override behavioursrc/symbols/index.ts— explicit named barrelsrc/provider/provider.ts—KrakenProviderclass +KrakenProviderConfigextendingNoKeyConfigwith optionalextraSymbolsmap;DEFAULT_KRAKEN_BASE_URLconstantsrc/provider/provider.md— sibling docsrc/provider/provider.test.ts— full scenario coverage matching the## Test strategyindesign.mdsrc/provider/index.ts— explicit named barrelsrc/index.ts— explicit named barrel re-exporting both feature modules
Dep-graph + invariants test
tests/dep-graph.test.ts— noexport *insrc/index.tsor any feature barrel; subpath-export count matches feature-module count
Pre-archive gates (AGENTS.md §13)
- Step 0 — spec reconciliation (every
### Requirement+**Verified by:**resolves) - Step 1 —
bunx turbo lint typecheck test --filter=@suaveplan/currency-provider-kraken+bun run checkboth green - Step 2 —
bunx turbo test:coverage --filter=@suaveplan/currency-provider-krakenreports 100/100/100/100 - Step 3 —
bunx turbo build --filter=@suaveplan/currency-provider-krakengreen - Step 4 — banned-pattern grep returns zero
- Step 4a — barrel-shape grep returns zero
- Step 4b — test-runner-import grep returns zero
- Step 5 — missing-
.mdgrep returns zero - Step 6 — README present
- Step 7 — bare-version grep returns zero
- Step 8 — subpath-export count = 2 (matches feature module count)
- Step 9 — security-scan grep returns zero
- Step 10 — dependent sweep (no current dependents — fast-path)
Root-doc refresh (AGENTS.md §13b)
bun scripts/folder-reorg/generate-manifest.tsbun scripts/generate-missing.ts- Update
STATUS.mdrow for@suaveplan/currency-provider-kraken - Update
SUMMARY.mdrow for@suaveplan/currency-provider-kraken bunx markdownlint-cli2 --fix
Archive (AGENTS.md §14)
- Fold
specs/currency-provider-kraken/spec.mdintoopenspec/specs/currency-provider-kraken/spec.md - Move
openspec/changes/add-currency-provider-kraken/→openspec/archive/2026-05-17-add-currency-provider-kraken/