# Changelog of OTTL Transformation Generator & Simulator (`michiganpublictech/ottl-studio`) Actor

- **URL**: https://apify.com/michiganpublictech/ottl-studio/changelog.md
- **Full Actor documentation**: https://apify.com/michiganpublictech/ottl-studio.md

## Changelog — OTTL Transformation Generator & Simulator

### 0.1.0 — unreleased

- Initial version. Deterministic (no LLM) and offline (no network access at runtime).
- **Generate:** 61 plain-English intents (redaction, attribute management, size limits, normalisation, log
  parsing, span/log/metric filtering, span status, metric conversions) with clause splitting, entity extraction
  (quoted/dotted attribute names, aliases, signals, routes, numbers, regexes) and explicit "unrecognised / missing
  detail" feedback listing the closest intents. Output: Collector YAML for `transform/<name>` and `filter/<name>`
  (with `$$` escaping), a pipeline snippet and a filter/transform ordering recommendation.
- **Syntax by Collector version:** grouped `context:` statements below 0.120, flat context-prefixed statements from
  0.120 (`syntaxStyle` override). Generated output for every intent example was checked with
  `otelcol-contrib validate` on 0.115, 0.148 and 0.150.1 (grouped) and 0.148 / 0.150.1 (flat).
- **Validate:** OTTL lexer and parser with positions, catalog of 89 OTTL functions and 7 contexts, RE2
  compatibility checks, Collector config extraction (transform grouped + flat, filter OTTL blocks, routing
  connector tables, pipelines). 56 lint rules (`OTTL-SYN/FN/PATH/RE/SEM/CFG`) — see [RULES.md](RULES.md).
- **Simulate:** executes 48 functions on sample telemetry (OTLP/JSON or a simplified shape; bundled realistic
  samples by default) in pipeline order with Collector `error_mode` and filter semantics; per-item diffs,
  per-statement stats, estimated byte reduction and 10 simulation rules (`OTTL-SIM-*`). Functions outside the
  simulated subset are reported as not simulated.
- Batch `requests`, `failOnSeverity` CI gate, SARIF / Markdown reports.
- Actor Standby: `GET /`, `/intents`, `/functions`, `/rules` (free) and `POST /generate`, `/validate`,
  `/simulate`, `/run`, same billing as batch runs.
- Pay-per-event: `transform-generated` ($0.10 per successful request), `simulation-run` ($0.05, only when a
  simulation ran). Failed requests are free.
