Skip to content

159/S5 — HP flip on Company Compute connect (fork writes, watcher re-preps) #167

Description

@kateebonner

Important

Problem

A valid Company Compute key must flip the solver to HP (the pushed hp-cloud-key contract, pending merge) — but the validate/save path (#165) lives in the fork server while the re-prep machinery lives in the extension.

Approach

On a valid Company Compute save, the fork server grants the entitlement and writes the durable switching request through the shared ops-dir contract; an attached extension host's existing watcher performs the full re-prep exactly once; under standalone serve the request is durable and the re-prep completes on next extension attach. Code lands in both repos (fork writes; extension watcher tests extended).


Acceptance Criteria

  1. A valid Company Compute save produces the entitlement grant and the switching request in the ops dir (asserted fork-side on the written artifacts).
  2. With an attached extension host, the existing watcher performs the re-prep exactly once per flip (extends the existing solver-mode watcher tests — no new switch path).
  3. Headless: the credential saves, the flip request is durable, and no error surfaces; the re-prep occurs on next extension attach.
  4. An invalid or failed validation produces no flip artifacts of any kind.

Testing Decisions

Fork-side: artifact-write assertions in the connections route tests (extends #165's test surface). Extension-side: extend the existing solver-mode watcher suite for the once-only re-prep; no new watcher.

Key Decisions

  • Reuse the existing entitlement-grant + switching-request file contract verbatim — this slice adds writers, never a second switch mechanism.
  • The flip is one-way on connect (piccolo→hp); disconnect does not auto-revert solver mode (the user's toggle owns reverting).

Source

Part of #159 · pushed hp-cloud-key contract · Blocked by: #165 · Lands in: opencode fork + amicode extension

Metadata

Metadata

Assignees

No one assigned

    Labels

    afkImplement + merge unattended — tests decide greentrack:cloudTrack C — company compute / cloud solve-service

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions