{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=paveenkumar-dev/mac-audit@1.1.25","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/paveenkumar-dev/mac-audit@1.1.25","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/paveenkumar-dev/mac-audit@1.1.25","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/paveenkumar-dev/mac-audit@1.1.25 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Reviews your Mac's storage and installed packages in one pass, then saves a report you can act on. It writes timestamped HTML, text and JSON files into ~/Documents/storage-audits by default - the only thing it changes on your machine - and preserves existing ones. Nothing it audits is ever deleted, moved, installed, upgraded or uploaded, and sudo is never used. Only python3 is required; the other tools listed are optional and already ship with macOS. Scans your full data volume by default, or just your home folder and Applications, grouping every candidate into low, medium, unknown and high risk tiers with its size, idle age and a suggested next command that it prints but never runs. Also reports volume capacity, app usage recency, Spotlight health and APFS local snapshots no folder scan reveals. Inventories packages across 17 managers, flagging outdated versions via each manager's own read-only check; set check_latest_versions=false to stay offline.","distribution":{"digest":"sha256:474dac0e5a886cc885ac5032a84865086469166d80fae977dfd5020565afc42d","mediaType":"application/vnd.modiqo.rote-flow","size":181461,"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/paveenkumar-dev/mac-audit@1.1.25","inputPolicy":{"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/paveenkumar-dev/mac-audit@1.1.25","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/paveenkumar-dev/mac-audit@1.1.25.json"},"name":"mac-audit","owner":{"kind":"user","slug":"paveenkumar-dev"},"parameters":[{"default":"~/Documents/storage-audits","description":"Choose an absolute folder path or a path starting with ~/. A timestamped subfolder is created for each audit and existing reports are preserved.","input":{"allowCustom":true,"choices":[],"label":"Save reports in"},"name":"output_dir","required":false,"type":"string"},{"default":50,"description":"Include files and folders using at least this many MB on disk. Enter 0 or a larger whole number.","input":{"allowCustom":true,"choices":[{"label":"50 MB","value":50},{"label":"100 MB","value":100},{"label":"500 MB","value":500}],"label":"Minimum item size (MB)"},"name":"minimum_size_mb","required":false,"type":"integer"},{"default":30,"description":"Include file candidates last modified at least this many days ago. Applications use their available usage signals. Enter 0 or a larger whole number.","input":{"allowCustom":true,"choices":[{"label":"30 days","value":30},{"label":"90 days","value":90},{"label":"180 days","value":180}],"label":"Minimum age (days)"},"name":"inactivity_days","required":false,"type":"integer"},{"default":100,"description":"Maximum candidates in the audit. Enter a whole number of at least 1. The report has a separate rows-per-section limit.","input":{"allowCustom":true,"choices":[{"label":"25 candidates","value":25},{"label":"100 candidates","value":100},{"label":"250 candidates","value":250}],"label":"Maximum review candidates"},"name":"maximum_results","required":false,"type":"integer"},{"default":"full","description":"Choose the full data volume (default) or just your home folder and Applications. Privacy exclusions remain in effect at both scopes.","input":{"allowCustom":false,"choices":[{"label":"Home folder and Applications","value":"home"},{"label":"Full data volume","value":"full"}],"label":"Where to scan"},"name":"scan_scope","required":false,"type":"string","validValues":["home","full"]},{"default":"true","description":"Group applications by usage recency. Accepts true or false.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Review applications"},"name":"include_applications","required":false,"type":"string","validValues":["true","false"]},{"default":"true","description":"Include cache directories. Accepts true or false.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Review caches"},"name":"include_caches","required":false,"type":"string","validValues":["true","false"]},{"default":"true","description":"Include developer caches and generated data. Accepts true or false.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Review developer data"},"name":"include_developer_data","required":false,"type":"string","validValues":["true","false"]},{"default":"false","description":"Cross filesystem boundaries onto other volumes. Accepts true or false.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Include external volumes"},"name":"include_external_volumes","required":false,"type":"string","validValues":["true","false"]},{"default":"false","description":"Traverse otherwise protected system locations where supported. Privacy exclusions remain excluded. Accepts true or false.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Include protected locations"},"name":"include_protected_locations","required":false,"type":"string","validValues":["true","false"]},{"default":900,"description":"Soft scan deadline; the audit reports partial results when exceeded. The default suits a full-volume scan; lower it for a quick home-only pass.","input":{"allowCustom":true,"choices":[],"label":"Scan time budget (seconds)"},"name":"time_budget_seconds","required":false,"type":"integer"},{"default":12,"description":"Maximum directory depth below each scan root.","input":{"allowCustom":true,"choices":[],"label":"Maximum folder depth"},"name":"max_depth","required":false,"type":"integer"},{"default":10,"description":"Maximum rows displayed in each risk or application section. Enter a whole number of at least 1.","input":{"allowCustom":true,"choices":[{"label":"10 rows","value":10},{"label":"25 rows","value":25},{"label":"100 rows","value":100}],"label":"Rows shown per report section"},"name":"max_rows_per_section","required":false,"type":"integer"},{"description":"Optional previous audit content hash used to label an unchanged report.","input":{"allowCustom":true,"choices":[],"label":"Previous audit hash (optional)"},"name":"previous_content_hash","required":false,"type":"string"},{"default":"false","description":"Mask the account name throughout report bodies. Accepts true or false and fails closed on invalid values.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Hide account name in reports"},"name":"redact_username","required":false,"type":"string","validValues":["true","false"]},{"default":"storage-report","description":"Plain filename stem. The current date and extension are appended.","input":{"allowCustom":true,"choices":[],"label":"Report filename"},"name":"basename","required":false,"type":"string"},{"default":"txt,html,json","description":"Comma-separated subset of txt, html, and json.","input":{"allowCustom":true,"choices":[{"label":"HTML, text, and JSON","value":"txt,html,json"},{"label":"HTML only","value":"html"},{"label":"Text only","value":"txt"},{"label":"JSON only","value":"json"}],"label":"Report formats"},"name":"formats","required":false,"type":"string"},{"default":"true","description":"Inventory installed packages alongside the storage audit. Accepts true or false.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Review installed packages"},"name":"include_packages","required":false,"type":"string","validValues":["true","false"]},{"default":"auto","description":"Comma-separated manager allowlist, or auto for every supported manager.","input":{"allowCustom":true,"choices":[{"label":"Every supported manager","value":"auto"},{"label":"Homebrew only","value":"homebrew"},{"label":"Homebrew, npm and pip","value":"homebrew,npm,pip"}],"label":"Package managers"},"name":"package_managers","required":false,"type":"string"},{"default":"false","description":"Include dependencies where the manager distinguishes them. Accepts true or false.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Include package dependencies"},"name":"include_package_dependencies","required":false,"type":"string","validValues":["true","false"]},{"default":"true","description":"Run each manager's own read-only latest-version check. Accepts true or false.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Resolve latest versions"},"name":"check_latest_versions","required":false,"type":"string","validValues":["true","false"]},{"default":"managed","description":"Which Python environments to inventory.","input":{"allowCustom":false,"choices":[{"label":"Active interpreter only","value":"active"},{"label":"Managed virtual environments","value":"managed"},{"label":"All, including searched roots","value":"all"}],"label":"Python environments"},"name":"python_scope","required":false,"type":"string","validValues":["active","managed","all"]},{"description":"Comma-separated roots to search, used only with python_scope=all.","input":{"allowCustom":true,"choices":[],"label":"Python search roots (optional)"},"name":"python_search_roots","required":false,"type":"string"},{"default":30,"description":"Per manager-command timeout, 1 through 300 seconds.","input":{"allowCustom":true,"choices":[{"label":"30 seconds","value":30},{"label":"60 seconds","value":60}],"label":"Package command timeout (seconds)"},"name":"package_timeout_seconds","required":false,"type":"integer"},{"default":"false","description":"Fail an available manager collector on command degradation. Accepts true or false.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Strict package collection"},"name":"strict_package_collection","required":false,"type":"string","validValues":["true","false"]},{"default":"true","description":"Embed the spoken explanation in the HTML report. It adds about 170 KB to every saved report; turn it off and the written explanation stays. Accepts true or false.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Include audio explanation"},"name":"include_audio","required":false,"type":"string","validValues":["true","false"]}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/paveenkumar-dev/mac-audit@1.1.25 --json","effect":"read-only"},"step":1,"type":"inspect_local_readiness"},{"references":["/parameters"],"step":2,"type":"collect_parameters"},{"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/paveenkumar-dev/mac-audit@1.1.25","headlessCommandTemplate":"rote play run https://play.modiqo.ai/paveenkumar-dev/mac-audit@1.1.25 <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.80.0"},"publishedAt":"2026-09-06T17:33:28.706599+00:00","reference":"paveenkumar-dev/mac-audit@1.1.25","requirements":{"adapters":[],"browser":{"dependencies":[],"runtime":false,"signIn":false},"hostToolRequirements":[{"command":"python3","required":true,"versionRequirement":">=3.9.0"},{"command":"mdfind","required":false,"versionRequirement":null},{"command":"mdls","required":false,"versionRequirement":null},{"command":"diskutil","required":false,"versionRequirement":null},{"command":"tmutil","required":false,"versionRequirement":null}],"localTools":["python3","mdfind","mdls","diskutil","tmutil"],"roteCli":{"minimumVersion":"0.62.0"},"sessions":false},"resolution":"pinned","schema":"rote.play.v1","stats":{"downloads":2,"installs":0},"steps":{"count":10,"names":["assemble_audit","collect_packages","local_snapshots","render_report","save_report","scan_applications","scan_filesystem","spotlight_health","validate_inputs","volume_capacity"]},"title":"mac-audit","type":"play","version":"1.1.25","visibility":"public"}