Skip to content

Keep a stopped Studio host listed so it can be enabled - #97

Merged
mattmacrocket merged 2 commits into
mainfrom
fix/decoys-tab-stopped-deep-host
Oct 31, 2026
Merged

mattmacrocket merged 2 commits into
mainfrom
fix/decoys-tab-stopped-deep-host

Conversation

@mattmacrocket

Copy link
Copy Markdown
Collaborator

Why

The Decoys tab builds its inventory from operational records only (active or degraded), so a stopped deep host vanished from the view. Its host toggle is the only enable control the app has, which left a stopped Studio Build Mac with no way back short of editing the database. The user guide told operators to enable it from the Decoys tab, where it was not shown. This is the state of the production install: five stopped deep rows since 2026-09-03 and no control to flip.

What

  • DecoySummary.isListedInDecoyInventory: operational records, plus deep hosts in every state.
  • OperationalDecoyInventory filters on that. Its summary still counts operational records only, so a stopped Studio does not read as a deployed fake host. A stopped mimic is still dropped because its lifecycle lives in Scouts.
  • The user guide says a stopped Studio host stays listed with its toggle off.

No view code changes. The host card already renders the toggle for a deep host and the service cards already have a stopped badge; the rows just never reached it. I could not visually confirm the stopped card in the running app in this session.

Deception integrity

App only. Nothing attacker-visible changes.

Verification

  • New ModelsTests case stoppedDeepHostStaysListedWithoutCountingAsDeployed, red on the old filter (the stopped deep rows were missing from decoys and virtualHostGroups), green after.
  • Full app suite: 425, 125 and 39 tests across the three test targets, all passed.

The Decoys tab built its inventory from operational records only, so a
stopped deep host vanished from the view. Its host toggle is the only
enable control the app has, which left a stopped Studio Build Mac with no
way back other than the database. The user guide told people to enable it
from the Decoys tab, where it was not shown.

A deep host is now listed in every state. The deployment summary still
counts operational records only, so a stopped Studio does not read as a
deployed fake host, and a stopped mimic is still dropped because its
lifecycle lives in Scouts. Covered by a ModelsTests case that was red on
the old filter.
chrissyrocket
chrissyrocket previously approved these changes Oct 31, 2026
@mattmacrocket
mattmacrocket merged commit 5ea3e8f into main Oct 31, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants