Skip to content

feat: Preview a manual household task automation (#98) - #99

Open
efraespada wants to merge 18 commits into
developfrom
feature/98-preview-a-manual-household-task-automation
Open

efraespada wants to merge 18 commits into
developfrom
feature/98-preview-a-manual-household-task-automation

Conversation

@efraespada

@efraespada efraespada commented Nov 11, 2026 •

Copy link
Copy Markdown
Member

Closes #98.

Changes

  • Preview one manual task proposal from Household settings. The optional condition checks current available stock against a product's replenishment minimum. The same bounded validator supports all, any and not conditions.
  • Recheck the current automation and task creation grants in one household snapshot. Preview creates no task, rule, receipt or outbox entry and changes no stock.
  • Keep the draft through a recoverable read failure and reload products on return from Inventory. Retire the draft when the verified household member changes.
  • Publish the two HTTP contracts and the seven qualification cases. Edge.31 pins runtime a8a28267808655f839b40e116aa8ed99c132390e and retains SQLite schema 31.

Verification

  • Installed 0.0.0-edge.29 in a disposable aarch64 Supervisor app. Verified English keyboard validation, draft retention, Spanish touch at 390 × 844, and matching and nonmatching stock conditions. No task was created; stock remained at two after the separate intake, and Family remained available. Removed the temporary app, its data and its source, restoring 14 installed apps and eight sources. Installed record.
  • Local frontend type checks, 1,734 Chromium unit tests with 100% coverage globally and per authored file, and the production build passed. Both compiled workspace journeys passed in Ingress and standalone. Chromium rejected 161 letters without clearing the draft and accepted all 160 supplementary Unicode characters.
  • All 5,346 backend tests passed locally on commit 4a1c22c, including 80 loopback cases rerun with socket access. The independent audit confirmed 100% of lines and branches in all 221 authored files (17,058 statements and 4,660 branches).
  • Nine package tests and the actual ARM64 image fingerprint test passed locally. The image matches all 221 Python files and four UI files declared in the artifact. The test and evidence commit 4a1c22c preserves the runtime and package tested in Supervisor.
  • CI commit 3d14248 extends the backend job to 25 minutes and places SQLite fixtures in the temporary directory for each job. The remote backend job passed all 5,346 tests and the 100% coverage audit.
  • Test commit 1b4dc0a gives instrumented Home Assistant Core up to 120 seconds and explicitly removes the probe after an attached Docker command times out. The pinned amd64 Core case and the ARM64 Core cases passed locally. A forced amd64 timeout verified that Docker removed both the probe and its temporary network.
  • CI commit 00a7d27 sets TMPDIR on the Vitest and Chromium steps. Vitest writes its coverage lock in the system temporary directory, which reported ENOSPC on Ubuntu. All three Vitest suites passed locally and on that CI run with the runner's per-job temporary directory.
  • On commit 00a7d27, CI and Branch Sync passed. Backend passed 5,346 tests and the independent 100% coverage audit. Frontend passed 1,734 tests with 100% coverage and 109 compiled Chromium journeys. Each image architecture passed 46 container tests and 54 Chromium journeys. CI · Branch Sync.
  • The title field uses 320 UTF-16 code units to accommodate the 160 Unicode code points permitted by the task contract. Both compiled browser journeys accept 160 supplementary characters and reject 161 ASCII characters. Review evidence.
  • Both Copilot workflows failed while provisioning the isolated Codex runtime (official-installer-script-exit-23-unknown). They stopped before code review and commit verification. The separate CLI diagnostic passed on Ubuntu runner 1, where the review retry still failed during provisioning. Review · Commit · CLI diagnostic.

Edge.31 candidate

  • Edge.31 pins runtime a8a28267808655f839b40e116aa8ed99c132390e. The ARM64 build matched all 221 Python and four UI file hashes in the artifact. The Python file hashes are identical to Edge.30. Local frontend type checks, 1,734 Chromium tests with 100% coverage globally and per authored file, production build, nine package tests and documentation checks passed.
  • The installed Edge.30 walkthrough verified that a catalog outage leaves an editable title and usable preview, and that retry restores the catalog, preserves the title and clears the prior result. It also verified the Spanish touch journey below and at the configured minimum, empty Tasks and unchanged stock after preview. The temporary app, data and source were removed. Installed Edge.30 record.
  • Edge.31 hides the empty product selector during that outage. The Edge.30 CI run exhausted the 360-second global Chromium limit after 108 passing journeys while the last standalone journey was running. Edge.31 keeps the individual journey timeouts and increases the global suite budget to 450 seconds. Previous frontend job · Current CI.
  • Exact wrapper ed433dbca98fa78dbad08588291eaba812b9363d. CI · Branch Sync · Review · Commit verification.
  • All 109 compiled Chromium journeys completed locally in 4 minutes 30 seconds, including both workspace navigation journeys with the catalog outage and retry.
  • Supervisor reported 0.0.0-edge.31 for the disposable 904f4e29_domus_edge app. In Spanish at 390 × 844, blocking only the catalog request left the title and preview available and hid the empty selector. Touch preview returned a proposal. After restoring the request, touch retry restored the product selector and preserved the title. A stock condition worked with touch in Spanish and keyboard input in English. Tasks stayed empty and available stock stayed at zero. Removed the temporary app, its private data, configuration and source and verified the original app list and eight sources.
  • CI and Branch Sync passed for the exact wrapper. Backend ran 5,346 tests and passed the independent 100% coverage audit. Frontend ran 1,734 tests at 100% coverage per authored file and completed all 109 compiled Chromium journeys. Each architecture passed 46 actual container tests and 54 Chromium journeys in the image. AMD64 · ARM64.
  • Review and commit verification both stopped during isolated Codex provisioning with official-installer-script-exit-23-unknown and configuration.unsupported. The actual review and commit verification have yet to run successfully on this wrapper.

Rerun with the preinstalled Codex CLI

The temporary repository variable AGENT_EXECUTABLE=codex was used for both targeted reruns on ed433dbca98fa78dbad08588291eaba812b9363d and removed after both ended.

  • Review passed executable provisioning and reached its diff partitions. The agent preflight then failed at the artifacts stage with agent.policy-rejected. The underlying system error was omitted from the job log. Review attempt 2.
  • Commit passed executable provisioning and reached verification of the selected SDD. It returned validation.evidence-unavailable. The selected publication commit remains an ancestor and the specification blob is unchanged, as recorded below. Commit attempt 2.

Copilot verification

The selected specification was published in 89a65fbdafd1d99efab1c6c74459718c898160d8, an ancestor of the final head. Its blob 2fc5a668d5510b13c53f28c9abda393886720d92 is unchanged. The earlier Commit validation selected the separate preparation status comment as a newer gate card; the reproduction is tracked in vypdev/copilot#961.

@docs-page

docs-page Bot commented Nov 11, 2026

Copy link
Copy Markdown

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

docs.page/vypdev/domus~99

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 11, 2026
@vypbot vypbot changed the title Preview a manual household task automation feat: Preview a manual household task automation (#98) Nov 11, 2026
@vypbot vypbot added the size: XXL Label to indicate a task of size XXL label Nov 11, 2026
@vypbot
vypbot self-requested a review November 11, 2026 11:20
@vypbot vypbot added this to vypdev Nov 11, 2026
@vypbot vypbot moved this to In Progress in vypdev Nov 11, 2026
@vypbot
vypbot changed the base branch from develop to master November 11, 2026 11:20
@efraespada efraespada linked an issue Nov 11, 2026 that may be closed by this pull request
1 task done
@vypbot
vypbot changed the base branch from master to develop November 11, 2026 11:20

@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 00550a0. See aggregate Bugbot status.

🤖 Bugbot review snapshot

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

Findings

  • high: Recursive condition annotations reference an undefined alias — backend/src/domus/entrypoints/automation_http.py:45

@vypbot

vypbot commented Nov 11, 2026 •

Copy link
Copy Markdown

Bugbot: 1 finding needs attention

Current status: 1 finding requires attention on 00550a0.

Action: Review the linked threads or comment /copilot fix all.

Findings

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 11, 2026
@vypbot vypbot added the state:ai-processing A Copilot agent is analyzing or working on the issue or change. label Nov 11, 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: 1 finding originating in this review requires attention.
Last reconciled on 00550a0. See aggregate Bugbot status.

🤖 Bugbot review snapshot

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

Findings

  • low: Title field allows twice the supported length — frontend/src/presentation/domus-automation-preview.ts:134

@vypbot vypbot removed the state:ai-processing A Copilot agent is analyzing or working on the issue or change. label Nov 11, 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 11, 2026
@efraespada

efraespada commented Nov 11, 2026 •

Copy link
Copy Markdown
Member Author

Installed acceptance for head 4dae8e5c275afe6527bcc8fede14150814fb5d04 and Edge.18 runtime e8fd8324012f45b2bb0abdfac857563c5ecfd29c.

  • Installed Edge.17 from the managed branch in a disposable Home Assistant Supervisor app. English keyboard input confirmed title validation, field focus and the unconditional task proposal.
  • The initial visit exposed a cached product list after returning from Inventory. Updated the same Supervisor app to Edge.18 and confirmed its version before restarting. The disposable household and its first product persisted across the update.
  • Opened the corrected preview, entered a title, registered a second product in Inventory and configured a minimum of two. Returning to Household preserved the title and showed the newly registered product. In the 390 px Spanish view, the preview proposed the task below the minimum and showed no action after recording two units. The Tasks workspace remained empty.
  • Removed the disposable app and its data, removed its specific temporary repository source, restored the browser viewport, and checked that the original repository list was present.
  • Exact Edge.18 package tests passed in local amd64 and ARM64 containers. Each verified the reviewed runtime and UI files, Ingress authority and restart, standalone delivery, and the actual Edge.5 migration and pre-upgrade restore path.

CI Check on the same head passed all application and architecture jobs, including 54 household journeys in the actual image on each architecture.

The exact published SDD bytes are present on this head. Commit remains blocked by the status-card selection defect tracked in vypdev/copilot#961.

@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 12, 2026
@vypbot vypbot added state:reviewing A pull request is being reviewed. 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. labels Nov 12, 2026
@vypbot vypbot added state:ai-processing A Copilot agent is analyzing or working on the issue or change. state:blocked The workflow is blocked and needs human input. state:awaiting-maintainer The next action requires a maintainer response or approval. and removed state:reviewing A pull request is being reviewed. state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Nov 12, 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:blocked The workflow is blocked and needs human input.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

✨🧑‍💻 - Preview a manual household task automation

2 participants