Skip to content

New plugins and bugfixes - #479

Merged
Loup-Garou911XD merged 8 commits into
bombsquad-community:mainfrom
BroBordd:main
Sep 5, 2026
Merged

Loup-Garou911XD merged 8 commits into
bombsquad-community:mainfrom
BroBordd:main

Conversation

@BroBordd

@BroBordd BroBordd commented Aug 17, 2026 •

Copy link
Copy Markdown
Collaborator

Requesting to add some plugins to plugman. I did add the dict, hope I didn't bomb something.

@BroBordd

Copy link
Copy Markdown
Collaborator Author

uhh isnt it supposed to do the dict thingy here automatically

@BroBordd BroBordd changed the title Add Movi v1.0 New plugins and bugfixes Aug 18, 2026
@Loup-Garou911XD

Copy link
Copy Markdown
Member

can you merge the latest changes from main branch so that the ci can run

@BroBordd

Copy link
Copy Markdown
Collaborator Author

done

@BroBordd

Copy link
Copy Markdown
Collaborator Author

im extremely confused about these failed logs so I'll just wait

Comment thread plugins/utilities/movi.py Outdated
@Loup-Garou911XD

Copy link
Copy Markdown
Member

I haven't fully reviewed the code yet, just here to help you fix the ci issue
That is alot of code, so please allow me some time to review them

Also if the plugins are this big then please make seperate PRs in the future
It would be easier to review and merge then one by one instead of going through all of them at once

@Loup-Garou911XD

Loup-Garou911XD commented Aug 24, 2026 •

Copy link
Copy Markdown
Member

or if you can then please put them in different branches and open seperate pr
because the github web page is breaking due to the large diff 😬

@BroBordd

Copy link
Copy Markdown
Collaborator Author

i understand, i thought it was recommended to make one pr for everything

@BroBordd

Copy link
Copy Markdown
Collaborator Author

take your time reviewing -- my discord dms are open aswell if you need faster answers to any question about the code

Comment thread plugins/utilities/movi.py
except Exception:
pass
delattr(old_map, attr)
exce

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import a module.

Because this function is meant for use by the Python interpreter and not for general use, it is better to use importlib.import_module() to programmatically import a module.

The globals argument is only used to determine the context; they are not modified. The locals argument is unused. The fromlist should be a list of names to emulate from name import ..., or an empty list to emulate import name. When importing a module from a package, note that __import__('A.B', ...) returns package A when fromlist is empty, but its submodule B when fromlist is not empty. The level argument is used to determine whether to perform absolute or relative imports: 0 is absolute, while a positive number is the number of parent directories to search relative to the current module.

the method doc itself suggest to not use it directly, wont block the merge for now but please take caution in future

@Loup-Garou911XD Loup-Garou911XD left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good work 👍

@Loup-Garou911XD
Loup-Garou911XD merged commit 722ad2e into bombsquad-community:main Sep 5, 2026
1 check passed
@Loup-Garou911XD

Copy link
Copy Markdown
Member

reverted this PR cause somehow the old version checksum is changed, still trying to figure that out and fix it if possible

Loup-Garou911XD added a commit to Loup-Garou911XD/plugin-manager that referenced this pull request Sep 5, 2026
PR Apply resolved the target PR with a single "exactly one PR
associated with this sha" guard whose failure path called skip(),
which exits 0. A sha -> PR association is eventually consistent, so a
run starting seconds after a push can see an empty list: that is what
happened to PR bombsquad-community#479, where PR Apply reported success having pushed
nothing. The branch merged without its generated manifest entries and
broke main, forcing the revert in bombsquad-community#485.

Split the guard. Zero associations now polls the API five times before
giving up, and both terminal outcomes (still zero, or more than one)
fail the job instead of painting it green. skip() stays reserved for
states that self-heal or are none of our business.

Add a metadata-fixpoint commit status as the actual merge gate. PR
Check cannot be one: it generates the metadata into its own workspace
and tests that tree, so it goes green on a branch whose committed
manifests are still empty. A correctly applied PR is a fixpoint, so
the status reports success only when both apply steps found nothing
left to push. Every path that leaves fixups unapplied now leaves the
status unset rather than green. Make it a required check on main.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fwri7UzHia9kp3tPH8GgQz
Loup-Garou911XD added a commit that referenced this pull request Sep 8, 2026
PR Apply has never once applied fixups to a fork PR. It resolved the
target PR through repos/{repo}/commits/{sha}/pulls, and that endpoint
cannot answer for a fork PR's head commit: the commit is not reachable
from any ref of this repo, so the association index has nothing to
return and the call yields [] forever. This is not eventual consistency
that a longer poll would ride out.

The failure used to be invisible. Before the loud-failure change the
lookup fell through to `skip`, which exits 0, so the job painted itself
green having applied nothing - which is how #479 reached main unstamped.
Since then it fails loudly instead, correctly, and every fork PR has gone
red at that step (runs 34018273545, 34023650032, 34040502180, 34042614720,
34048956687, 34192652242).

Look the PR up by head repo owner + head branch instead. That filter is
exact, is available the moment the PR exists, and narrows on precisely
the fields HARD RULE 3 already requires the resolved PR to match. Nothing
is relaxed: state, base, head repo, head branch and head sha are all
still pinned against the workflow_run payload before anything is applied,
so a run can still only ever write to the branch it came from.

state=all, not state=open, so a PR merged between PR Check and this run
still resolves and takes the existing "PR not open; skipping" path rather
than looking unidentifiable. Several PRs from one head branch is ordinary
history for a reused branch, not the sha-adoption ambiguity HARD RULE 3
guards against - every candidate shares the same head repo and branch by
construction - so the newest by number wins instead of failing closed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CSZrwNCXvibEJ9PXCW1uqi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants