Document the user-facing changes from the last few releases - #66
Merged
Conversation
GenericJam
commented
Sep 5, 2026
OwnerAuthor
Rebased onto master and corrected: this branch was written before #67 landed, so it documented the old error wording and missed two things that shipped with it.
A doc branch describing behaviour that changed under it is its own small version of the problem this whole thread has been about, so worth catching before merge rather than after. |
GenericJamforce-pushed
the
docs/document-recent-user-facing-changes
branch
from
September 5, 2026 14:39
894a65c to
d64b089CompareGenericJam
commented
Sep 5, 2026
OwnerAuthor
Adversarial review done and acted on. It found two code defects behind the docs, not just doc errors — both mine, and both now fixed in #68:
Doc fixes here:
Blocked on #68 for the |
GenericJamforce-pushed
the
docs/document-recent-user-facing-changes
branch
from
September 5, 2026 15:00
d64b089 to
d279f89CompareFour things shipped without reaching any user-facing doc. Each was findable only by reading source or a CHANGELOG entry. `mix mob.mutate` had no README entry at all. It rewrites source files in place, so the section says that plainly, along with why it refuses to run on a dirty tree and why roughly a third of Elixir line-deletions land in "did not build" rather than being real kills. `mix mob.deploy`'s exit status changed materially and was documented nowhere. It now fails on a failed device, on every device of a *named* platform being skipped, on a named `--device` that got nothing, and on `--native` building nothing for a platform you asked for — while a plain run with an unrelated phone attached still exits 0. Anyone with CI around this needs to know which of those apply to them. Unknown options are refused rather than ignored, which is a breaking change for anyone who had a typo in a script and never noticed, and `-d` now means `--device` where it previously meant nothing at all. `:ios_bundle_id` existed only in AGENTS.md and a decision record, so the one audience who needs it — someone publishing to TestFlight whose Android applicationId contains an underscore Apple will reject — could not find it. It now sits in the TestFlight guide immediately after the section that tells you to pick a real bundle id, which is where the problem is first met. Also adds `Mob.Test.capabilities/1` to the agent section, since choosing a driving strategy before discovering a probe is unavailable is the entire point of it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
GenericJamforce-pushed
the
docs/document-recent-user-facing-changes
branch
from
September 5, 2026 15:02
d279f89 to
ae56a0aCompareUh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four things shipped without reaching any user-facing doc — each findable only by reading source or a CHANGELOG entry.
mix mob.mutatehad no README entry at all. The new section says plainly that it rewrites source files in place, why it refuses to run on a dirty tree, and why roughly a third of Elixir line-deletions land in "did not build" rather than being real kills.mix mob.deploy's exit status changed materially and was documented nowhere. It now fails on a failed device, on every device of a named platform being skipped, on a named--devicethat got nothing, and on--nativebuilding nothing for a platform you asked for — while a plain run with an unrelated phone attached still exits 0. Anyone with CI around this needs to know which of those apply to them.Unknown options are now refused rather than ignored, which is breaking for anyone who had a typo in a script and never noticed, and
-dnow means--devicewhere it previously meant nothing.:ios_bundle_idexisted only in AGENTS.md and a decision record, so the one audience who needs it — someone publishing to TestFlight whose AndroidapplicationIdcontains an underscore Apple will reject — could not find it. It now sits in the TestFlight guide immediately after the section telling you to pick a real bundle id, which is where the problem is first met. A review flagged this gap on PR #44 and it went unaddressed until now.Also adds
Mob.Test.capabilities/1to the agent section.mix mob.attestis deliberately not here — its docs ride with PR #65, which adds the task.