Files
daily-notification-plugin/doc/progress/02-OPEN-QUESTIONS.md

2.2 KiB

Open Questions

Purpose: Questions and uncertainties discovered during implementation, with proposed answers and decisions.
Owner: Development Team
Last Updated: 2025-12-22
Status: active


Template

Q: [Question Title]

Context:
[What led to this question? What problem are we trying to solve?]

Files Involved:

  • path/to/file1.ts
  • path/to/file2.swift

Options:

  1. Option A: [Description]

    • Pros: [list]
    • Cons: [list]
  2. Option B: [Description]

    • Pros: [list]
    • Cons: [list]

Recommendation:
[Which option is recommended and why]

Decision:
[Final decision if made, or "Pending"]


Current Questions

No open questions currently. All architectural decisions have been made.


Closed Questions

Q: What is the authoritative CI entrypoint?

Context:
Need to establish a single source of truth for CI to avoid drift and ensure consistency.

Decision:
./ci/run.sh is canonical. It wraps ./scripts/verify.sh and provides a stable interface for:

  • CI runners
  • Release gates
  • Pre-merge checks
  • Git hooks (githooks/pre-push)
  • Makefile targets (make ci)

./scripts/verify.sh is an implementation detail/library function. External systems should call ./ci/run.sh.

Rationale:

  • Stable interface for automation
  • Clear separation: entrypoint vs implementation
  • Easy to add pre/post hooks in the future
  • Consistent exit codes and output format

Status: RESOLVED (2025-12-22)


Q: How to enforce core module purity?

Context:
Core module (src/core/) must remain platform-agnostic and portable. Need automated enforcement.

Decision:
Enforce via verify.sh:

  • Platform import blocking: comprehensive regex detects Node builtins, Capacitor, React
  • Export validation: Node-based check ensures package.json.exports['./core'] exists
  • Source checks run before build (works on clean checkouts)
  • Artifact checks run after build (validates build outputs)

Rationale:

  • Automated enforcement prevents regressions
  • Clear error messages guide developers
  • Policy encoded in tooling, not tribal knowledge

Status: RESOLVED (2025-12-22)


Last Updated: 2025-12-22