<commit_before><commit_msg>Outline of "daisy" binary execution steps<commit_after># "Daisy" Binary:

The "daisy" binary will be invoked by a systemd unit to launch processes in the appropriate namespaces and with the appropriate filesystems.
It will be used both for launching "user" processes, but also to launch our task providers.

* open connection to coordinator
* open a response socket
* set no_new_privs flag
* ask coordinator what network namespace should I use?
* set the network namespace
* unshare UTS, IPC, delegation, mount, user, PID namespaces (ZFS provider won't unshare delegation)
* pivot_root to the new root filesystem (stay at / for taks providers)
* set selinux policy
* ask coordinator for a unique user namespace mapping for uid/gid ranges - some other process then does that to this process
* set up cgroups
* set seccomp policy
* close the socket descriptors (outbound to coordinator and inbound response sockeet)
* drop most capabilities
* "Set process uid/gid and any supplementary groups (actually mapped by user namespace)" (Could be non-root in the future).
* drop remaining capabilities that need dropping
* execve the intended process
{'fraction_non_alphanumeric': 0.05136986301369863, 'fraction_numerical': 0.0, 'mean_word_length': 5.088541666666667, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '317261', 'n_tokens_mistral': 307, 'n_tokens_neox': 284, 'n_words': 164}