{"action":"created","issue":{"url":"https://api.github.com/repos/rbrush/clara-rules/issues/228","repository_url":"https://api.github.com/repos/rbrush/clara-rules","labels_url":"https://api.github.com/repos/rbrush/clara-rules/issues/228/labels{/name}","comments_url":"https://api.github.com/repos/rbrush/clara-rules/issues/228/comments","events_url":"https://api.github.com/repos/rbrush/clara-rules/issues/228/events","html_url":"https://github.com/rbrush/clara-rules/pull/228","id":182877401,"number":228,"title":"Sorted coll Fressian handler fixes","user":{"login":"mrrodriguez","id":3483575,"avatar_url":"https://avatars.githubusercontent.com/u/3483575?v=3","gravatar_id":"","url":"https://api.github.com/users/mrrodriguez","html_url":"https://github.com/mrrodriguez","followers_url":"https://api.github.com/users/mrrodriguez/followers","following_url":"https://api.github.com/users/mrrodriguez/following{/other_user}","gists_url":"https://api.github.com/users/mrrodriguez/gists{/gist_id}","starred_url":"https://api.github.com/users/mrrodriguez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrrodriguez/subscriptions","organizations_url":"https://api.github.com/users/mrrodriguez/orgs","repos_url":"https://api.github.com/users/mrrodriguez/repos","events_url":"https://api.github.com/users/mrrodriguez/events{/privacy}","received_events_url":"https://api.github.com/users/mrrodriguez/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-10-13T19:23:41Z","updated_at":"2016-10-17T02:31:10Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rbrush/clara-rules/pulls/228","html_url":"https://github.com/rbrush/clara-rules/pull/228","diff_url":"https://github.com/rbrush/clara-rules/pull/228.diff","patch_url":"https://github.com/rbrush/clara-rules/pull/228.patch"},"body":"The sorted collections Fressian SerDe handlers didn't preserve metadata upon deserialization.  This means a deserialized sorted collection could potentially fail if it were re-serialized again afterwards.  This only applies to sorted collections that have a custom sort comparator fn, which must have its name specified in the metadata under the key `:clara.rules.durability/comparator-name`.\r\n\r\nI added the start of some explicit testing of the behavior of the Fressian handlers in `clara.test-fressian` to try to be sure to catch more issues like this in the future.\r\n\r\nI also added a test in `clara.test-durability` demonstrating the use-case that triggered this issue from the Serialize+Deserialize+Re-serialize a rulebase perspective.\r\n\r\n`clara.rules.durability/assemble-restored-session` had a 2-arity added as well.  This is only used in tests here, but we have experienced places where it'd be helpful for our use-cases as well.  If you deserialize a rulebase and want a brand new working memory, rather than having an existing one, it is convenient to have this assembly function that behaves sort of like `clara.rules/mk-session`, but with a rulebase given as an argument - along with the same sort of options.\r\n"},"comment":{"url":"https://api.github.com/repos/rbrush/clara-rules/issues/comments/254098829","html_url":"https://github.com/rbrush/clara-rules/pull/228#issuecomment-254098829","issue_url":"https://api.github.com/repos/rbrush/clara-rules/issues/228","id":254098829,"user":{"login":"mrrodriguez","id":3483575,"avatar_url":"https://avatars.githubusercontent.com/u/3483575?v=3","gravatar_id":"","url":"https://api.github.com/users/mrrodriguez","html_url":"https://github.com/mrrodriguez","followers_url":"https://api.github.com/users/mrrodriguez/followers","following_url":"https://api.github.com/users/mrrodriguez/following{/other_user}","gists_url":"https://api.github.com/users/mrrodriguez/gists{/gist_id}","starred_url":"https://api.github.com/users/mrrodriguez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrrodriguez/subscriptions","organizations_url":"https://api.github.com/users/mrrodriguez/orgs","repos_url":"https://api.github.com/users/mrrodriguez/repos","events_url":"https://api.github.com/users/mrrodriguez/events{/privacy}","received_events_url":"https://api.github.com/users/mrrodriguez/received_events","type":"User","site_admin":false},"created_at":"2016-10-17T02:31:10Z","updated_at":"2016-10-17T02:31:10Z","body":"I pushed changes to this.  More testing was added and clean up of the support of the `mk-session` style options given to `clara.rules.durability/assemble-restored-session`.\r\n\r\nThis also should be addressing #230 which just came as a side-effect of fixing up this function in its various use-cases."}}
{"actor":{"display_login":"mrrodriguez"}}