Fork me on GitHub
#clara
<
2018-05-14
>
devn06:05:27

@wparker for large-ish rule sets, visualization is an extremely tricky problem in my experience

devn06:05:39

Once it gets past 25-30 fact types and 100+ rules it’s a mess

devn06:05:11

The graph I’ve produced, even with distinct edges is huge and mostly incomprehensible.

devn06:05:10

Imagine this scenario: you walk up to a system like this, and you know nothing about the “steps” that exist within the maze of fact types and rules that operate over them. Assume that 99% of rules produce a fact on the RHS.

devn06:05:56

What you want, is to try and tease out the clusters of logic.

devn06:05:58

There are so many variables that make this problem difficult to generalize.

devn06:05:00

For instance, whether people write fat or skinny rules, whether they have a few types with a lot of fields or a number of facts with variants, etc

devn23:05:15

@wparker to your point though about code organization. yeah, that's really important.

devn23:05:48

we have ~28 files containing rules

alex-dixon23:05:18

I’ve made some devtools for Precept. There could be some reuse for Clara if there’s interest

4
devn23:05:34

@alex-dixon interested in taking a look!

devn23:05:28

@alex-dixon where should i look for that code?

devn23:05:44

or is there a simple example around that i could use to see what's there?

alex-dixon23:05:34

The visual part is in a private repo I need to make public. The code that gets the data from the session is here https://github.com/CoNarrative/precept/pull/113

alex-dixon23:05:56

The basic approach is to attach a listener and put what it gives you onto a core async channel

devn23:05:20

sequential rule operation log, state history over time, etc. are all interesting to me

devn23:05:21

@alex-dixon this is exciting. thanks for your work.

alex-dixon23:05:02

Thanks 😊. That means a lot

devn23:05:50

@alex-dixon lazy clara user writes: please do this for clara too? 🙂

alex-dixon23:05:26

What would be helpful?

devn23:05:18

explanations and sequential rule operation log stick out

devn23:05:54

fact history, also

devn23:05:18

does that slider at the bottom let you time travel?

devn23:05:35

and scrub through firings?

devn23:05:42

that's slick!

alex-dixon23:05:07

There’s also fact tracking and rule tracking outside of that

alex-dixon23:05:54

History of a fact, history of a rule

devn23:05:15

super cool. gimme gimme gimme

alex-dixon23:05:50

Lol. Thanks. I’m curious about your use case. Not sure how to approach the same with Clara when sessions can be used a lot differently than with ui

devn23:05:14

@alex-dixon one obvious one would be for development/debugging. i want to scrub through what is matching and where.

devn23:05:47

it might also be helpful for finding any nasty cases where we walk down a big branch of logic only to undo all of it due to truth maintenance. perhaps we missed a constraint.

👍 4