Skip to content

✨🧑‍💻 - Implement durable recurrence execution and calendar queries after the planning foundation #20

Description

@efraespada

Description of the idea or improvement

Continue the complete durable recurrence/calendar backend contract from issue #17 after its owner-approved temporal/rule/planning checkpoint in PR #19. Preserve specs/recurrence-calendar.md and specs/recurrence-execution-foundation.md, all eight RCE requirements, all52 companion cases and all37 original owner cases. The first all-domain release, complete UI/HA calendar surfaces and both deployments remain required; this continuation does not declare them accepted.

Implement current-authorized scheduled creation and reviewed attachment without duplicating an existing first task, persistent fixed and completion-relative schedules, schema8, unique nominal slots, atomic tasks/progress/receipts/audit/outbox, bounded production materialization in native and standalone, lifecycle inbox/cycle closure, restart/concurrency/crash behavior, historical restore non-recreation, pause/resume/skip/reschedule and preview/apply, genuine task classification/date-only/planned/deadline facts, bounded protected calendar queries and strict HTTP contracts. Retain the existing actual-work relative anchor, configured single fold, first-valid gap/whole-date adjustment and collision-review behavior.

SQLite schema8 still belongs to recurrence execution; participant administration follows only after the actual schema8 merge with schema9. The already-merged model checkpoints did not implement either migration. Preserve supported historical schemas1..7, original fixture bytes, ownership/channel/generation fences, original receipts and compatible whole application/database rollback. Keep actual technical maintenance capability separate from current human proof and all human permissions; no request selects its principal, installation or channel. Provider outages, stale previews and original-result recovery retain current authorization and explicit unavailable/conflict/historical states.

All newly implemented first-party source requires tests first and complete global/per-module coverage, strict typing, Clean Architecture/import/privacy negatives, real SQLite concurrency/rollback/restart/restoration tests, applicable browser/OpenAPI/image tests, and every-PR CI Check. Merge requires no unresolved Bugbot finding. Copilot defects are reported upstream rather than modifying Copilot resources/configuration or relaxing scope/coverage. Existing gateway remains untouched; Domus later exposes only its services/entities.

Current limitations or challenges

Verified develop3131810082760a98ee4af66f11bb65eaac49cc3b, tree c18c57b60e20ccbc83d61464ab5fe623c8ed1713, contains the owner-approved merges #18 and #19. Its tree is byte-identical to the reviewed/tested synced head580ab11. The combined source passes3398 backend tests/117 authored modules at100% statement and branch coverage; this is foundation evidence, not recurrence execution acceptance. The merged foundation has strict rule validation, finite original frequency periods, timezone resolution and side-effect-free planning. The actual database remains schema7. It has no recurrence tables, durable materializer, lifecycle consumer, calendar query/API or composed runner. Planning cursors are values, not persisted execution proof. Current immutable owner Edge.5 images do not invoke these modules.

Five initial SQLite source/test/fixture files were prepared before the owner-requested checkpoint merge and are preserved privately with exact base/source hashes and a Git stash. They have only an initial expected missing-symbol test failure and are not claimed implemented, passing or publishable. Resume them only on this continuation's exact Action-created admitted branch after its required SDD update. The new synthetic schema7 fixture was generated under source64908ee before DDL changes (SHA256 c5ca7b2383e9f75561a59b9ea0bbbd98736ae400b19e735b5a6fdf90ca139ea5); existing1..6 fixtures stay immutable.

Expected impact

Configured responsibilities become actual durable household tasks, with explicit bounded progress and truthful calendar facts across both persistent runtimes. Restart, concurrent workers and compatible restoration cannot duplicate already-processed work. Subsequent calendar screens and HA entities consume the same owned scheduling model.

Additional context or comments

This is the unfinished portion of #17, not a replacement or reduction of its accepted requirements. Reference the existing companion rather than duplicating the owner. No new owner decision is pending. Authoritative source paths include backend/src/domus/application/fixed_recurrence.py, backend/src/domus/application/recurrence_ports.py, backend/src/domus/domain/recurrence_rules.py, backend/src/domus/domain/recurrence_planning.py, backend/src/domus/domain/nominal_recurrence.py, backend/src/domus/infrastructure/recurrence_time.py, backend/src/domus/infrastructure/sqlite.py and the existing task/source/restore seams. Declare actual new implementation paths as create before committing them. The Action exclusively owns admission and remote branch creation/synchronization. No owner HA update, deployment, release/tag or Copilot change is implied by starting this work.

