Skip to content

sustainabot: add SafeDOMExample.res→.affine standing recipe #214

Description

@hyperpolymath

Context

gitbot-fleet#208 ran a one-time sweep of SafeDOMExample.resSafeDOMExample.affine across 125+ repos. Today's otpiser#11 + estate sweep revealed that three template repos kept regenerating the .res variant on every new repo, so the sweep needs to be a STANDING sustainabot recipe rather than a one-shot.

Template-side fixes landed today in:

But sustainabot should still carry a standing recipe for any new fork / external clone that introduces the .res copy.

Recipe

Add to recipes/safedom-example-affine.yaml:

id: SAFEDOM-001trigger:
file_exists: examples/SafeDOMExample.resfile_missing: examples/SafeDOMExample.affineconfidence: 0.99action: substitutefix_script: scripts/fix-scripts/safedom-res-to-affine.shdescription: | Replace examples/SafeDOMExample.res with the canonical examples/SafeDOMExample.affine. Source-of-truth lives in burble/main:examples/SafeDOMExample.affine.skip_if:
# Repo has substantive non-SafeDOM .res files (blocked on# affinescript#57 Phase 2 migration tooling)any_substantive_res_files: true

The skip_if predicate prevents the recipe from firing on repos with non-SafeDOM .res files (which need affinescript#57 Phase 2 first). Today's empirical skip-set:

  • bunsenite, gossamer, nesy-solver, reposystem, stapeln, svalinn, vcl-ut, verisimdb, idaptik, laniakea, affinescript

Source of truth

gh api repos/hyperpolymath/burble/contents/examples/SafeDOMExample.affine?ref=main (cached at burble main).

Cross-refs: hypatia#336 (corresponding hypatia detection rule).

Filed from session sweeping otpiser#11 + estate-wide drift.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions