Skip to content

ios-fleet: one shared four-digit build counter across iOS and macOS - #337

Merged
jaywedgeworth22 merged 5 commits into
mainfrom
gb-compiler/four-digit-build
Oct 29, 2026
Merged

jaywedgeworth22 merged 5 commits into
mainfrom
gb-compiler/four-digit-build

Conversation

@jaywedgeworth22

@jaywedgeworth22 jaywedgeworth22 commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Replaces the per-train dotted build (M.m.<n>) with one shared four-digit build counter per app across iOS and macOS for fixedMarketingVersion ships.

  • Adds pure planner scripts/ios-fleet/shared-build.mjs nextSharedBuild(): next = max(1000, every iOS candidate +1, every macOS candidate +1, every extraFloor +1). Empty inventory starts at 1000; range ends at 9999. Legacy iOS UTC timestamp builds (first component >= 100000000) are ignored and counted in ignoredIos; all macOS builds count. Requires complete inventory and rejects malformed inventory.
  • Replaces asc-api.mjs next-dotted-build with next-shared-build <bundleId> [macBundleId] [floor...]: read-only, fully paged inventory of every iOS build on all trains and every macOS build on all trains for the iOS app plus optional paired Mac app (macBundleId), plus integer floors. Numeric second arg is treated as a floor.
  • Updates ship-testflight.sh asc_next_shared_build(): resolves macBundleId and pairedBuildFeed Sparkle appcast from apps.json, uses max <sparkle:version> from the feed as an extra floor, calls next-shared-build, and requires a four-digit 1000..9999 result. Fixed mode now works on iOS and macOS, validates operator --build as four-digit and at-or-above the planned minimum, and otherwise auto-assigns the shared build.
  • Updates workflow version-plan-contract.yml and contract tests: adds offline shared-build.test.mjs coverage and verifies client and module agree on next-shared-build with one iOS and one macOS inventory query.

Port of Congress.Trade #2892.  Owner rule (Oct 28):  marketing stays 0.1.0
and CFBundleVersion is a plain 4-digit integer from one counter per app:
next = max(every iOS build, every macOS build, extra floors, 999) + 1.
Replaces the dotted 0.1.0 (0.1.n) fixed-mode build.
@jaywedgeworth22

Copy link
Copy Markdown
Member Author

@kody start-review

@kody-ai

kody-ai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Code Review Completed! 🔥

The code review was successfully completed based on your current configurations.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

​

@kody-ai

kody-ai Bot commented Oct 29, 2026

Copy link
Copy Markdown

kody code-review Business Logic medium

Task description is insufficient for business logic validation.

🤔 Insufficient Task Context

I found a task linked to this PR, but it only contains minimal information (title only, no description or acceptance criteria). To perform a meaningful business rules validation, I need more details.

🔍 What I need to validate:

  • Business requirements and acceptance criteria
  • Expected behavior and business rules
  • Edge cases and constraints to consider

💡 How to improve the task context:

  • Add a description to the linked ticket
  • Include acceptance criteria or business rules
  • Describe the expected behavior after the change

⚠️ Important:

A task title alone is not sufficient to determine whether the implementation is correct or complete.


💡 This validation runs automatically only on the first review of a pull request. To run it again, comment @kody -v business-logic.

Prompt for LLM
Task description is insufficient for business logic validation.

<!-- task_context_status:weak -->
## 🤔 Insufficient Task Context

I found a task linked to this PR, but it only contains minimal information (title only, no description or acceptance criteria). To perform a meaningful business rules validation, I need more details.

### 🔍 What I need to validate:
- Business requirements and acceptance criteria
- Expected behavior and business rules
- Edge cases and constraints to consider

### 💡 How to improve the task context:
- Add a description to the linked ticket
- Include acceptance criteria or business rules
- Describe the expected behavior after the change

### ⚠️ Important:
A task title alone is not sufficient to determine whether the implementation is correct or complete.

---
> 💡 This validation runs automatically only on the first review of a pull request. To run it again, comment `@kody -v business-logic`.

​

Comment thread scripts/ios-fleet/asc-api.mjs Resolved
Comment thread scripts/ios-fleet/asc-api.mjs Resolved
Comment thread scripts/ios-fleet/shared-build.mjs Resolved
Comment thread scripts/ios-fleet/ship-testflight.sh Resolved
@kody-ai

kody-ai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Code Review Could Not Complete ⚠️

The review failed before suggestions could be generated.

