Skip to content

Update PRD architecture: work-driven core and Peripheral split#49

Merged
itsniper merged 1 commit into
masterfrom
docs/prd-architecture-lock-in
Jul 18, 2026
Merged

Update PRD architecture: work-driven core and Peripheral split#49
itsniper merged 1 commit into
masterfrom
docs/prd-architecture-lock-in

Conversation

@itsniper

@itsniper itsniper commented Jul 18, 2026

Copy link
Copy Markdown
Member

Summary

Documents the settled v1 architecture from the ObjC Core comparison and product lock-in discussions. Docs-only; no library code changes.

  • PRD.md — Architecture section; work-driven connection + Approach B reconnect; Peripheral / DiscoveredPeripheral public types; PoweredOn await; idle disconnect (global, default 5s); FR-10 before commands; FR-2.4/2.5, FR-11, catalog-ready, sticky discovery filter on handle; implementation sequencing.
  • docs/designs/discovered-peripheral-vs-peripheral-2026-07-15.md — External-reviewable write-up of the type split (Swift 6 constraints, options, decision).
  • docs/investigations/objc-ble-vs-reliable-architecture-2026-07-15.md — Full investigation trail and product decisions.

Kept separate from #44 (background scanning/restore) so that feature stays reviewable on its own.

Test plan

  • Skim PRD Architecture + FR-1.4/1.5, FR-2.4/2.5, FR-4 sequencing, FR-10.3.7, FR-11 for consistency
  • Confirm design note is clear enough for an external iOS/BLE reviewer
  • No code/CI impact expected (markdown only)

…encing

Document the settled v1 product shape from the ObjC Core comparison:
Peripheral/DiscoveredPeripheral public types, work-driven connection with
Approach B reconnect, FR-10 before commands, and supporting design notes.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates ReliaBLE’s product documentation to lock in the intended v1 architecture and sequencing (work-driven connection core, Peripheral handle vs DiscoveredPeripheral scan snapshot, PoweredOn gating, and FR-10-before-commands).

Changes:

  • Expands PRD.md with a normative architecture section, explicit connection/reconnect model, and additional FR/NFR clarifications.
  • Adds an investigation write-up comparing the ObjC “Core” architecture to ReliaBLE and capturing resulting product decisions.
  • Adds an external-reviewable design note explaining the DiscoveredPeripheral vs Peripheral type split under Swift 6 strict concurrency.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
PRD.md Locks the v1 target architecture and requirement sequencing (type split, work-driven link, PoweredOn gating, FR-10-first).
docs/investigations/objc-ble-vs-reliable-architecture-2026-07-15.md Captures the ObjC Core comparison trail and resulting product decisions guiding ReliaBLE’s architecture.
docs/designs/discovered-peripheral-vs-peripheral-2026-07-15.md Documents rationale and chosen public API type split for external iOS/BLE review.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +3 to +5
**Date:** 2026-07-15
**Status:** Proposed product direction (not yet implemented)
**Audience:** iOS / BLE engineers reviewing ReliaBLE’s public API shape
Comment on lines +47 to +49
- ObjC docs: `Bluetooth/docs/BLE-Architecture.md`, `Swift6-Translation.md`
- ObjC Core: `CCBTCentralManager`, `CCBTPeripheral`, `CCBTCommand`
- ReliaBLE: `PRD.md` (incl. FR-10 from PR #47), `Sources/ReliaBLE/*`, DocC
@itsniper itsniper changed the title Lock PRD architecture: work-driven core and Peripheral split Update PRD architecture: work-driven core and Peripheral split Jul 18, 2026
@itsniper
itsniper merged commit 92cd8ad into master Jul 18, 2026
4 checks passed
@itsniper
itsniper deleted the docs/prd-architecture-lock-in branch July 18, 2026 22:49
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.

2 participants