SUPPLY-001D9: upgrade Firebase CLI and Java emulator boundary#456
Merged
Conversation
✅ Deploy Preview for luminous-fox-7c393f ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
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 free
to 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.
Outcome
Removes the two critical advisory groups carried by the repository Firebase CLI and moves every hosted emulator gate to the Java 21 boundary required by Firebase CLI 15, without changing application, Functions, Rules, provider, or production behavior.
Fixes #455
Officer impact: None — this changes developer and hosted CI tooling only; no officer task or live surface changes.
Officer documentation:
docs/officers/PUBLISH_AND_CHECK.md— records the internal CLI/Java boundary and confirms officers never install or run either tool.Deployment evidence: Exact-head GitHub CI run
29926297611passed all five jobs. Netlify generated PR deploy preview6a60cc5937205f0008a3ec5d; its redirect/preview checks passed and its header/page-change checks skipped because those files did not change. The preview was not used for private, Firebase, or provider behavior and is not production. No production website publication, Firebase deployment, provider configuration, production data access, or live behavior was performed or verified.Invariant and changes
firebase-tools@15.24.0from the public npm registry.demo-*projects.RED and regression evidence
On exact base
8a5b0cc513bf72ff87d88d7956714184319a1be6, the new focused tests failed because CI still selected Java 17 and the manifest still specified^13.7.0. After the change, the focused dependency/workflow set passes 23/23 and the complete static workflow/release/dependency/artifact set passes 58/58.The first independent review found that required substrings could be retained as decoys around fail-open or extra commands. The repair now binds the complete parsed jobs and package-script lifecycle; all reported bypass mutations fail, and three independent re-reviews approve
23c27f55d8d1e202261b6070b837a245e51fea44with no remaining findings.Local verification
protobufjs7.6.5 andtar7.5.21; 194 records added, 116 removed, 62 retained records changed; every resolved record uses the public registry with SHA-512 integrity.demo-rules-test.demo-pay002b2-test.demo-mprc-local; no Function or provider was invoked.Hosted verification
29926297611belongs to exact head23c27f55d8d1e202261b6070b837a245e51fea44.Compatibility, residual risk, and rollback
Node remains 20. Repository-owned emulator work now requires Java 21; Java 17 is intentionally unsupported. No schema, migration, public bundle, Function, Rule, Firebase configuration, or provider behavior changes.
The remaining root and Functions audit findings stay open for separate atomic supply-chain slices. A green PR or main CI run proves source/test behavior only. Roll back by reverting this PR, but doing so restores both critical CLI advisory groups and the obsolete Java 17 emulator boundary.