Skip to content

πŸ”§πŸ§‘β€πŸ’» - Bootstrap reproducible toolchains architecture checks and CI CheckΒ #4

Description

@efraespada

Is there an existing issue for this?

  • I have searched the existing issues.

What area does this task affect?

CI/CD

Task description

Start the M1 development foundation after the documentation foundation in PR #3 was merged into develop at 0833f63.

Establish reproducible development tooling and executable quality gates before domain application work:

  1. Add reviewed Python/uv and Node/pnpm workspace configuration, dependency locks and documented setup/check commands for the selected Python/FastAPI and Lit/TypeScript/Vite direction.
  2. Establish meaningful tests for first-party tooling from its first implementation. Enforce 100% supported first-party coverage metrics and keep tooling, backend, frontend and HA integration scope explicit; do not describe an absent suite as executed application coverage.
  3. Configure executable Clean Architecture import/cycle checks and exercise allowed/forbidden fixture projects so the checks demonstrably reject boundary violations rather than merely matching directory names.
  4. Add a project-owned GitHub workflow named CI Check. Run every applicable suite on every PR head update, including drafts and documentation-only updates, without path filters. A required aggregate fails when a required job fails, is cancelled or is unexpectedly skipped. Use locked installs and read-only credentials; publication and deployment are separate operations.
  5. Update the contributor guide, relevant SDD evidence and catalog paths only where real tooling, entrypoints and tests now exist. Keep all other prospective capabilities truthful and Draft.

This task owns internal dependencies, test infrastructure, architecture enforcement and CI. Household use cases, HA authentication/administrator proof, native HA runtime integration, UI product workflows and channel publication remain sequenced implementation work under their owning contracts.

Current issues or inefficiencies

The merged repository has eleven Draft SDDs but no application development workspace, dependency locks, test commands or project CI Check workflow. The owner requires Clean Architecture and maximum meaningful coverage from the first implemented code, so these controls must exist before domain implementation expands.

Copilot's separate proposed-capability catalog limitation and progress-assessment diagnostics are already reported upstream. They remain visible constraints and are not grounds to edit or weaken Copilot.

Expected impact

A contributor can reproduce the environment from locked dependencies, execute the same documented checks locally and in CI, and see forbidden dependency/cycle fixtures fail. Every implemented first-party tooling behavior has meaningful tests and supported coverage is enforced. Future backend, frontend and HA integration work inherits an executable foundation while the full first-release scope remains intact.

Acceptance:

  • Clean checkout setup and verification commands run successfully with recorded runtime/dependency versions.
  • Architecture fixtures distinguish valid dependency direction, forbidden framework/adapter imports and cycles.
  • First-party tooling has 100% supported line/branch or statement/function metrics as exposed by the selected tools, without broad exclusions or dummy application code.
  • CI Check is a separate project workflow with every-PR triggering, complete applicable checks and a strict aggregate.
  • Copilot implementation, installed workflows/forms/profiles/guidance and the existing gateway are unchanged.
  • Documentation distinguishes implemented tooling evidence from the remaining prospective product and planned acceptance cases.

Alternatives considered

Use the already-selected runtime and frontend families, with uv/pnpm locks and established test/import-analysis tools. Keep the first task focused on development infrastructure; domain capability implementation follows its own SDD and lifecycle.

Additional context or comments

The owner explicitly authorized merging PR #3 and beginning implementation. All repository content, code, tests and issue text are English. Spanish is used only in conversation with the owner. Follow the installed chore form and Action-managed branch lifecycle; no invented branch, force-push, Copilot change, release or deployment is part of this task.