Reason: The configured API key (open_router) appears invalid or lacks permission. Check the key in your settings.

open_router · meta/muse-spark-1.3-contributor · HTTP 403 · generalist

Provider said: Workspace weekly budget of $3.00 exceeded. Contact your org admin. $3.02 of $3.00 used; resets 2026-11-02T00:00:00.000Z.

After fixing the issue, comment @kody review on this PR to re-run the review.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

​

@kody-ai

kody-ai Bot commented Oct 29, 2026

Copy link
Copy Markdown

kody code-review Business Logic medium

Task description is insufficient for business logic validation.

🤔 Insufficient Task Context

I found a task linked to this PR, but it only contains minimal information (title only, no description or acceptance criteria). To perform a meaningful business rules validation, I need more details.

🔍 What I need to validate:

  • Business requirements and acceptance criteria
  • Expected behavior and business rules
  • Edge cases and constraints to consider

💡 How to improve the task context:

  • Add a description to the linked ticket
  • Include acceptance criteria or business rules
  • Describe the expected behavior after the change

⚠️ Important:

A task title alone is not sufficient to determine whether the implementation is correct or complete.


💡 This validation runs automatically only on the first review of a pull request. To run it again, comment @kody -v business-logic.

Prompt for LLM
Task description is insufficient for business logic validation.

<!-- task_context_status:weak -->
## 🤔 Insufficient Task Context

I found a task linked to this PR, but it only contains minimal information (title only, no description or acceptance criteria). To perform a meaningful business rules validation, I need more details.

### 🔍 What I need to validate:
- Business requirements and acceptance criteria
- Expected behavior and business rules
- Edge cases and constraints to consider

### 💡 How to improve the task context:
- Add a description to the linked ticket
- Include acceptance criteria or business rules
- Describe the expected behavior after the change

### ⚠️ Important:
A task title alone is not sufficient to determine whether the implementation is correct or complete.

---
> 💡 This validation runs automatically only on the first review of a pull request. To run it again, comment `@kody -v business-logic`.

​

@kody-ai

kody-ai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Code Review Completed! 🔥

The code review was successfully completed based on your current configurations.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

​

@kody-ai

kody-ai Bot commented Oct 29, 2026

Copy link
Copy Markdown

kody code-review Business Logic medium

Task description is insufficient for business logic validation.

🤔 Insufficient Task Context

I found a task linked to this PR, but it only contains minimal information (title only, no description or acceptance criteria). To perform a meaningful business rules validation, I need more details.

🔍 What I need to validate:

  • Business requirements and acceptance criteria
  • Expected behavior and business rules
  • Edge cases and constraints to consider

💡 How to improve the task context:

  • Add a description to the linked ticket
  • Include acceptance criteria or business rules
  • Describe the expected behavior after the change

⚠️ Important:

A task title alone is not sufficient to determine whether the implementation is correct or complete.


💡 This validation runs automatically only on the first review of a pull request. To run it again, comment @kody -v business-logic.

Prompt for LLM
Task description is insufficient for business logic validation.

<!-- task_context_status:weak -->
## 🤔 Insufficient Task Context

I found a task linked to this PR, but it only contains minimal information (title only, no description or acceptance criteria). To perform a meaningful business rules validation, I need more details.

### 🔍 What I need to validate:
- Business requirements and acceptance criteria
- Expected behavior and business rules
- Edge cases and constraints to consider

### 💡 How to improve the task context:
- Add a description to the linked ticket
- Include acceptance criteria or business rules
- Describe the expected behavior after the change

### ⚠️ Important:
A task title alone is not sufficient to determine whether the implementation is correct or complete.

---
> 💡 This validation runs automatically only on the first review of a pull request. To run it again, comment `@kody -v business-logic`.

​

Comment thread scripts/ios-fleet/ship-testflight.sh Resolved
Comment thread scripts/ios-fleet/ship-testflight.sh Resolved
- pairedBuildFeed fetch is https-only, time- and size-bounded; failures name the feed URL
- whitespace-tolerant <sparkle:version> scrape, max via POSIX tools (no /usr/bin/python3)
- feed floor outside 1..9998 and an empty feed fail closed with a logged reason
- macOS entries reverse-resolve their paired iOS bundle; both apps, both platforms join the counter
- inventories fetched concurrently; page cap still fails closed
- tests for each case
@jaywedgeworth22
jaywedgeworth22 merged commit 90c0e62 into main Oct 29, 2026
18 checks passed
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