{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=rajkaria/bus-factor@0.1.0","method":"GET","rel":"https://rote.dev/rels/bootstrap-and-run","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"inspect":{"command":"rote play inspect https://play.modiqo.ai/rajkaria/bus-factor@0.1.0","effect":"read-only"},"installCliOnly":{"effect":"installs the rote CLI, nothing else","href":"https://play.modiqo.ai/install","method":"GET","rel":"https://rote.dev/rels/install-cli","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"run":{"command":"rote play run https://play.modiqo.ai/rajkaria/bus-factor@0.1.0","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/rajkaria/bus-factor@0.1.0 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Every team knows some of its code has exactly one author left and nobody knows which files those are. The facts that settle it are already in the repository — who wrote which line, when they last committed anything, and whether a second person has ever been in the file — so this reads them and does the arithmetic nobody does by hand. Every git repository under a root you choose, read through one fixed, read-only \u0060git\u0060 command line. A file's authors come from its whole history rather than from blame on the current text, because a person who wrote a file and was then edited over still knows it and blame has already forgotten them. Ownership is measured in lines written, which is the only size git gives without opening a working-tree file, so every count on the card says \"lines written\" and never \"lines\". Bots, vendored trees, generated code and lock files are excluded by name, and both the count kept and the count excluded are printed, because an exclusion you cannot see is an exclusion you cannot check. You ge","distribution":{"digest":"sha256:001064c200e10d30d88a67ae6322aaa907677320b89382b658c3ce6b347b5d3d","mediaType":"application/vnd.modiqo.rote-flow","size":1022960,"verifiedBy":"rote verifies the downloaded archive against this digest before it runs"},"effects":{"credentialsProvidedBy":"runner","credentialsRemainLocal":true,"declaredWrites":[],"publisherReceivesCredentials":false},"id":"https://play.modiqo.ai/rajkaria/bus-factor@0.1.0","inputPolicy":{"omittedValues":"inspect_full_parameters_before_collecting_values_or_consent","optionalWithDefault":"show_default_and_accept_override","optionalWithoutDefault":"omit_unless_supplied","required":"ask","secrets":"collect_locally_outside_conversation"},"links":{"docs":"https://rote.dev","page":"https://play.modiqo.ai/rajkaria/bus-factor@0.1.0","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/rajkaria/bus-factor@0.1.0.json"},"name":"bus-factor","owner":{"kind":"user","slug":"rajkaria"},"parameters":[{"default":"~/daily","description":"Created if missing. Everything this Play writes goes here and nowhere else.","example":"~/daily","input":{"allowCustom":true,"choices":[],"label":"Out dir"},"name":"out_dir","required":false,"type":"string"},{"default":"false","description":"true runs the whole Play against three bundled synthetic repositories, so a first run needs nothing installed and no account.","example":"false","input":{"allowCustom":true,"choices":[],"label":"Demo"},"name":"demo","required":false,"type":"string"},{"default":"~","description":"Every git repository under this folder is read, up to max_repos. Nothing outside it is opened.","example":"~/Projects","input":{"allowCustom":true,"choices":[],"label":"Root"},"name":"root","required":false,"type":"string"},{"default":40,"description":"Stop after this many repositories. The card says when the bound was reached, so a partial answer never reads like a complete one.","example":40,"input":{"allowCustom":true,"choices":[],"label":"Max repos"},"name":"max_repos","required":false,"type":"integer"},{"default":365,"description":"An author with no commit anywhere in this many days is treated as gone, which is what turns a sole-authored file into an orphaned one.","example":365,"input":{"allowCustom":true,"choices":[],"label":"Departed days"},"name":"departed_days","required":false,"type":"integer"},{"default":365,"description":"A sole-authored file untouched for this long is counted as stale: nobody has looked at it recently either.","example":365,"input":{"allowCustom":true,"choices":[],"label":"Stale days"},"name":"stale_days","required":false,"type":"integer"},{"default":"0.5","description":"The share of a file's surviving lines one author must hold before the file is called theirs. 0.5 means a simple majority.","example":"0.5","input":{"allowCustom":true,"choices":[],"label":"Threshold"},"name":"threshold","required":false,"type":"string"}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/rajkaria/bus-factor@0.1.0 --json","effect":"read-only"},"step":1,"type":"inspect_local_readiness"},{"references":["/parameters"],"step":2,"type":"collect_parameters","whenValuesOmitted":"Run step 1 before collecting inputs or showing defaults; omittedFields are unknown values, not absent defaults or exhaustive choices."},{"references":["/parameters","/requirements","/effects"],"step":3,"type":"review"},{"consentBoundary":"the user approves the exact play and parameter values","references":["/parameters","/requirements","/effects"],"step":4,"type":"obtain_run_consent"},{"action":{"command":"rote play run https://play.modiqo.ai/rajkaria/bus-factor@0.1.0","headlessCommandTemplate":"rote play run https://play.modiqo.ai/rajkaria/bus-factor@0.1.0 <name=value...> --yes"},"preservesAcquisitionBoundaries":["adapter_selection","oauth_dcr","google_discovery","static_token_setup","runtime_security_checks"],"requiresConsent":true,"step":5,"type":"run"}],"producedBy":{"roteVersion":"0.79.0"},"publishedAt":"2026-09-05T20:40:15.590724+00:00","reference":"rajkaria/bus-factor@0.1.0","requested":"rajkaria/bus-factor","requirements":{"adapters":[],"browser":{"dependencies":[],"runtime":false,"signIn":false},"hostToolRequirements":[{"command":"python3","required":true,"versionRequirement":null}],"localTools":["python3"],"roteCli":{"minimumVersion":"0.91.0"},"sessions":false},"resolution":"latest","schema":"rote.play.v1","stats":{"downloads":2,"installs":0},"steps":{"count":2,"names":["read_git","report"]},"title":"bus-factor","type":"play","version":"0.1.0","visibility":"public"}