# Test Applications On The Edge (TAOTE)

**URL:** <https://es.discourse.group/t/test-applications-on-the-edge-taote/2663>\
**Category:** Research\
**Created:** [November 5, 2026, 11:09am UTC](https://es.discourse.group/t/test-applications-on-the-edge-taote/2663 "2026-11-05T11:09:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bacloud22](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/bacloud22/32/1410_2.png) [@bacloud22](https://es.discourse.group/u/bacloud22)\
**Post date:** [November 5, 2026, 11:09am UTC](https://es.discourse.group/t/test-applications-on-the-edge-taote/2663/1 "2026-11-05T11:09:11Z")

</div>

Hi,

I was not on any meds when I thought of this. So an idea is an idea, but you could say It's a bad one. without further ado, here is my baby library: [GitHub - bacloud22/TAOTE · GitHub](https://github.com/bacloud22/TAOTE)

A nice demo here: [https://hail-tango-zxn3c.ship.place/](https://hail-tango-zxn3c.ship.place/)  
Kindly.

---

<div class="post-metadata">

**Author:** ![David263](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/david263/32/2687_2.png) [@David263](https://es.discourse.group/u/David263)\
**Post date:** [November 8, 2026, 9:01pm UTC](https://es.discourse.group/t/test-applications-on-the-edge-taote/2663/2 "2026-11-08T21:01:30Z")

</div>

These mechanisms look quite useful to me, but you could make it easier for reviewers if you posted here a brief summary of what this library does.

---

<div class="post-metadata">

**Author:** ![bacloud22](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/bacloud22/32/1410_2.png) [@bacloud22](https://es.discourse.group/u/bacloud22)\
**Post date:** [November 9, 2026, 12:38pm UTC](https://es.discourse.group/t/test-applications-on-the-edge-taote/2663/3 "2026-11-09T12:38:01Z")

</div>

Thank you for your response David,

It tries to simulate streams in a **Linear Time Logic (LTL)** fashion (but not only, that was my inspiration), pushing a developer to think in such powerful pattern, I thought we can reason about many things this way for instance:

**keep** _logging_ when event is of type "warn", **until** event is of type "error" then _alert_

This is an expression of logic over time, known as the " **UNTIL**" operand in **LTL**.

It also tries to simulate the **closed world assumption** lets think of another context, we reason generally about finite data / events; but what about probabilistic / infinite data. If we are testing where a stream always returns even numbers, in a **real world / computer** the app could crash for any reason, would we say true of false if a stream returns 1000 even numbers then the app crashes; In this example I suggest (under the **closed world assumption** )

`every([0, 2, 4, 6, 8, 10, ┴], (e) => (e % 2 != 0)) // true`

Otherwise, I thought the README was sufficient, but yes I agree so that was the context.

---

<div class="post-metadata">

**Author:** ![bacloud22](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/bacloud22/32/1410_2.png) [@bacloud22](https://es.discourse.group/u/bacloud22)\
**Post date:** [November 11, 2026, 7:13am UTC](https://es.discourse.group/t/test-applications-on-the-edge-taote/2663/4 "2026-11-11T07:13:50Z")

</div>

I made a mistake in my example for the UNTIL operation. It resolves to a boolean and not an action. (developer could add an action, but the definition of UNTIL returns a boolean).

We can say, a developer testing if the following behavior of the app holds:

We normally receive daily `.csv` files, but from the moment the external API gives us the new `.xsls` format, we must no longer recieve the old `.csv`

`File_received_is_csv UNTIL File_received_is_xsls`
