Skip to content

v0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Jul 22:46
· 3 commits to main since this release

Changelog

  • f5bf747 Fix README download instructions to match actual release artifact names and formats
  • b22f9ff Remove duplicate .goreleaser.yml — .goreleaser.yaml is the canonical config
  • 4f193b2 linting update/fix
  • db5bdd8 Update more examples
  • 7d086a8 add example to readme
  • 1f88066 further cleanup
  • adff9fc more repo cleanup
  • 38035a9 clean up github
  • 6c7b3af Add comments to findings and todo
  • 904025e Update go vers, add more docs
  • d6f7ab3 review and update spec and plan for mcp
  • eec39b6 docs: add MCP server design spec
  • 658c9be Add taste file for commandcode harness
  • b77d44a Update docs, get prompt read for mcp planning
  • 17fae7d Fix CI fmt err
  • b239998 Fix formatting
  • 21aa91b Merge remote-tracking branch 'origin/main'
  • 5c9978c update todo
  • 7c5b6cd mcp.json"
  • 8fda73d test: complete E2E coverage for new metrics (alias + detail)
  • 66b3177 test: add E2E tests for dom, vol, fgi, cnm2 + shared helper
  • 5dcb03a Update CLAUDE.md
  • 6f966c4 Update TODO, note removal of LLM specific files soon
  • c05a4f9 docs update
  • a3dbcde Update todo
  • bcedecf Add image
  • f481dd9 update docs and add platform binaries building
  • 27b5ba7 update README
  • 62c7507 newest batch of metrics
  • 80cd76a plan new metrics
  • 8ae1cde Plan to add fx tests
  • deec9a8 fix: adversarial review — atomic.Bool race fix, version tests, pretty-print tests, root structural tests
  • 14cd774 Make new plan to update docs and cli args
  • 71b47ed fix: unify metric interfaces — shared unavailable helper, namespace field, FT/MD type consistency
  • 2ff8122 fix: remove dead output/meta types (#8); align MR market_breadth_score to MetricFloat (#9)
  • d25808d feat: inject cache_hit/ttl_remaining_sec for all metrics via root.go overlay (#5, #10)
  • e365118 fix: easy-win consistency fixes — FT rename, SP thresholds, MR single cache open, 10-regime docs
  • b38dc63 fix(status): unify all 6 metrics on DetectStatus() helper
  • 8ca892c fix(md): replace map[string]interface{} meta with typed Meta struct
  • 3bb6c7d new plan to adjust metrics
  • dfe3d91 market regime 1.0
  • 3b3af4f feat(mr): implement market-regime pure compute — matrix, confidence, summary
  • a053a60 updated plan and spec
  • 0a004a1 Add new plan
  • 4e7428b new metric
  • 07199b6 brings docs up to date
  • 3e65ec9 chore: gitignore graphify-out, finalize CI stability plan
  • e258a61 fix(ci): pin goimports and gofumpt to known versions
  • 9785f54 fix(tests): harden E2E assertions against API rate-limiting and nil panics
  • f43c7f1 plan fixes
  • 5e50589 Add graphify output
  • 3110167 fix(md): remove unreachable simple-mean fallback from v1.1 weighting
  • 9094bd5 fix(md): remove unreachable simple-mean fallback from v1.1 weighting
  • 017ff2a Update v1.1 plan and code review
  • 40d694c update designs for md 1.1
  • e9531ee fix(md): code review fixes — constant split, tier_detail gating, test correctness
  • 749727e fix(md): add cache starvation guard for truncated API responses
  • bb47f79 feat(md): implement momentum-divergence metric with tier-based risk appetite classification
  • 8614b00 add momentum divergence definition
  • f2a6ca3 fix: trailing commas for gofumpt v0.10.0 + remove tracked .gocache
  • 40046f5 update docs after market breadth implementation
  • e2f759b test: add market-breadth E2E tests
  • 27ebc92 test: replace scaffold provider tests with mock-injection tests
  • a66e961 feat: implement market-breadth provider with Compute and RegisterFlags
  • 448cce1 feat: add market-breadth types, compute, and compute tests
  • 3b7fea2 feat: restructure CoinMarketsBreadthData to per-timeframe counts with BTC reference
  • 82cf2ad feat: add Close, Open, OpenTime fields to Binance KlinesData
  • 860e19f updated design doc
  • 3427db0 feat: implement flow-tension metric (keyless, 3-signal, 28 unit + 4 E2E tests)
  • 5799628 feat: implement stablecoin-power compute and E2E test
  • 1842d68 feat: add --top flag dispatch and StablecoinPower config section
  • 9dca757 feat: add DefiLlama client and wire stablecoins endpoint
  • 6b7cc17 define flow tension metric
  • 7abeeb7 Stablecoin power definition v1
  • 458968d stub stablecoin power doc
  • 95eb19e clear out docs interpretation vs classification
  • 60a772a leading zero format fix
  • acad41d Detail level filtering implemented:
  • 3d67689 Post-mortem fixes: float formatting, version flag, Binance guard Description: Fix issues identified in post-mortem for liquidity-pulse:
  • 1994511 lp-7: Add E2E test for liquidity-pulse CLI Fix infrastructure gap: buildMetricRunE now fetches endpoint data via api.Fetcher before calling Compute(). Previously passed nil. Add liquidity_pulse_e2e_test.go with 5 tests: - TestLiquidityPulseCommand: validates full CLI flow - TestLiquidityPulseAlias: tests lp alias - TestLiquidityPulseOutputJSON: tests --output json - TestLiquidityPulseDetailExtended/Full: validates meta present
  • 12ef3df format fixes? elts see
  • f177d18 Add new task
  • fe575bd Fix format error
  • 7e6ad86 lp-6: Assemble MetricResult with data and conditional meta MetricResult correctly assembled with Data and Meta fields. Detail-level filtering handled at output layer, not in Compute().
  • 4d7c78a lp-5: Wire DetectStatus to set MetricResult.Status Compute() now uses metrics.DetectStatus() for status: - confidenceToFloat(): high=0.9, medium=0.6, low=0.3 - thinData: market
  • e8ca180 lp-4: Add Binance BTC volume cross-source validation Added cross-source validation against Binance US BTC spot volume: - Meta struct: primary_source, validator_source, discrepancy_detected, discrepancy_note, confidence - Compares Binance volume vs CoinGecko volume - Confidence levels: >20% = low, >10% = medium, else high
  • 6228c92 lp-3: Parse CoinGecko response, compute ratio and classify Compute() parses CoinGecko /global endpoint, computes volume/mcap ratio. Classification thresholds: high >= 0.15
  • 9a423b5 lp-2: Declare both primary and validator endpoints in Def() Updated Def() in internal/metrics/liquiditypulse/v1/provider.go: - Primary endpoint: api.CoinGeckoGlobalMarket - Validator endpoint: api.BinanceSpotCVD_BTC_1h
  • f6fdf11 lp-1: Define Data and Classification types for liquidity-pulse Added types to internal/metrics/liquiditypulse/v1/provider.go: - Classification constants: ClassificationHigh, ClassificationNormal, ClassificationLow - Classification struct with Label and Description JSON fields - Data struct with VolumeToMcapRatio, VolumeUSD, MarketCapUSD, Classification, Summary
  • bf4347f Add tasks for implementing liquidity-pulse
  • 3b6695d docs: fix metric schema inconsistencies; clarify Classification convention
  • a516438 Some updates to design decisions
  • 55da656 recommit from yesterday
  • f92e123 add a metrics doc template
  • fca2d3d Run formatter
  • 174a3ca fix: update compute wiring claim in Design-Decisions.md root.go uses generic dispatcher (buildMetricRunE) iterating BestProviders(). This IS compute wiring - updated doc to reflect reality.
  • 47ae67b Use my name for project path
  • 2424e93 Delete stale PRE-MORTEM.md (wrong code references)
  • 84c5599 fix: enforce mandatory Version field, remove redundant Namespace - envelope.go: remove omitempty from Version - Remove Namespace from MetricResult (Redundant — always cryptospect) - Update list-metrics to include Version - Update tests to match new schema - Design-Decisions.md: document removal
  • 65c60ae fix: remove docs/llm/ references from CLAUDE.md and Design-Decisions.md Directory was empty (only .gitkeep). LLM docs redundant — docs/metrics/ serves same purpose.
  • 37d9499 fix: resolve 13 golangci-lint errors breaking CI; fix make fmt target
  • 6c13fe2 Fix misaligned inline comment breaking CI
  • 45f360e Get scaffolding ready for metrics
  • f450000 implement stubs for metrics
  • 93cac5e Update plan
  • c69c4cf Fix another Ci err
  • ae555d5 Merge remote-tracking branch 'origin/main'
  • c9085f8 SKill swapping
  • f472723 fix: track cmd/cryptospect-cli source files; adjust .gitignore
  • 561efab ci: add build step before lint to fix typecheck; clarify unimplemented metrics; create docs dirs
  • dc7a526 ci: add go mod download step before lint; ignore temp cache dirs
  • f90a7b8 fix: add missing cobra import to main.go (typecheck error)
  • cfa5fe9 remove: tracked Go module cache files; update .gitignore
  • f386778 fix: CI fmt check excludes cache dirs, enables Node.js 24, fixes formatting
  • dcb86ee fix: pre-mortem hardening — stale memory, cache close guard, registry constants
  • d360c9c fix: address code review suggestions — dead code removal and test coverage
  • b8b40b2 sync docs to v1 implementation
  • b509a7c feat: implement CLI command infrastructure (root, cache‑clear, list‑metrics) - Add root.go with Cobra root command, viper config binding, and flag parsing - Add cache.go with cache clear subcommand using config cache directory - Add list.go with list‑metrics subcommand outputting metric registry - Update main.go with version variable for ldflags - Fix go.mod to make cobra a direct dependency and resolve vendoring - Update Makefile with GOMODCACHE workaround for root‑owned module cache - Correct project documentation (CLAUDE.md, Design‑Decisions.md) to reflect actual state Permission situation note: The Go module cache (/home/afshin/go/pkg/mod/) is owned by root, causing go build to fail with “permission denied”. The workaround (GOMODCACHE=/tmp/go‑mod‑cache) is now baked into the Makefile. The binary builds and CLI commands (list‑metrics, cache clear) function correctly.
  • 43be064 fix: resolve all golangci-lint errors (71 issues) - CI passes with zero warnings
  • 20725e0 feat: complete CLI command infrastructure with viper config and cache-clear - Add viper config integration with CLI flag precedence (CLI → env → config file) - Implement cache-clear subcommand using config cache directory - Write command-level integration tests (_e2e_test.go) - All tests pass with make test, make lint, make build
  • a5d9c0b 🔴 Endpoint parameterization – distinct constants for breadth/momentum, Binance CVD with explicit parameters 🟢 Go 1.25 caching patterns – sharded maps (16 shards) + unique.Handle zero‑allocation keying Changes: - Endpoint constants: Split into and ; renamed → with explicit symbol/interval/limit. - Registry mapping: Updated source mapping for , , , to use new endpoint keys. - Sharded maps: Replaced single with 16 shards, each with its own mutex and . uses FNV‑1a hash. - Zero‑allocation keying: Added global to canonicalize endpoint strings to ; memory‑cache lookups compare pointer‑sized integers. - Concurrency test: Added () with ; verifies parallelism (elapsed ≤ ). - Documentation: Updated , , and with completion status. - Backward compatibility: All existing tests pass with ; public API unchanged.
  • 3fdc3f3 🔴 Blockers Fixed 1. Cache file permissions (internal/cache/cache.go:99) – 0644 → 0600 (owner‑only) 2. Context propagation (internal/httpclient/client.go) – http.NewRequest → http.NewRequestWithContext 3. Race condition (internal/api/fetcher.go) – Coarse‑grained locking eliminates duplicate API calls 🟡 Suggestions Addressed - TTL validation – Added bounds: negative→default 300, zero→60, >86400→cap at 1 day (internal/api/fetcher.go:190‑198) - Unused variable – Named suffix in endpoint parsing (internal/api/fetcher.go:158) - Random seeding – rand.Seed(time.Now().UnixNano()) added for jitter (internal/httpclient/client.go) - Permission check – Group permissions now enforced (&0077 vs &0177) (internal/config/config.go:69‑71)
  • d728d13 Solidify plan
  • f41b7cf scaffold: add .gitignore and missing internal directories - Add .gitignore with standard Go exclusions (bin/, dist/, coverage, logs, cache) - Create internal/output/, internal/config/, internal/cache/, internal/httpclient/ per Step 12 build order in Design‑Decisions.md - Each directory includes testdata/.gitkeep placeholder for future fixtures Why: Prepares the project for implementation of the core packages (output envelope, config, cache, HTTP client) as defined in the build‑order plan. Ensures build artifacts and local cache are excluded from version control.
  • cc40514 docs: readme and design decisions ref
  • 39dc67b ci: github actions workflow, goreleaser config, main stub
  • bf69606 ci: github actions workflow, goreleaser config
  • 5a452bb scaffold: testdata directories for API fixtures
  • f036740 deps: add cobra and viper
  • 43be004 Fix claude file spelling
  • 560a36f scaffold: lint config, makefile, agent discovery docs
  • f888fd4 init: go mod + go version pin
  • bd861e1 first commit