Skip to content

docs(skills): cover the local contract override in /fetch-protos - #647

Merged
bmc08gt merged 1 commit into
mainfrom
docs/fetch-protos-skill
Aug 25, 2026
Merged

docs(skills): cover the local contract override in /fetch-protos#647
bmc08gt merged 1 commit into
mainfrom
docs/fetch-protos-skill

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

When the contract change you need is not released yet, /fetch-protos told you to stop. Publishing is still human-gated and still the path for CI release builds, but it is no longer the way to try a field — Maven Central will not take a version number twice, so a throwaway release burns a real version.

FLIPCASH_PROTO_LOCAL makes FlipcashAPI/Package.swift swap both .package(url:, exact:) requirements for .package(path:) against client checkouts in the orchestrator workspace. Nothing tracked is edited to enter that mode.

The skill now:

  • reports the override in its pre-flight context, and widens the git status to Code.xcodeproj/
  • replaces the stop paragraph with the local loop, including the caveat that Xcode inherits the environment of the shell that launched it, so it has to be relaunched from one that exported the variable
  • records that resolving in local mode drops both contract entries from the workspace Package.resolved, since path dependencies are not recorded there — noise to restore, not a dependency change
  • adds the matching ## Never entries: do not commit that Package.resolved, do not leave the variable exported

The full loop, including what stops a local state from shipping, is in docs/proto-local-development.md in the cross-platform orchestrator.

The matching Android change is code-payments/code-android-app#1328.

The skill said to stop when the contract change you need isn't released yet.
Publishing is still human-gated and still the path for CI release builds, but
it is no longer the way to try a field: `FLIPCASH_PROTO_LOCAL` makes
`FlipcashAPI/Package.swift` swap its pinned requirements for path
dependencies on the client checkouts.

Adds the override to the pre-flight context, replaces the stop paragraph with
the local loop and the Xcode environment caveat, and records that resolving
in this mode drops both contract entries from the workspace
`Package.resolved` — noise to restore, not a dependency change.
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.

1 participant