Activity

  1. added
    choreLabel to manage chore branches
    maintenanceLabel to manage maintenance branches
    priority: lowLabel to indicate a priority low
    on Oct 29, 2026
  2. added
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    on Oct 29, 2026
  3. moved this to Todo in vypdevon Oct 29, 2026
  4. changed the title [-]Bootstrap reproducible toolchains architecture checks and CI Check[/-] [+]πŸ”§ - Bootstrap reproducible toolchains architecture checks and CI Check[/+] on Oct 29, 2026
  5. removed
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    on Oct 29, 2026
  6. vypbot commented on Oct 29, 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.

  7. moved this from Todo to In Progress in vypdevon Oct 29, 2026
  8. added
    branchedThe linked branch and required SDD commit are verified.
    on Oct 29, 2026
  9. changed the title [-]πŸ”§ - Bootstrap reproducible toolchains architecture checks and CI Check[/-] [+]πŸ”§πŸ§‘β€πŸ’» - Bootstrap reproducible toolchains architecture checks and CI Check[/+] on Oct 29, 2026
  10. added
    state:workingWork can proceed on the verified branch or without a branch.
    on Oct 29, 2026
  11. vypbot commented on Oct 29, 2026

    @vypbot

    Implementation plan

    Current status: Ready to start. No action is required from maintainers before implementation.

    1. Define the development workspace
      • Add reviewed Python/uv and Node/pnpm configuration with locked dependencies and recorded runtime versions.
      • Document reproducible setup and check commands for the selected FastAPI and Lit/TypeScript/Vite direction.
    2. Add tested first-party tooling
      • Implement tooling with meaningful tests from the start and enforce 100% supported coverage metrics.
      • Keep tooling, backend, frontend, and Home Assistant integration coverage scopes explicit; do not report absent suites as executed coverage.
    3. Enforce architecture boundaries
      • Add executable Clean Architecture import and cycle checks.
      • Exercise allowed and forbidden fixture projects, including boundary violations, to demonstrate the checks reject invalid dependencies.
    4. Add the CI Check workflow
      • Run every applicable suite on every pull request head update, including drafts and documentation-only changes, without path filters.
      • Use locked installs and read-only credentials; make the required aggregate fail on failed, cancelled, or unexpectedly skipped jobs.
    5. Update evidence and contributor guidance
      • Document the actual setup, entrypoints, checks, and implemented tooling evidence in the contributor guide and relevant SDDs.
      • Update catalog paths only where tooling, entrypoints, and tests exist; keep prospective product capabilities and acceptance cases marked Draft.

    Acceptance: A clean checkout can run the documented locked setup and checks; allowed architecture fixtures pass while forbidden imports and cycles fail; first-party tooling meets its supported 100% coverage metrics; and the separate CI Check workflow runs applicable checks on every pull request update with a strict aggregate. Documentation accurately distinguishes implemented tooling from prospective product scope.

    Need something else? Mention the bot with a question or use /copilot help.

  12. added
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    size: XXLLabel to indicate a task of size XXL
    55%Progress: 55%
    and removed
    state:ai-processingA Copilot agent is analyzing or working on the issue or change.
    on Oct 29, 2026
  13. vypbot commented on Oct 29, 2026

    @vypbot

    Issue closed β€” historical progress

    Current status: closed as completed.

    The last estimate is retained below as history. Closure does not certify a new percentage, tests, or branch alignment.

    Action required: none for this closed issue. If work continues, reopen the issue; a fresh assessment can update this same card.

    Last assessment before closure (historical)

    Progress: 56% β€” in progress

    > Current status: [R1] 1. Add reviewed Python/uv and Node/pnpm workspace configuration, dependency locks and documented setup/check commands for the selected Python/FastAPI and Lit/TypeScript/Vite direction. β€” Python/uv and Node/pnpm workspace configuration, lockfiles, runtime versions, and setup/check commands are present. The frontend is explicitly a package boundary; no Lit/Vite application source is claimed.
    [R2] 2. Establish meaningful tests for first-party tooling from its first implementation. Enforce 100% supported first-party coverage metrics and keep tooling, backend, frontend and HA integration scope explicit; do not describe an absent suite as executed application coverage. β€” Patches define meaningful tests and 100% coverage enforcement for implemented tooling, with tooling, backend, frontend, and HA scopes distinguished. The stated executed test and coverage results are reports, not independent execution evidence for this head.
    [R3] 3. Configure executable Clean Architecture import/cycle checks and exercise allowed/forbidden fixture projects so the checks demonstrably reject boundary violations rather than merely matching directory names. β€” Executable Python and frontend architecture policies and allowed/forbidden fixture tests are present, including direction, framework/adapter, and cycle cases. The reported fixture execution is unverified for this head.
    [R4] 4. Add a project-owned GitHub workflow named CI Check. Run every applicable suite on every P
    [untrusted content truncated]

    Next: [R2] 2. Establish meaningful tests for first-party tooling from its first implementation. Enforce 100% supported first-party coverage metrics and keep tooling, backend, frontend and HA integration scope explicit; do not describe an absent suite as executed application coverage. β€” Obtain independent evidence that the current head's tooling suites execute and meet their configured coverage thresholds.
    [R3] 3. Configure executable Clean Architecture import/cycle checks and exercise allowed/forbidden fixture projects so the checks demonstrably reject boundary violations rather than merely matching directory names. β€” Verify the current-head architecture checks execute, with allowed fixtures passing and forbidden imports and cycles failing.
    [R4] 4. Add a project-owned GitHub workflow named CI Check. Run every applicable suite on every PR head update, including drafts and documentation-only updates, without path filters. A required aggregate fails when a required job fails, is cancelled or is unexpectedly skipped. Use locked installs and read-only credentials; publication and deployment are separate operations. β€” Obtain a successful CI Check result for the current head and confirm the aggregate enforces every applicable job result.
    [R6] A contributor can reproduce the environment from locked dependencies, execute the same documented checks locally and in CI, and see forbidden dependency/cycle fixtures fail. Every implemented first-party tooling behavior has meaningful tests and supported coverage is enforced. Future backend, frontend and HA integration work inherits an executable foundation while the full first-release scope remains intact. β€” Verify the documented locked setup and applicable checks on a clean checkout, including rejection of forbidden fixtures.
    [R7] - Clean checkout setup and verification commands run successfully with recorded runtime/dependency versions. β€” Independently verify the documented setup and checks on a clean checkout and record the runtime and dependency versions used.
    [R8] - Architecture fixtures distinguish valid dependency direction, forbidden framework/adapter imports and cycles. β€” Verify that allowed fixtures pass and the specified forbidden imports and cycles fail under the current architecture checks.
    [R9] - First-party tooling has 100% supported line/branch or statement/function metrics as exposed by the selected tools, without broad exclusions or dummy application code. β€” Verify current-head tooling coverage results against the configured supported metrics and thresholds.
    [R10] - CI Check is a separate project workflow with every-PR triggering, complete applicable checks and a strict aggregate. β€” Obtain current-head workflow execution evidence confirming every applicable check runs and the aggregate fails on unsuccessful or skipped required jobs.
    [R13] "acceptance": "A clean checkout can run the documented locked setup and checks; allowed architecture fixtures pass while forbidden impo
    [untrusted content truncated]

  14. moved this from In Progress to Done in vypdevon Oct 29, 2026
  15. added
    100%Progress: 100%
    and removed
    in-progressStart work on an admitted issue.
    state:workingWork can proceed on the verified branch or without a branch.
    55%Progress: 55%
    on Oct 29, 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%branchedThe linked branch and required SDD commit are verified.choreLabel to manage chore branchesmaintenanceLabel to manage maintenance 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