Skip to content

feat(swift-customization-reader): swift: customizationjsonreader + pool mode routing [P13.05]#135

Closed
cesarnml wants to merge 7 commits into
agents/p13-04-swift-floatingpetwindowpool-updated-livepollingdriverfrom
agents/p13-05-swift-customizationjsonreader-pool-mode-routing
Closed

feat(swift-customization-reader): swift: customizationjsonreader + pool mode routing [P13.05]#135
cesarnml wants to merge 7 commits into
agents/p13-04-swift-floatingpetwindowpool-updated-livepollingdriverfrom
agents/p13-05-swift-customizationjsonreader-pool-mode-routing

Conversation

@cesarnml

Copy link
Copy Markdown
Owner

Summary

  • delivery ticket: P13.05 Swift: CustomizationJsonReader + pool mode routing
  • ticket file: docs/product/delivery/phase-13/ticket-05-customization-json-reader.md
  • stacked base branch: agents/p13-04-swift-floatingpetwindowpool-updated-livepollingdriver
  • post-verify: outcome clean completed at 2026-06-28 16:51 UTC
  • subagentReview: outcome clean completed at 2026-06-28 16:57 UTC

cesarnml added 6 commits June 28, 2026 23:41
… routing [P13.05]

- Add CustomizationJsonReader.swift: PlatformMode enum (own/combined/off),
  CustomizationSnapshot struct with safeDefault, enum reader that decodes
  platform_modes as [String:PlatformMode] with unknown-string→.own fallback
- Add CodogotchiFolders.customizationPath() pointing to ~/.codogotchi/customization.json
- Refactor FloatingPetWindowPool: replace fixed ttlSeconds/platformModes init
  params with customizationReader closure; reads CustomizationSnapshot fresh on
  each tick; ttl=0 maps to TimeInterval.infinity (never dismiss)
- Update FloatingPetWindowPoolTests, MenuItemsTests to use customizationReader API
…egative TTL guard [subagent-review]

- Force-dismiss own-keyed windows for off-mode origins bypassing last-active
  immunity (Step 5a) so switching to off removes the window this tick
- Collapse own-keyed windows for origins switching to combined mode before
  spawning the shared window (Step 6a) so only one window exists per combined group
- Reject negative idle_dismiss_ttl_seconds in CustomizationJsonReader by
  clamping to 300s default
- Add tests: negative TTL clamp, own→combined collapse, own→off last-active bypass
@vercel

vercel Bot commented Jun 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
codogotchi Ready Ready Preview, Comment Jun 28, 2026 5:03pm

@cesarnml cesarnml deleted the branch agents/p13-04-swift-floatingpetwindowpool-updated-livepollingdriver June 28, 2026 23:37
@cesarnml cesarnml closed this Jun 28, 2026
@cesarnml cesarnml deleted the agents/p13-05-swift-customizationjsonreader-pool-mode-routing branch June 28, 2026 23:37
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