Use the actual immutable development base above, not bootstrap master. This is a continuation of now-closed #17 after an explicitly partial checkpoint merge; preserve every unfinished owning requirement rather than treating its closed/100% lifecycle labels as full feature acceptance. Publication recovery decision, explicitly approved by the maintainer: create the companion specs/recurrence-storage-continuation.md under the existing recurrence-calendar capability. Retain specs/recurrence-execution-foundation.md and specs/recurrence-calendar.md verbatim. The proper bounded update was supplied after a terminal size failure, but its one normal retry also exhausted the 18,000-character response bound. Use the supported new companion route rather than another unchanged appendix retry. The new companion carries the actual current baseline/path declarations and four independent storage refinements; it references all eight retained RCE requirements, all 52 retained companion cases and all 37 original owner cases, which remain required and must not be redefined as new cases. Full continuation scope remains exactly as above. All retained specifications and the new companion remain Draft until real implementation acceptance. The complete proposed raw companion is supplied in the issue comments as review input; normal Action validation, catalog registration, publication and exact managed-branch readiness remain mandatory.

Drafting notation clarification after the terminal repository-path failure in run 41351108619: preserve the explicitly approved companion route. In inline code, use slash-bearing text only for exact existing or section-15-declared repository files. Write deployment alternatives (native and standalone, Stable and Edge, UI and HA), schema ranges and future parent directories as ordinary prose. If an HTTP/MIME example is necessary, use a method/header label with whitespace (for example Content-Type: application/json), without changing actual runtime URL semantics. Do not invent file globs/ranges or cite an undeclared future module. Use the exact current/proposed paths from the complete companion's section 15; any additional intended new file must first be declared as create there. This changes documentation notation only: all retained scope, four new cases, 52 companion cases and 37 original owner cases remain required. Original modules reproduced the known protocol-notation classification independently, but the rejected generated candidate remains unavailable; its actual offending reference is unknown. No validator or runtime behavior is being changed.

Activity

  1. added
    enhancementNew feature or request
    featureLabel to manage feature branches
    priority: lowLabel to indicate a priority low
    on Nov 1, 2026
  2. added
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    on Nov 1, 2026
  3. added theissue type on Nov 1, 2026
  4. moved this to Todo in vypdevon Nov 1, 2026
  5. changed the title [-]Implement durable recurrence execution and calendar queries after the planning foundation[/-] [+]✨ - Implement durable recurrence execution and calendar queries after the planning foundation[/+] on Nov 1, 2026
  6. removed
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    on Nov 1, 2026
  7. vypbot commented on Nov 1, 2026

    @vypbot

    Hi! I’m @vypbot, the Copilot assistant for this repository.

    I can answer questions, explain the codebase, propose implementation and test plans, review issues and pull requests for potential bugs or security problems, and help authorized maintainers apply changes.

    Try /copilot help to see the available commands, or mention @vypbot with your question.

  8. added
    SDDAn SDD update is required before branch work.
    on Nov 1, 2026
  9. vypbot commented on Nov 1, 2026

    @vypbot

    SDD preparation status

    The specification publication was verified on the linked branch. Branch readiness remains subject to its separate checks.

  10. added
    state:blockedThe workflow is blocked and needs human input.
    on Nov 1, 2026
  11. 43 remaining items

  12. added
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    and removed
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    on Nov 2, 2026
  13. efraespada commented on Nov 2, 2026

    @efraespada
    MemberAuthor

    The owner now requests merging available verified work when product CI is green and Bugbot has no open findings. PR #22 at ed7cd14 meets that checkpoint: all applicable product CI suites, both real images and 4,031 backend tests/100% supported global/per-module coverage pass; native code partitions15/15 have no open/reopened findings. The previously authorized, reported Copilot capacity/context exceptions remain explicit under vypdev/copilot#851/#843; the reproduced false positive is under#855.

    Before merge, every unfinished requirement from this issue is carried into #23, including all eight RCE requirements, all52 companion/all37 owner cases, four storage obligations, actual relative source/materialization/closure/restore, mixed budgets, protected calendar/review and full UI/HA/Stable-Edge/all-domain acceptance. No case is counted as complete merely because this issue's Action lifecycle closes.

    This is a verified checkpoint merge, not complete #20/product acceptance. Actual schema8 now makes the agreed #21 schema9 prerequisite available after merge; #23 must not take that version or bypass Action admission. Existing gateway/Copilot code and owner HA installation remain unchanged.

  14. vypbot commented on Nov 2, 2026

    @vypbot

    Issue closed: synchronization recommendation retired

    No branch synchronization is required for this closed issue.

    The previous recommendation is historical. Issue closure does not certify that the branches are synchronized.

  15. moved this from In Progress to Done in vypdevon Nov 2, 2026
  16. added
    100%Progress: 100%
    and removed
    state:blockedThe workflow is blocked and needs human input.
    state:awaiting-maintainerThe next action requires a maintainer response or approval.
    on Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

100%Progress: 100%SDDAn SDD update is required before branch work.branchedThe linked branch and required SDD commit are verified.enhancementNew feature or requestfeatureLabel to manage feature branchespriority: lowLabel to indicate a priority lowsize: XXLLabel to indicate a task of size XXL

Projects

  • Status
    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions