Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

In a seven-day window ending September 6, 2026, Rulestack found images in five of its 42 scheduled Bluesky posts—about 12%. The team set a goal of including an image or video in every other post, then added a commit-time queue check and a restricted, checksum-verified media path. The report describes the implementation, not a measured improvement: the new process had not yet been shown to raise media usage or guarantee successful uploads.

What the 12% figure does—and does not—mean

The five-of-42 count is Rulestack’s own account-specific snapshot, not a Bluesky-wide benchmark. Its health-check definition excludes self-replies and immediate news posts. The target—one post in every two with an image or video—is also the team’s stated goal, not a platform standard. Rulestack’s build report describes the baseline and design; it does not report a post-change usage rate.

The practical problem was not just the overall share of posts with media. A queue can meet a percentage target while still leaving a long stretch of text-only posts. Rulestack’s response was to check the order readers would encounter, rather than relying only on an aggregate ratio.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How the commit gate enforces the schedule

Check neighboring posts, not just the queue average

After sorting scheduled posts by planned time, the gate inspects every adjacent pair. If both posts are text-only, the check fails and reports the pair. That makes a consecutive dry spell visible even when enough other posts contain media to lift the overall percentage.

This is a different policy from a queue-wide ratio: the adjacency rule constrains sequence, while a ratio constrains the overall mix. Rulestack summarized the rationale in its article as: “Feeds do not experience ratios; they experience sequences.” The adjacency rule does not, by itself, guarantee that half of all posts contain media; it specifically prevents neighboring text-only posts.

Other checks run with the schedule rule

The reported test suite also checks that media can be loaded, alt text is non-empty, the repository’s ignore-rule exception remains present, and every file in the media directory has a sidecar. These checks help catch incomplete or inconsistent assets before the scheduled queue is committed.

How the media path is constrained

Allow a filename, not an arbitrary path

Previously, a stock row could provide a path. Under the new design, it names a media file by basename, and the resolver looks only inside content/posts-media/. It rejects path separators, .. traversal, absolute paths, and files whose extension does not match their declared media kind. After resolving the file, it checks that the resulting absolute path is still contained in the allowed directory.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This reduces the access surface: a stock entry can select an approved asset from one location, rather than pointing the poster at an arbitrary file elsewhere on the machine or repository. The report also says the repository ignore rules were adjusted so the designated media directory remains committed, with a test to catch removal of that exception.

Use a sidecar digest to detect changed files

Each renderer output has a metadata sidecar containing its specification and the output’s SHA-256 digest. A shared loadPostMedia function checks that the media file and sidecar exist, that the sidecar’s kind and name agree with the stock row, and that the file’s digest matches. Both the commit gate and posting code use that loader, so they apply the same validation. If the bytes change, the asset must be rendered again to produce matching metadata.

A checksum establishes whether the current file matches the recorded output; it does not establish that the file is appropriate, accessible to viewers, or accepted by Bluesky. The basename allowlist and kind checks limit selection, while the digest catches changes after rendering.

Why passing the gate is not proof of delivery

The commit gate validates the schedule and assets before posting. It cannot ensure that the runner completes an upload or that the service accepts the media. Rulestack describes a separate health check that reads the recent posting log and warns when observed media usage falls below the target. That delivery-side monitoring is necessary because queue validity and successful publication are different states.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The related Rulestack account of the media inventory and upload status reported 16 of 27 media rows in stock—12 images and four videos—and zero videos posted at the time of writing. It described four videos as 5.2, 6.65, 5.2, and 5.5 seconds long, with file sizes from 52 to 72 KB. Those are account-specific inventory and implementation details, not a performance benchmark; the result of the new process remained unmeasured.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What to take from this implementation

  • Choose a queue rule that matches the experience you want. A ratio controls total media share; an adjacency check controls consecutive text-only posts.
  • Constrain file selection to a designated directory and validate names, paths, and declared media kinds before use.
  • Have the pre-commit gate and the poster call the same loader so validation does not diverge between scheduling and delivery.
  • Use a digest to detect asset changes, and regenerate metadata when rendered bytes change.
  • Monitor posting logs separately. A valid queue is not evidence that every upload succeeded.

The code behavior and counts above are reported by Rulestack; the account’s related coverage says there is no publicly linked commit to inspect independently. Treat the details as a first-party engineering account, not an independently audited result.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.