Skip to content

feat: add the household task workspace (#23) - #29

Open
efraespada wants to merge 19 commits into
developfrom
feature/23-complete-relative-recurrence-lifecycle-and-protected-calendar-after-the-execution-checkpoint
Open

efraespada wants to merge 19 commits into
developfrom
feature/23-complete-relative-recurrence-lifecycle-and-protected-calendar-after-the-execution-checkpoint

Conversation

@efraespada

@efraespada efraespada commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Household members can now create, claim, complete and review real tasks from the English/Spanish UI. Tasks open by default; household administration remains available. The owner has exercised Edge.9 through actual HA Ingress. This prerequisite increment also establishes pure recurrence closure policy, bounded original source observations and atomic initial relative work; it does not complete the retained recurrence/calendar feature.

Refs #23

Behavior

  • Bounded task creation/list/detail, current-participant claiming and completion, adult approval/rejection and reasoned reopening of the current cycle.

  • Current-authorized original request recovery by GET after lost replies, preserving actor/action/key and recorded task grants independently of operation browsing.

  • Unicode code-point limits preserve invalid drafts and exact astral-character bounds. Reject/reopen stay disabled for blank reasons; approval may omit a reason.

  • Exact linked-material quantities without fabricated stock, points or delivery. Technical references and resolved requests are optional details.

  • Immutable consumer-cycle closure policy survives generation/verification changes without closing human work. Rejection/reopening preserves started downstream work and requires review.

  • Composition-scoped source reads merge bounded current and retained historical originals by stable position, without lookahead or skipped facts. Genuine restore tests cover later approval/reopening and an absent live cycle. This reader grants no successor effect and stores no consumer progress.

  • Atomic initial relative work commits the actual occurrence, immutable slot, original receipt/audit/outbox and continuation together. Replay and compatible historical absence never recreate a prior effect; current source/scope and manual-work races are checked in the writer. This service is not yet wired into maintenance, API or UI.

  • Closed relative lifecycle storage encoding preserves full original installation/rule/cycle/operation/successor snapshots and rejects canonical nested corruption, unknown fields/versions and noncanonical bytes without defaults. This codec has no SQL table or authority; durable persistence/consumer wiring remains pending.

Verification and package identity

  • Current backend: 4,616 tests, 155 runtime files, 10,742 statements and 3,022 branches; 100% globally and per module, independently source-audited. Strict types and Clean Architecture pass.
  • Current frontend: 1,512 Chromium tests; all four coverage metrics 100% per authored runtime file. The latest frontend correction passed all ten compiled task journeys in both deployments. The preceding full campaign passed 99 entry/administration/task journeys and 43 catalog scenarios.
  • New recurrence scope: 64 closed storage-codec cases, 51 initial-materialization cases, 61 pure closure cases and 29 original-source cases; the combined new/existing source-event campaign passed 75 cases. Every genuine schema-9 fixture and retained owner hash is unchanged.
  • Pinned Edge.9 installers passed four exact-file/listener/restart/upgrade/replay/restore cases plus 44 household/task browser journeys per CPU, amd64 and aarch64, without skipped/unexpected/flaky results. Isolated HA/Supervisor transports are fictional.
  • Edge.9 remains fixed to source 93d7d77 and its exact archive/151 Python/four UI fingerprints. Later reason-button and recurrence-source changes are in the current source wheel, not silently included in the installed preview. Schema remains 9; no added permission or host exposure.
  • The source wheel after c6c2924 matches all 155 Python modules and four compiled UI files, SHA-256 e928f2a8ba749e75ea8e36b898cb48e97fbca8847e11d88b1898b0d13e15fdc0; no current installed-image execution is claimed.
  • Native reassessment at 8d2742e completed all 10/10 partitions with complete context and zero candidate/open/reopened/unknown/verification-required findings, automatically clearing a demonstrated Python 3.14 syntax false positive. No finding was manually resolved or dismissed. Native review at 8654b8a also completes all 11/11 partitions with complete context and zero candidate/open/reopened/unknown/verification-required findings.

The aarch64 hosted image job at 8d2742e exposed a browser response-body retrieval failure in the reopening assertion. The 8654b8a test-only correction retains actual upstream bytes before forwarding the same response, asserts exactly one POST and preserves the cycle/SQLite checks. All 44 local household/task browser journeys pass against the exact aarch64 image sha256:a29e09738084d5573c71b9606fbafe63741f068e56a454ccc8fa18880a3f1301, with all 154 Python and four UI payloads matching the source wheel; zero skips/flakes/unexpected results and no surviving fixture containers. Six targeted browser executions, strict frontend types and 181 tooling tests at 100% supported coverage also pass. CI now always retains per-CPU browser evidence and audits fixture retirement after failure, protected by two red-first contract tests. The preceding hosted CI Check run 41764627892 passes all ten jobs for 8654b8a using GitHub merge candidate c6c03bf. Both amd64 and aarch64 pass all 44 actual-image journeys, and their separate browser artifacts are retained. The separately reported Copilot progress scope-clause-limit still blocks its progress-publication check; it does not replace the passing product CI or complete this feature.

Adoption, roadmap and retained obligations

Actual owner testing created a development household, created/claimed/completed a task, reopened it with a reason, completed a second cycle, saved Spanish preferences and verified the completed detail after reload. This is separate private app data from Edge.7, not an in-place migration. A selected Edge.7 local backup was created/inspected; no actual backup restoration or owner two-account review is claimed. Agent observation is separate from required human UX review.

The owner clarified shared components and a common upper dashboard-style tab bar, with Domus-owned household composition. The roadmap now places shared-package extraction/adoption early in M2, tracked by #30, before expanding domain screens. The independent ha-ui repository is created and its official web setup is merged into master/develop. ha-ui#7 owns the shared library/adapters, ha-ui#8 prepares the proposed catalog prerequisite, and Domus#30 owns app adoption. An unpublished shared-package preview and production-backed Storybook are now implemented in ha-ui PR #10. Full library acceptance, publication and actual Gateway/Domus adoption remain pending. No Gateway implementation or Copilot resource was changed here.

All 93 retained recurrence/calendar cases, 18 refinements, original aliases, genuine schema-9 input and three immutable owners remain required. Durable source inbox/closure/invalidation writes, reviewed initial manual adoption, atomic successor materialization, mixed maintenance wiring/shared budgets, reviewed changes, calendar, points/participation, supplies, automation, HA companion surfaces and full Stable/Edge first-release acceptance remain open. This PR must not prematurely close that scope.

Actual Copilot issues are recorded upstream, including review-premise reports vypdev/copilot#879 and vypdev/copilot#880 and the source-context observation under vypdev/copilot#836. The separate progress scope-limit remains reported under vypdev/copilot#828. Work continues without changing Copilot.

The closure codec and roadmap clarification are later source increments. Their full local backend coverage/types/architecture pass; fresh hosted CI and complete native review are required for their current head. No schema change, closure-table write, new HA installation or completed recurrence/calendar acceptance is claimed.

@docs-page

docs-page Bot commented Nov 3, 2026

Copy link
Copy Markdown

To preview the documentation for this pull request, visit the following URL:

docs.page/vypdev/domus~29

Documentation is deployed and generated using docs.page

@vypbot vypbot added the state:ai-processing A Copilot agent is analyzing or working on the issue or change. label Nov 3, 2026
@vypbot
vypbot self-requested a review November 3, 2026 21:16
@vypbot vypbot added this to vypdev Nov 3, 2026
@vypbot vypbot moved this to In Progress in vypdev Nov 3, 2026
@vypbot
vypbot changed the base branch from develop to master November 3, 2026 21:16
@vypbot
vypbot changed the base branch from master to develop November 3, 2026 21:16
@vypbot vypbot added the size: XL Label to indicate a task of size XL label Nov 3, 2026

@vypbot vypbot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Current status: All findings originating in this review are resolved.
Last reconciled on 8c0a36c. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem when commit 1bf29de was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.

Findings

  • low: Representative view links point to a nonexistent destination — specs/recurrence-lifecycle-calendar.md:256

Comment thread specs/recurrence-lifecycle-calendar.md Resolved
@vypbot

vypbot commented Nov 3, 2026 •

Copy link
Copy Markdown

Bugbot: review complete

Current status: No active findings on 8c0a36c.

Pull request · Verified commit · Workflow run

@vypbot vypbot added state:changes-requested Review identified changes that are required. state:awaiting-issue-author The next action requires more information or changes from the issue author. and removed state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Nov 3, 2026
@vypbot vypbot added state:ai-processing A Copilot agent is analyzing or working on the issue or change. state:ready The change is ready for human approval or merge. state:awaiting-maintainer The next action requires a maintainer response or approval. and removed state:changes-requested Review identified changes that are required. state:awaiting-issue-author The next action requires more information or changes from the issue author. state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Nov 3, 2026
@efraespada

Copy link
Copy Markdown
Member Author

/copilot sync-branch --no-agent

…and-protected-calendar-after-the-execution-checkpoint
@vypbot

vypbot commented Nov 3, 2026

Copy link
Copy Markdown

Branch synchronized

develop was merged into feature/23-complete-relative-recurrence-lifecycle-and-protected-calendar-after-the-execution-checkpoint and pushed as a954ce091d19f6350d64eec759670d5a1fadcfb5.

0 verification checks passed.

@vypbot vypbot added state:changes-requested Review identified changes that are required. state:awaiting-issue-author The next action requires more information or changes from the issue author. and removed state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Nov 4, 2026
@vypbot vypbot added the state:ai-processing A Copilot agent is analyzing or working on the issue or change. label Nov 4, 2026
@vypbot vypbot added state:reviewing A pull request is being reviewed. state:ai-processing A Copilot agent is analyzing or working on the issue or change. state:changes-requested Review identified changes that are required. state:awaiting-issue-author The next action requires more information or changes from the issue author. and removed state:changes-requested Review identified changes that are required. state:awaiting-issue-author The next action requires more information or changes from the issue author. state:ai-processing A Copilot agent is analyzing or working on the issue or change. state:reviewing A pull request is being reviewed. labels Nov 4, 2026
@vypbot vypbot added the state:ai-processing A Copilot agent is analyzing or working on the issue or change. label Nov 4, 2026

@vypbot vypbot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Current status: All findings originating in this review are resolved.
Last reconciled on 8c0a36c. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem when commit 992f96b was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.

Findings

  • medium: Invalid exception-handler syntax prevents importing the module — backend/src/domus/application/recurrence_sources.py:52

@vypbot vypbot removed the state:ai-processing A Copilot agent is analyzing or working on the issue or change. label Nov 4, 2026
@vypbot vypbot added state:ai-processing A Copilot agent is analyzing or working on the issue or change. and removed state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Nov 4, 2026
@vypbot vypbot added state:ai-processing A Copilot agent is analyzing or working on the issue or change. and removed state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Nov 4, 2026
@vypbot vypbot removed the state:changes-requested Review identified changes that are required. label Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size: XXL Label to indicate a task of size XXL state:awaiting-maintainer The next action requires a maintainer response or approval. state:ready The change is ready for human approval or merge.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

✨🧑‍💻 - Complete relative recurrence lifecycle and protected calendar after the execution checkpoint

2 participants