Comments (3)
Great work here! I kind of think that environment-insensitive hashing should be the new default. Combined with version info in the hash (great idea by the way), I donβt think users would run into too many problems with these changes.
We should also talk about the next release!
from pointblank.
I had a chance to dig into this a bit more, and I realize that there might also be a bug in test-get_multiagent_report.R
. On main, the multiagent with 1st and 3rd agent returns:
create_multiagent(agent_1, agent_3) %>%
get_multiagent_report(display_mode = "wide")
With environment-insensitive hashing, we get 2 additional steps aligned:
As I suspected, the newly aligned steps are those involving vars()
in values
/left
/right
:
# Steps 5 and 6 of agent 1
col_vals_equal(vars(d), vars(d), na_pass = TRUE)
col_vals_between(vars(c), left = vars(a), right = vars(d), na_pass = TRUE)
# Steps 4 and 6 of agent 3
col_vals_equal(
vars(d), vars(d),
na_pass = TRUE
)
col_vals_between(
vars(c),
left = vars(a), right = vars(d),
na_pass = TRUE
)
I think this is a bug but just wanted to get a second pair of eyes to confirm this.
Relatedly: should we introduce environment-insensitive hashing as an opt-in alternative hashing method, or should that become the new default for future agents?
Regardless of what we decide on above, it should be trivial to re-hash pre-existing agents for correct alignment since x_write_disk()
saves out the entire $validation_set
. On this note, I think it'd also be nice if we could append the current pkg version to the hash every time we make changes to the hashing implementations. So every hash created with this new env-insensitive hashing can end with _v0.12
(or whatever the next pointblank release would be), and we can use that to automatically trigger re-hashing of steps across agents if they span across different hashing implementations.
from pointblank.
Thanks! Will go ahead with that in the linked PR. And, yes - let me know what we'd need for the release.
from pointblank.
Related Issues (20)
- For steps applied several times, personalized brief is only accessible for the first column HOT 2
- Add helper `from_package` to load package datasets HOT 1
- scan_data fails with spark table HOT 1
- pointblank site down? HOT 3
- Integrate with pins for writing agents, informants HOT 1
- Using for loop HOT 1
- Regex for Microsoft SQL Server HOT 1
- Integrate `scan_data()` elements into validation reports
- A possible switch to tidyeval for `values` and `left`/`right` arguments HOT 1
- Better handling for bad column selections HOT 3
- Support `where()` predicates for tidyselect in `info_columns()` HOT 2
- Cryptic performance bug with hashing HOT 2
- Show labels in console output when using `interrogate()`
- col_exists shows no fail when column missing HOT 1
- `col_vals_equal()` doesn't match two `NA` values HOT 3
- `ggplot2::ggsave()` error with `pointblank::scan_data()` HOT 5
- Arithmetic overflow error converting expression to data type int.
- `quarto render --to html` makes some html tags visible in the validation report HOT 3
- Release pointblank 0.12.0 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pointblank.