Tags give the ability to mark specific points in history as being important
-
v0.6.8
2085d03f · ·v0.6.8 — CI only: pipeline split, Codeberg mirror, archiving, mirror issue pull-back
-
-
v0.6.6
d008e7ca · ·v0.6.6 — Claude Code + Codex plugin manifests, README agent integrations section
-
-
-
-
-
-
-
v0.5.2
b35a96b1 · ·v0.5.2 — republish v0.5.1 code No source change. v0.5.1 tag on remote points at an incomplete intermediate commit (638687a) that was missing the touch_events / touch_count smc work + tests; the complete code is at 53f1ecf on main but never got tagged because the second tag attempt aborted on "tag already exists". v0.5.2 tags main at the complete code so the CI-published Docker image matches the v0.5.1 changelog entry. Pin consumers to psyb0t/wickworks:v0.5.2.
-
v0.5.1
638687a0 · ·v0.5.1 — surface OB mitigation flags + per-OB touch_count Additive schema change to the order-block primitive: every OB now ships with three freshness signals so consumers can pick their criterion: - mitigated_wick : later bar's wick traversed the zone (lib loose) - mitigated_close: later bar's body broke past (lib strict) - touch_count : number of distinct touch events (trader-eye) The two lib flags fire only on INVALIDATING breaks (price went past the zone in the wrong direction). touch_count fires on ANY range intersection — captures "price visited this level" without requiring a full break. Cost: one extra smc.ob() call (mitigation_close) + a numpy edge-count per OB (touch_count). Sub-ms total. OB cap raised 20 -> 40 since we no longer pre-filter. Breaking for FE renderers that assumed every emitted OB was live. Quanthex consumer updated to gate on wick + use touch_count for graded weighting (0 fresh = full, 1 = half, 2+ = re-emit as S/R primitive). 323 unit tests pass.
-
v0.5.0
65b1c077 · ·v0.5.0 — surface OB mitigation flags Additive schema change to the order-block primitive: every OB now ships with mitigated_wick + mitigated_close booleans so consumers can pick their freshness criterion at draw time. wickworks no longer drops mitigated OBs server-side — the caller decides. - mitigated_wick : later bar's wick fully traversed the zone (loose, lib default; was the legacy server-side filter) - mitigated_close: later bar's close crossed into/through the zone (stricter; "looks mitigated by eye" criterion) Cost: one extra smc.ob() call per analysis to derive the close-criterion flags. OB cap raised 20 -> 40 to compensate for no longer filtering. Breaking for FE renderers that assumed every emitted OB was live. Quanthex scoring stays on the wick criterion (no score behavior change). 321 unit tests pass. -
v0.4.0
75d2a999 · ·v0.4.0 — human-readable metadata catalog + GET /metadata New feature, backwards compatible. Adds GET /metadata returning a static catalog of every indicator, signal, and level the compute endpoint emits, with human labels, descriptions, interpretation hints, units, and categories. Consumers fetch once on startup; cache invalidates on version bump. Includes lookup(path) helper with three-tier fallback (exact -> strip array indices -> bare leaf) so dynamic dot-paths like retracements[42].Direction or prevTimeframe.rsi still resolve. Covers all ~70 top-level registry indicators plus nested object fields for SMC events, retracements, sessions, and divergences. 321 unit tests passing (11 new metadata tests).
-
v0.3.3
353d4a0d · ·wickworks v0.3.3 — single source of truth for version Drops the hardcoded __version__ literal in src/wickworks/__init__.py in favour of importlib.metadata.version("wickworks"). pyproject.toml is now the only place a release number lives, so the /health endpoint can't drift from the tag again the way it did between v0.3.1 and v0.3.2. No runtime behavior change. -
v0.3.2
080bda83 · ·wickworks v0.3.2 — filter ±Inf/NaN from JSON; preserve crypto precision Hardens the JSON output path: indicator series and SMC events route through safe_float so ±Inf / NaN never reach FastAPI (previously crashed the response with HTTPException 500 on symbols whose internals divided by zero, e.g. neousd, flwusd). analyze() bails early on a degenerate last-bar close to avoid the downstream divide-by-price storm. safe_float gets a decimals=None opt-out so crypto prices below 1e-6 (SHIB / PEPE / micro-caps down to ~1e-15) are no longer silently floored to zero by the default 6-decimal round, which previously caused the `price > 0` guard to bail on perfectly valid symbols. Bug-fix only — no API shape change. 310 unit tests pass.
-
v0.3.1
ef2d4bc7 · ·wickworks v0.3.1 — Bar.ge=0 + doc surface trim - Bar.tickVolume / realVolume: Pydantic now enforces ge=0 to match the schema's `minimum: 0` (negatives previously slipped through to volume indicators). - schema.json + README scrubbed of alias-doc noise; only the canonical camelCase wire shape is documented. Runtime still accepts snake_case as an undocumented convenience. No API shape changes. Regression tests added.
-
v0.3.0
b4107c94 · ·wickworks v0.3.0 — primitives-only purification Breaking: removes divergences + divTrends outputs and the entire signals/ package. Wickworks now emits only raw indicators, SMC structural facts, and summaries. Derived signals (divergence, crossovers, golden/death crosses) are the consumer's job. Includes: - README rewritten with primitives-only contract - schema.json published as release artifact - registry trimmed, signals/ package deleted - tests adjusted for new shape
-
v0.2.0
7d8d9074 · ·wickworks v0.2.0 — per-indicator preflight + structured 400 Each requested indicator's min-bar requirement is now checked before any compute work runs. Under-fed requests are rejected with a 400 that lists every deficit at once — no silent all-null series, no whack-a-mole. Breaking: insufficient bars is now 400 (structured body) instead of 422 (plain string). 422 stays for Pydantic-level malformed payloads.
-
v0.1.0
e35b8e97 · ·wickworks v0.1.0 — initial release FastAPI OHLC primitives service. Single endpoint POST /analyze: send bars + indicator config, get back canonical indicator series, divergences, SMC structure, and a compact summary block. Highlights - ~55 indicators routed through one registry (pandas_ta + smartmoneyconcepts + numba-accelerated SMC fast path) - Closed-form math reference tests, determinism, append-only stability, warmup-region and indicator-isolation coverage (~280 tests) - Volume contract pinned: tickVolume is canonical; realVolume is accepted but silently ignored by the registry - Docker image: psyb0t/wickworks