PolicyVector Mobile 2.1 for iPhone and iPad. Complete changes since 2.0.3 (build 192), through build 209.
Agency support and ownership
- Add Sacramento Metropolitan Fire District SOG and Policy imports with agency-specific recognition, review dates, headings, and title-only navigation where appropriate.
- Add Sacramento Police Department imports for General Orders, Reference Manuals, Roll Call Training Bulletins, Departmental Memorandums, office orders, Communications Directives, and other documents. Recognize identifiers, dates, wrapped titles, older bulletin numbers, and nested headings without splitting manuals into unrelated policies.
- Assign imported documents to the bound workspace’s agency. Shared category names, including Miscellaneous, do not confer ownership. Apply agency checks to local libraries, cached categories, study collections, bookmarks, packages, and outgoing sync records.
- Preserve known agency ownership when older sync records omit it. Keep pending study uploads visible when their source PDF is not yet available.
- Enable Metro Fire and SacPD Live Sync with compatible desktop and Mobile clients, including policies, outlines, crops, flashcards, bookmarks, and study progress. Retry transfers without creating another copy of the same policy.
- Allow the authenticated workspace owner to complete Delete Live Sync and Start Over after local agency selection changes, using the companion server fix.
- Restrict CHP automatic confidential-highlight detection to CHP imports, including resumed and synced imports. Other agencies’ shading no longer triggers CHP suggestions; manual redaction remains available.
Import organization and decisions
- Replace crowded missing-details rows with clearer prompts, Review Next, and Import Ready actions.
- Group imports by source folder by default, trim redundant common folder roots, and sort chapters and memos naturally. Collapse groups or switch to priority organization.
- Apply group actions to undecided changed documents and import a group’s ready documents without overwriting existing decisions. Missing metadata and ambiguous matches still require individual review.
- On wide layouts, show approval checkboxes, Approve visible, Hide unchanged, folder/priority controls, per-document version menus, and revision dates.
- Keep different policies separate when only generic filenames match. Continue recognizing identical file hashes and recognized policy identifiers. Clear stale duplicate decisions if a pending document no longer matches its earlier candidate.
- Discard a pending batch from comparison with confirmation. Policies already imported remain in the library.
Saved and incoming comparisons
- Open PDF comparisons full screen. Use side-by-side pages on wider layouts and a draggable comparison divider on narrow phones.
- Mark removed text red and added text green using PDF text positions or available cached OCR positions. Comparison reuses prepared text rather than rerunning OCR; layout-only and image changes still require visual review.
- Scroll and zoom both versions together. Fix the divider gesture intercepting vertical scrolling; dragging the divider horizontally remains available.
- Align Saved and Incoming headings over their pages, show revision dates when known, and provide a page picker, page total, and Next Change navigation.
- On wider layouts, choose Keep saved, Use incoming, or Keep both directly. Compact layouts retain the version picker. Save an explicit decision; leaving review without saving does not change it.
- Retain the replacement warning: replacing a policy removes its outlines and bookmarks, including bookmark notes. Other study materials remain. Comparison does not modify either source PDF or its annotations.
Chart snips and outlines
- Crop any PDF area in place with a scissors-and-dashed-rectangle control. Adjust the rectangle by dragging; optional numeric accessibility controls remain collapsed.
- Preserve the crop’s PDF dimensions instead of expanding to fill the outline. Shrink only when needed for available width or the outline height limit, preserve aspect ratio, and center the image.
- Retain the source page link and order snips by source page and position alongside text.
- Keep original crop metadata in individual and grouped outlines. Refresh previews after crop changes and correct missing images in lower-level outlines.
- Open a zoomable crop when tapped, with a Done control returning to the outline. Opening the source PDF remains a separate action.
Scanned pages, metadata, and titles
- Share OCR improvements across agencies to preserve paragraph boundaries and nearby text fragments. Keep agency-specific outline rules separate.
- Improve SacPD Report Writing Manual headings and Roman-numeral sections while reducing repeated page/date headers. Reprocessing or resuming eligible scans refreshes older extraction results; original PDFs and saved study material are preserved.
- Improve Metro Fire numbered headings and review-date extraction. Use review date as the corresponding revision metadata without requiring a responsible office.
- Prevent SacPD policy body paragraphs from becoming document titles. Repair eligible generated titles without overwriting user-edited titles.
- Normalize display capitalization across library and study views while retaining acronyms, policy numbers, and hyphenated identifiers.
AI defaults and expense estimates
- Default AI practice-test generation to GPT-6.1 Terra.
- Migrate saved OpenAI model selections once, including customized selections. Preserve later choices across restarts, model refreshes, and API-key replacement. Retain saved keys, agency settings, and study material.
- Estimate API expense using reasoning output, cached input, cache writes, long requests, retries, and available usage history. After generation, show expense calculated from reported usage when available. Estimates are not invoices or spending limits.
App Store verification
- Add Verify with App Store to request fresh StoreKit verification and allow Apple account sign-in when required.
- Replace the generic connection warning with clearer recovery guidance and expandable error details. Avoid simultaneous verification attempts across windows and allow retry after cancellation.
- Keep App Store and TestFlight purchase environments separate from production PolicyVector account access.
Release scope
- These notes consolidate the work through build 209; intermediate TestFlight numbers remain in the internal changelog and release evidence.
- The separately reported large-batch memory crash is not claimed fixed here. Physical-device acceptance of the latest import review remains part of release verification.