diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e18ee07..37fcefa 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.0.0" + ".": "1.0.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..d16f4e0 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,90 @@ +# Changelog + +## 1.0.0 (2026-09-15) + + +### Features + +* **bench-probes:** the Phase 1 memory-path measurement harness ([3f6dbf2](https://github.com/ecoma-io/runtime-trail/commit/3f6dbf273873c4d43af704846a3edcdd6e1e9a59)) +* **bench:** register the Phase 1 memory-path cases ([0539949](https://github.com/ecoma-io/runtime-trail/commit/0539949b90e97ed70405f08a9f4fbf45130fbfab)) +* **correlation:** commit the three relation strategies ([7000c28](https://github.com/ecoma-io/runtime-trail/commit/7000c280218ceb3280bddc4b6b8f51e28580d7c9)) +* **correlation:** commit trace↔logs and trace→metric-window relations (issue [#28](https://github.com/ecoma-io/runtime-trail/issues/28)) ([081859a](https://github.com/ecoma-io/runtime-trail/commit/081859a65fab16a26e1064c37d4a8fe947c7c940)) +* **investigation:** behavioral tests for the trace investigation flow ([3a7fc71](https://github.com/ecoma-io/runtime-trail/commit/3a7fc7103cbd9c1f879492682729eebc2d23411d)) +* **investigation:** envelope types and mechanical invariant checks ([9f39f69](https://github.com/ecoma-io/runtime-trail/commit/9f39f69a48da97e1ed7c509330130ba7569e50b3)) +* **investigation:** M3 — the Investigation API (issue [#12](https://github.com/ecoma-io/runtime-trail/issues/12)) ([c4463bf](https://github.com/ecoma-io/runtime-trail/commit/c4463bf129a3ae355b8d4782a3d4e481728c07a3)) +* **investigation:** trace investigation flow composing the query engine ([eaaaec9](https://github.com/ecoma-io/runtime-trail/commit/eaaaec9a14f9c78a04eb1ffcb45a502203e94ca3)) +* **investigation:** wire the correlation engine into the trace flow ([d21635a](https://github.com/ecoma-io/runtime-trail/commit/d21635a7b25c86a21fab9fd2a035435b1b8cb977)) +* **query:** bound the walk against empty driver continuations ([8c7b1c5](https://github.com/ecoma-io/runtime-trail/commit/8c7b1c57c12d14d2d4035628a27329e3222d81d9)) +* **query:** budget admission and the spend ledger ([42563e2](https://github.com/ecoma-io/runtime-trail/commit/42563e29a7f3eb36379158d9632892440596f7d0)) +* **query:** content filters on the records flow ([66627f8](https://github.com/ecoma-io/runtime-trail/commit/66627f8adca389d43789c97a1dd8a1f36ecbc185)) +* **query:** deterministic ordering and fingerprint-bound cursors ([120ea07](https://github.com/ecoma-io/runtime-trail/commit/120ea072a473a204494229d268d686f8b5c892b3)) +* **query:** facade re-exports of the storage contract ([38ff9c2](https://github.com/ecoma-io/runtime-trail/commit/38ff9c20e125909154839ef1ad35ace05c15ba23)) +* **query:** M2 — the budgeted Query Engine over the resident telemetry ([ee17637](https://github.com/ecoma-io/runtime-trail/commit/ee17637ce97cff3ba7066c4ad3396098f01410a7)) +* **query:** the records engine - budgeted, deterministic, honest ([4971c44](https://github.com/ecoma-io/runtime-trail/commit/4971c449e4b5046ff6ed2971339cb418911b5b45)) +* **query:** the result vocabulary the engine's machinery is built from ([ca3895a](https://github.com/ecoma-io/runtime-trail/commit/ca3895a572dd7d39d3c9ea2ba18b339fb8b736db)) +* **server:** a refused keep ends ledger identity through the hook ([515faca](https://github.com/ecoma-io/runtime-trail/commit/515faca344091e7d9b94bc1b3ad1c07a79735949)) +* **server:** bound aggregate in-flight OTLP request bodies at the transport edge ([0a268ed](https://github.com/ecoma-io/runtime-trail/commit/0a268ed96edbfe23078cff83fbbe90a62488b1ff)) +* **server:** investigation trace endpoint over HTTP ([b43091d](https://github.com/ecoma-io/runtime-trail/commit/b43091d696e4d1cb54ef0abd90b798ba0172cc23)) +* **server:** the runtime graph, the OTLP surfaces and their drain ([616fb23](https://github.com/ecoma-io/runtime-trail/commit/616fb23553e48bd5d6975fe86bd7bb385f08d2d4)) +* **storage-memory:** the ceilings now count what residency pins ([1745d2f](https://github.com/ecoma-io/runtime-trail/commit/1745d2f09e7cc9a31e816abaa836474f14f5c252)) +* **storage-memory:** the in-memory bounded-retention driver ([b8962ce](https://github.com/ecoma-io/runtime-trail/commit/b8962ce427e88a473abbcb91653835524cc5b56b)) +* **storage:** an identity the byte ceiling cannot hold is refused, not evicted into ([884254d](https://github.com/ecoma-io/runtime-trail/commit/884254d875a8f5ac44aaf2b2ea02fba472d4c31a)) +* **storage:** contract the identity charge, series cap and hook split ([c2ca18a](https://github.com/ecoma-io/runtime-trail/commit/c2ca18a6bc0bd53516e8aac9012073db171b8a90)) +* **storage:** scans yield each record with its residency key ([f5f8d14](https://github.com/ecoma-io/runtime-trail/commit/f5f8d149a60083c65aabc0bdbb48c029edf9c549)) +* **storage:** the bounded ordered retention contract ([5fe9b31](https://github.com/ecoma-io/runtime-trail/commit/5fe9b3191883dbb732487fca2c4cedb0b160d293)) +* **telemetry-ingestion:** gate per-export record counts on spans and logs ([89ee8ee](https://github.com/ecoma-io/runtime-trail/commit/89ee8ee138256118b5674254ecd0e5c72c9c1267)) +* **telemetry-ingestion:** publish the wire surface and the semantic fixtures ([d987af4](https://github.com/ecoma-io/runtime-trail/commit/d987af4ea827aa569e1a2429a000b0d0fa3b891e)) +* **telemetry-ingestion:** the OTLP admission pipeline and bounded hand-off ([a806745](https://github.com/ecoma-io/runtime-trail/commit/a806745a2cdd9900c43c238374f0b7ea6c683462)) +* **telemetry-ingestion:** vendor the pinned OTLP wire types ([545d085](https://github.com/ecoma-io/runtime-trail/commit/545d0856fc57c686c4e06fc4909e66ea530a335c)) +* **telemetry-model:** gate numeric-vector lengths and per-export record counts ([7c19e7d](https://github.com/ecoma-io/runtime-trail/commit/7c19e7df278590963df5ff2590ddec1bddb3c748)) +* **telemetry-model:** identity accounted size and ledger stream release ([74ca6c7](https://github.com/ecoma-io/runtime-trail/commit/74ca6c727ed499dbd47964e96565e9ac39340181)) +* **telemetry-model:** model types for traces, logs and metrics ([a36552b](https://github.com/ecoma-io/runtime-trail/commit/a36552b043813032b934f4694e66a8b6f837e2be)) +* **telemetry-model:** provenance drift under a collapse is a recorded anomaly ([22a3f2d](https://github.com/ecoma-io/runtime-trail/commit/22a3f2d86db2f1e8b2b738e0ca0de57580be1515)) +* **telemetry-model:** stream identity carries description, unit and metadata ([6082cab](https://github.com/ecoma-io/runtime-trail/commit/6082cab4058f822cb2ff2ecada1878b674821b03)) +* **telemetry-model:** the ledger's maps order by identity content, never hash ([812fc9b](https://github.com/ecoma-io/runtime-trail/commit/812fc9b214035c253e080f751641cc100273b81f)) +* **web:** first investigation surfaces for one trace ([6cbe6d2](https://github.com/ecoma-io/runtime-trail/commit/6cbe6d2cd0ed41a067a3778dd5ef416a827dad00)) +* **web:** first Loom UI investigation surfaces for one trace ([c97799f](https://github.com/ecoma-io/runtime-trail/commit/c97799f41ce3e6af3d34d7a1ca593672dbe0e42e)) + + +### Bug Fixes + +* **arch:** drop stale duplicated layer-app header-comment row ([213b991](https://github.com/ecoma-io/runtime-trail/commit/213b9913ac49a587b0f6cd8bb53ef55b184db226)) +* **arch:** name layer-app's pump as the store's writer in the ingest rows ([c2f0ca1](https://github.com/ecoma-io/runtime-trail/commit/c2f0ca10594437669dc65a6f3c8ab154643a785a)) +* **bench:** link the probes crate as plain text ([0179c6e](https://github.com/ecoma-io/runtime-trail/commit/0179c6e85de17e83a6bb2d1be733679d2ef4299a)) +* **bench:** name the registered cases in the harness header ([0a32f39](https://github.com/ecoma-io/runtime-trail/commit/0a32f39e99ae654b5b26ef6336350ca123a2bb5e)) +* **ci:** correct workspace project count in gate comment ([5d545d2](https://github.com/ecoma-io/runtime-trail/commit/5d545d2607b6726cd2208fe3a74cd360d0dc82b1)) +* **docs:** docs/comments truthfulness sweep after Phase 1/2 landed + per-page budget contract wording ([04b4233](https://github.com/ecoma-io/runtime-trail/commit/04b4233ba3e05bc5fba4d2c6a049cbe2c71f3301)) +* **docs:** mark drain semantics implemented; name the pump as the store's writer ([ba09874](https://github.com/ecoma-io/runtime-trail/commit/ba098740a34f668cc777b3b3d509c5604bf4c74c)) +* **docs:** name the composition root's pump in the one-rule note ([c136096](https://github.com/ecoma-io/runtime-trail/commit/c136096cd10eae569a69ebdaa9f2a56da4bb32d3)) +* **docs:** name the driver-stall guard in the coverage vocabulary ([d6aa5ba](https://github.com/ecoma-io/runtime-trail/commit/d6aa5ba7beab07134cdaad9bfefa02b5f3621b33)) +* **docs:** state the per-page budget contract and the max_bytes first-page degrade ([c6e905f](https://github.com/ecoma-io/runtime-trail/commit/c6e905f4b461dee62ae0f8d7d4b1407c956a85c3)) +* **investigation:** require an explicit caller window for temporal co-activity ([1ba3f46](https://github.com/ecoma-io/runtime-trail/commit/1ba3f46d01ddd6e9a858979cf8ed61671c6c8ffe)) +* **query:** close the wave-1 review findings ([59aab72](https://github.com/ecoma-io/runtime-trail/commit/59aab7220c3e83c4791cf99b79d3188342e39179)) +* **query:** engine minors — evicted zero-results gap, honest refusal, preserved count ([20179c1](https://github.com/ecoma-io/runtime-trail/commit/20179c1707dc6b2fc0e3aeeba0c9db915974202e)) +* **query:** guard the walk against empty driver continuations ([af717c7](https://github.com/ecoma-io/runtime-trail/commit/af717c7e60f7b14153703067960c33caefe3d08d)) +* **query:** seal the budget-clone fork, align truncation and cross-docs ([e2688bd](https://github.com/ecoma-io/runtime-trail/commit/e2688bd6888cbb5b9e8272b2458215a83baefd6c)) +* **query:** settle the pulled-but-unexamined batch tail against max_scan ([2106dd5](https://github.com/ecoma-io/runtime-trail/commit/2106dd5bc073a2b5aa52921a0fa18e1ccaeb865f)) +* **server:** answer gRPC drain before the content-type gate ([747b022](https://github.com/ecoma-io/runtime-trail/commit/747b0222f5ca1ca8d6fcfb0efabb9611558591d8)) +* **server:** answer the HTTP protocol gates honestly ([bf803d0](https://github.com/ecoma-io/runtime-trail/commit/bf803d057a62b9f67d04ef471de40360b689f16f)) +* **server:** bound concurrent connections with a max_connections accept cap ([a940d35](https://github.com/ecoma-io/runtime-trail/commit/a940d35c7a34218ffb6f14b2d5297e81b5963f1e)) +* **server:** bound shutdown latency by the drain deadline ([b17cedf](https://github.com/ecoma-io/runtime-trail/commit/b17cedf54a2723dac544c558dd08c9b8be93f0c6)) +* **server:** derive the retention tick from the admission window ([3b4c6c4](https://github.com/ecoma-io/runtime-trail/commit/3b4c6c497c2c9817fe196c81e02e516e026a87e8)) +* **server:** gate the gRPC services on protocol, not just path ([1bea1b6](https://github.com/ecoma-io/runtime-trail/commit/1bea1b606c712699d7915c94acead2f53f81b79a)) +* **server:** refuse foreign gRPC dialects at the HTTP layer ([ab9c964](https://github.com/ecoma-io/runtime-trail/commit/ab9c964347c2daa2ef3a33ec9b0126e587c44a20)) +* **server:** restore content-type 415 precedence in the transport-edge middleware ([8104ccc](https://github.com/ecoma-io/runtime-trail/commit/8104ccc729221d1ccde98c3d6b9f2ee21f1c5308)) +* **server:** the gRPC content-type gate accepts legal media-type spellings ([b5c92b9](https://github.com/ecoma-io/runtime-trail/commit/b5c92b9c037d0548e00be416cfa3fc17558930d3)) +* **server:** transport hardening — connection cap, drain-bounded shutdown, gRPC gate order, window-derived retention tick ([0e6fb31](https://github.com/ecoma-io/runtime-trail/commit/0e6fb3174c2519a64780d40d00457c9e2a86b1c8)) +* **storage-memory:** refuse duplicates before oversized + budget boundary tests ([44d4fb5](https://github.com/ecoma-io/runtime-trail/commit/44d4fb5d0bab4274aa1c837a0a2ca335bab29b25)) +* **storage-memory:** refuse duplicates before oversized in refuse_early ([d8f7368](https://github.com/ecoma-io/runtime-trail/commit/d8f73687aab09fecb73731b681a513ea3bdfac9e)) +* **storage:** refused keeps end ledger identity through the hook ([3d35b52](https://github.com/ecoma-io/runtime-trail/commit/3d35b522560510298b95e55aa43e25d5cc00e598)) +* **telemetry-ingestion:** a queue refusal ends the identity it just created ([af32fdb](https://github.com/ecoma-io/runtime-trail/commit/af32fdb6ae1ef000fefeeb410c1d48781738f334)) +* **telemetry-ingestion:** admit budget and trace_state caps at the decode boundary ([5d3207a](https://github.com/ecoma-io/runtime-trail/commit/5d3207a4ff39292d8fc79f9eb9fe79735d5045f0)) +* **telemetry-ingestion:** harden admission against review-proved defects ([a263429](https://github.com/ecoma-io/runtime-trail/commit/a263429bca81c98ab509669439d5cc1fcfeb3f7c)) +* **telemetry-ingestion:** narrow the ledger escape hatch to a releaser handle ([afba619](https://github.com/ecoma-io/runtime-trail/commit/afba619312e3dad60de96c6ec6e6ef9bd31c2c84)) +* **telemetry-ingestion:** regenerate the committed src/otlp layout, not src/gen ([ebf48c0](https://github.com/ecoma-io/runtime-trail/commit/ebf48c065f5d6957239622edccb39bffd8a8c5c3)) +* **telemetry-model:** hardening pass closes wave-1 review blockers and majors ([31e2f08](https://github.com/ecoma-io/runtime-trail/commit/31e2f08195c1a42cc81c0d909461e4562b770655)) +* **web:** keep the bootstrap-status test honest after the copy fix ([9ce2c2d](https://github.com/ecoma-io/runtime-trail/commit/9ce2c2d8df788c44cc4102a4072d3b0e8fae022d)) +* **web:** name landed telemetry ingestion in bootstrap copy ([292086d](https://github.com/ecoma-io/runtime-trail/commit/292086dd7553245daab13cb9edbdd57662df8f27)) +* **web:** render unfinished spans with null end time ([9f4746a](https://github.com/ecoma-io/runtime-trail/commit/9f4746ac17e7b1dc5eb3fab26b2c06791658a3de)) +* **web:** render unfinished spans with null end time ([a6b73a9](https://github.com/ecoma-io/runtime-trail/commit/a6b73a90871bfe071d45de4a6cd424132d19d4ce)) +* **web:** widen hex inputs and scroll correlated relations table ([5065e7d](https://github.com/ecoma-io/runtime-trail/commit/5065e7d2650ebd9ed55b35f4c5049ef09810cb51))