Repository navigation
Description
Description
Current main is d58713e889fbfe3a025f0966cef5345099418e42, with no main-ref CI run. The latest main CI and Usage history performance runs instead failed at old c77528d1da3cc6009ed8ff5b80d974835c6d6951 on October 21 EDT. This is a validation gap, not a reproduced current-main defect.
Old CI failed the native billing-grace listener assertion. Old history performance also failed. Both raw job logs are retained. Automatic CI intentionally excludes main pushes.
Why
Stale red validation leaves current default-branch health unknown and can conceal a remaining native or performance fault.
Goal
Establish exact-source current-main health with the smallest existing hosted validation and repair any reproduced fault through a separate reviewed PR, preserving PR #521's frozen cost comparison.
Acceptance Criteria
- Record one current-main CI run with exact SHA, actual quality outcomes and source-bound artifacts.
- Use existing account-menu-comparison mode to run all five quality jobs without the full 53-journey suite. Both source inputs are the same current-main SHA, so this is a correctness control, not an improvement comparison.
- Classify any failure from its actual producer evidence, separating historical results from current defects.
- Preserve automatic CI policy, assertions, timeouts and full qualification requirements. No Store or release actions.
Definition of Done
- Report the actual current-main result and separately state any unqualified standalone history-performance gate.
- If repair is necessary, link a scoped PR, meaningful regression, clean current-head Codex review, required checks and guarded merge.
- Keep PR Keep manual iOS UI qualification within the worker limit #521's branch, pair and full-gate evidence intact.
Validation
- Verify remote main remains the selected SHA and no useful main CI is live before a single dispatch.
- Run
gh workflow run ci.yml --repo hemsoft-dev/codexbar-ios --ref main -f ui_validation_mode=account-menu-comparison -f comparison_base_sha=d58713e889fbfe3a025f0966cef5345099418e42. - Verify the returned run's actual head and all five quality job outcomes; confirm full UI workers and aggregate are skipped. Inspect targeted comparison results separately.
- Use PR watch and natural event checkpoints; no polling or retry loop.
Activity
HemSoft commentedon Oct 26, 2026
Started one normal main CI run 40313385205, attempt 1, actual API head
d58713e889fbfe3a025f0966cef5345099418e42, eventworkflow_dispatch, branchmain. The first metadata read showed in progress. Mode is existingaccount-menu-comparison, with baseline and candidate both the same exact current-main SHA. This invokes all five quality workloads and four focused account-journey invocations, while the source conditions skip full UI workers/aggregate. It is not the full 53-journey gate or a performance comparison. No workflow/source was edited; no repeat dispatch or separate history benchmark was started.Historical evidence is preserved in
/tmp/codexbar-main-ci-20261026/: old native failure wasStoreKitProSubscriptionTests.testBillingGraceMapsVerifiedStatusAndKeepsAccess, exiting 65. The old history performance artifact reportspassed=falsewith four INCONCLUSIVE variation findings, CV 0.196–0.224 against the 0.15 cap. This is not an established latency regression. Later main commits include native boundary/test cleanup and paired benchmark scheduling/hash-seed repairs, but source changes do not substitute for fresh hosted evidence.Waiting for this exact main run's terminal quality and focused-UI outcomes. A passing result will establish those workloads only. The separate Usage history performance workflow remains unqualified at current main, and full release/UI qualification is not claimed. Any reproduced failure will be diagnosed from actual job logs/artifacts before a scoped repair PR.
The available T3 tool is a PR watch, not a workflow-run subscription. This main dispatch has no implementation PR or installed completion relay, so the existing PR #521 watch must not be represented as observing this run. No polling loop, timer, listener or empty PR was created. A natural external completion checkpoint for run 40313385205 is needed to resume inspection. PR #521 remains watched and its frozen branch/cost baseline is unchanged.
HemSoft commentedon Oct 26, 2026
Current main is now proven to fail its manual iOS preflight: job 121539845316 rejects the two existing SubscriptionUtilizationEvidenceUITests selectors missing from the manifest. No native XCTest executed in that job. SwiftLint, strict concurrency, watchOS tests and SwiftPM smoke passed; the focused account-menu job was skipped after the iOS failure. The same exact failure reproduced locally in 0.006 seconds.
Opened and registered PR #524 at
7123b83ca36ab3d986bedb4030dd20cea8992092, extracting the already-written manifest-only correction from PR #521 without changing its branch. The repair includes both SUS journeys, preserves the existing 51 and requires 53 total plus the same three preparation/reset invocations. Eighty-three local Python controls pass. No workflow, Swift/test body, automatic workload, timeout or exclusion changed.Current-head required SwiftLint and one connected Codex review are pending. After the automatic run is terminal, the existing focused manual mode can validate the repaired head without the full 53-journey suite. It must not be dispatched while useful same-ref CI is live because the unchanged concurrency policy would cancel that work. No extra full UI run or retry was started.
Separately, PR #521's controlled same-image cost pair completed with candidate 57 seconds elapsed / 52 summed job-seconds versus baseline 54 / 50. Receipts match; this is a real acceptance failure, not a pass or a reason to repeat. Extracting the minimal correction keeps current-main repair independent of that blocked sharding qualification. Raw producer failure, artifact, local red and 83-test green logs remain in
/tmp/codexbar-main-ci-20261026/.HemSoft commentedon Oct 26, 2026
Repaired-head validation40318765544 failed at the next independent gate: ordinary iOS1166/1166 and native preparation passed, native commerce24/25 passed, with natural-expiration's25-second verified-auto-renew-off/available predicate timing out. Producer job. Later native phases and iOS risk enforcement were not reached; four other quality jobs passed. No full UI or focused account-menu pass is claimed.
The producer does not record which predicate half stayed false. One local instrumented isolated selector passed31.757s on Xcode26.6/17F113 and iOS26.2/23C54; verified off plus available was observed at0.230s, then natural expiration and fresh-source denial passed. Separate reset and owned shutdown passed. This is nonreproduction, not a repair or hosted acceptance. Initial trace-only formatting/capture compile failures ran zero native cases and are retained separately.
One new ordered control is executing on a fresh owned simulator: the three immediately preceding subscription cases followed by natural expiration, once each, original waits and assertions. This tests preceding-state effects rather than repeating an ordinary successful case. All evidence is private under
/tmp/codexbar-main-ci-20261026/; existing SUS devices and PR521 frozen source remain untouched. No source push yet because no product/fixture defect is proved. The stuck old-head Codex review will not be misreported as clean; the next meaningful source head will receive one request, with the explicitly authorized Claude fallback if that new review hangs.Preserve the last native renewal wait observation (#523)
HemSoft commentedon Oct 26, 2026
Published PR524 head
4e4a3c34173eb7762b7431328e86c2af3c659c30with the manifest repair and bounded last-predicate failure capture. This is not a claimed native product fix. Final Swift compiled with pinned lint/complete concurrency;83Python controls pass. One fresh current-head Codex request is 6419229744; old stuck review is not reused as clean.Isolated and ordered local controls did not reproduce the hosted wait failure. The intentional SDK-error control did exercise the final error capture and retained originalXCTest65, but separate reset failed launch with Busy/preflight rejection and XCTest logged a simctl lookup error. Owned shutdown passed; its device is quarantined. Local native execution stopped without retry. The temporary injection was removed and final validated Swift hash restored exactly before commit.
Next producer discriminator is now encoded: was the last verified-off predicate false, or did the service lifetime action remain unavailable? The earlier producer did not retain those facts. Source/cost branch521 stays frozen, and no extra hosted run was dispatched. Native cause and current-head hosted qualification remain unresolved. T3 exposes no workflow-run completion subscription; PR watch does not satisfy that requested capability. No substitute polling loop/timer/CI permission change was installed.
HemSoft commentedon Oct 26, 2026
Current head
4e4a3c34173eb7762b7431328e86c2af3c659c30has clean connected Codex review at11:00AM EDT and green required SwiftLint. No fallback or duplicate review requested.Started one current-head focused producer diagnostic40345384586, attempt1, at11:02:32AM EDT, after all prior branch workflows were terminal and remote/local source were verified. Existing account-menu-comparison mode runs all5quality jobs plus4focused account-menu invocations. No full53-journey suite or unchanged retry. The new failure capture is the discriminator for the unresolved native expiration timeout; no product fix is claimed. Local failing-control simulator remains shut down/quarantined.
T3 exposes no workflow-run completion watch. The requested checkpoint/terminal-wake request to the newly supplied active Chief UUID failed once with Air
thread_not_found; no retry or substitute polling/timer was installed. This issue/PR and normal owner terminal retain the exact run ID for an external completion wake. Current-head hosted qualification still blocks merge.Reconcile release journeys and retain native renewal failure state (#524
HemSoft commentedon Oct 26, 2026
Merged PR #524 normally with the full-head guard at 12:49:10 PM EDT on October26. Tested/reviewed head
4e4a3c34173eb7762b7431328e86c2af3c659c30; merge commitf2ce58a30628ad11bd6e58cae0a3b76208466b55. No admin bypass. Merge commit and tested head have identical Git trees, and all555 retained hosted source-file hashes matched the clean reviewed checkout. Air's local clean main was fast-forwarded; no Home operation.Exact-head validation40345384586 passed all five quality jobs: SwiftLint, strict concurrency, iOS tests/risk, watchOS tests/risk and SwiftPM smoke. Ordinary iOS1166/1166, native phase counts1/25/1/1 and watch112/112 passed with zero skips/expected failures. Both risk reports have empty error lists, covering2315iOS/161watch functions. All four focused baseline/candidate iPhone/iPad controls passed. This was same-source correctness, not an improvement measurement. Full53-journey release UI was intentionally skipped.
Connected Codex is clean at the tested head; no review threads or live change requests. Effective rules require strict SwiftLint freshness and no formal/human approval. Final gh-x row was open / AIpass / Checkspass / comments0/0!. No protection change or approval bypass.
Closing the reproduced manifest/default-source qualification repair. The old native auto-renew-off timeout did not reproduce in the isolated/ordered local controls or this new hosted run; its cause remains unexplained. The merged capture retains the last predicate state if it recurs, and is not represented as a causal product fix. Raw failed runs and the injected control's separate reset/preflight failure are preserved; that local device remains quarantined. No failed artifact was reclassified as passing.
Current main now contains the validated tree. There was no redundant post-merge main dispatch; the successful Actions receipt remains tied to4e4a3c3, not falsely attributed to the squash commit. The old main run listing can therefore still display the historical failure. Current standalone Usage history performance and the full release UI gate remain unqualified. This does not waive PR #521's failed cost pair or full native/UI acceptance. No Store submission/release, Home sync or customer publication occurred.