Files
daily-notification-plugin/docs/FEEDBACK-RESPONSE-PLAN.md
Matthew Raymer 8509c65d68 fix(repo): Version unification and repo hygiene improvements
Version Unification:
- Updated README.md version from 2.2.0 → 1.0.11
- Updated src/definitions.ts version from 2.0.0 → 1.0.11
- Documented package.json as source of truth

Repo Hygiene:
- Added *.tar.gz and docs.tar.gz to .gitignore
- Added build/reports/ and .gradle/nb-cache/ to .gitignore
- Strengthened Android .gradle exclusions

Created docs/FEEDBACK-RESPONSE-PLAN.md with action plan for
addressing ChatGPT feedback.

Verification:
- Version headers now match package.json 
- .gitignore strengthened 
2025-12-23 07:54:48 +00:00

3.7 KiB

ChatGPT Feedback Response Plan

Purpose: Action plan to address feedback from ChatGPT code review
Owner: Development Team
Last Updated: 2025-12-23
Status: active


Priority 1: Quick Wins (High ROI, Low Risk)

1.1 Repo Hygiene IN PROGRESS

  • Check what build artifacts are tracked in git
  • Remove tracked build artifacts from git
  • Strengthen .gitignore (add *.tar.gz, build/reports/, etc.)
  • Verify package.json files field excludes build artifacts
  • Clean up any nested archives

1.2 Version Unification IN PROGRESS

  • Update README.md version from 2.2.0 → 1.0.11
  • Update src/definitions.ts version from 2.0.0 → 1.0.11
  • Add CI check script to verify version consistency
  • Document version policy: package.json is source of truth

Priority 2: Structural Improvements (Medium ROI, Medium Risk)

2.1 Native Plugin Refactoring

  • Analyze DailyNotificationPlugin.kt (~2,782 lines) - extract services
  • Analyze DailyNotificationPlugin.swift (~2,047 lines) - extract services
  • Create service extraction plan:
    • SchedulerService
    • PermissionService
    • Power/ExactAlarmService
    • ReactivationService
    • RollingWindowService
    • Storage/StateRepository
    • FetcherBridge
  • Implement refactoring in small, mergeable batches

2.2 TODO Classification

  • Audit all TODOs/FIXMEs/HACKs (found 34 instances)
  • Classify into:
    • Must ship (correctness, rate-limits, TTL, scheduling)
    • Nice-to-have (perf metrics, stats, diagnostics)
    • Future (Phase 2)
  • Create issues for "must ship" items
  • Move "Phase 2" items behind feature flags or to planning docs

Priority 3: CI/CD Infrastructure (High ROI, Low Risk)

3.1 CI Workflows

  • Create .github/workflows/ci.yml:
    • Node/TS: lint, typecheck, unit tests, build, npm pack check
    • Android: ./gradlew test + lint + assembleDebug
    • iOS: xcodebuild test (macOS runner)
  • Add merge gates on CI passing
  • Document CI setup in ci/README.md

3.2 Test Coverage

  • Identify critical paths needing tests:
    • Backoff policy correctness
    • Idempotency key behavior
    • Watermark monotonicity
    • TTL-at-fire logic
    • Rolling window / rate-limit counters
    • Permission flows (Android 13+, exact alarm, battery optimization)

Priority 4: Packaging & Workspace (Medium ROI, Low Risk)

4.1 Workspace Package Dist

  • Check if packages/polling-contracts/dist/ is committed
  • If committed, remove from git
  • Add prepack script to build subpackage before publish
  • Update package.json files to control publishing

Priority 5: Documentation (Low ROI, Low Risk)

5.1 Documentation Consolidation

  • Update README.md with clear entry points:
    • Install
    • Minimal usage example
    • Platform setup (Android/iOS)
    • Troubleshooting link
    • Architecture link
  • Add Compatibility Matrix:
    • Capacitor versions supported
    • Android minSdk/targetSdk
    • iOS min version
    • Exact alarm behavior notes per Android version
  • Add Behavioral Contracts section:
    • Guaranteed behaviors (monotonic watermark, idempotency, TTL)
    • Best-effort behaviors (delivery in Doze, background fetch timing)

Execution Order

  1. Week 1: Quick wins (Repo hygiene, Version unification)
  2. Week 2: CI/CD infrastructure
  3. Week 3-4: Native plugin refactoring (in batches)
  4. Week 5: TODO classification and cleanup
  5. Week 6: Documentation improvements

See also: