From 335fdec48f526e274da2099844aef0bb7331678d Mon Sep 17 00:00:00 2001 From: Codex PR QC Date: Wed, 1 Jul 2026 18:54:54 +0800 Subject: [PATCH] docs(openspec): archive npm ghost probe fix --- .../.openspec.yaml | 0 .../design.md | 0 .../proposal.md | 0 .../specs/agent-update/spec.md | 0 .../tasks.md | 0 openspec/specs/agent-update/spec.md | 10 ++++++++++ 6 files changed, 10 insertions(+) rename openspec/changes/{fix-npm-ghost-probe-false-positive => archive/2026-07-01-fix-npm-ghost-probe-false-positive}/.openspec.yaml (100%) rename openspec/changes/{fix-npm-ghost-probe-false-positive => archive/2026-07-01-fix-npm-ghost-probe-false-positive}/design.md (100%) rename openspec/changes/{fix-npm-ghost-probe-false-positive => archive/2026-07-01-fix-npm-ghost-probe-false-positive}/proposal.md (100%) rename openspec/changes/{fix-npm-ghost-probe-false-positive => archive/2026-07-01-fix-npm-ghost-probe-false-positive}/specs/agent-update/spec.md (100%) rename openspec/changes/{fix-npm-ghost-probe-false-positive => archive/2026-07-01-fix-npm-ghost-probe-false-positive}/tasks.md (100%) diff --git a/openspec/changes/fix-npm-ghost-probe-false-positive/.openspec.yaml b/openspec/changes/archive/2026-07-01-fix-npm-ghost-probe-false-positive/.openspec.yaml similarity index 100% rename from openspec/changes/fix-npm-ghost-probe-false-positive/.openspec.yaml rename to openspec/changes/archive/2026-07-01-fix-npm-ghost-probe-false-positive/.openspec.yaml diff --git a/openspec/changes/fix-npm-ghost-probe-false-positive/design.md b/openspec/changes/archive/2026-07-01-fix-npm-ghost-probe-false-positive/design.md similarity index 100% rename from openspec/changes/fix-npm-ghost-probe-false-positive/design.md rename to openspec/changes/archive/2026-07-01-fix-npm-ghost-probe-false-positive/design.md diff --git a/openspec/changes/fix-npm-ghost-probe-false-positive/proposal.md b/openspec/changes/archive/2026-07-01-fix-npm-ghost-probe-false-positive/proposal.md similarity index 100% rename from openspec/changes/fix-npm-ghost-probe-false-positive/proposal.md rename to openspec/changes/archive/2026-07-01-fix-npm-ghost-probe-false-positive/proposal.md diff --git a/openspec/changes/fix-npm-ghost-probe-false-positive/specs/agent-update/spec.md b/openspec/changes/archive/2026-07-01-fix-npm-ghost-probe-false-positive/specs/agent-update/spec.md similarity index 100% rename from openspec/changes/fix-npm-ghost-probe-false-positive/specs/agent-update/spec.md rename to openspec/changes/archive/2026-07-01-fix-npm-ghost-probe-false-positive/specs/agent-update/spec.md diff --git a/openspec/changes/fix-npm-ghost-probe-false-positive/tasks.md b/openspec/changes/archive/2026-07-01-fix-npm-ghost-probe-false-positive/tasks.md similarity index 100% rename from openspec/changes/fix-npm-ghost-probe-false-positive/tasks.md rename to openspec/changes/archive/2026-07-01-fix-npm-ghost-probe-false-positive/tasks.md diff --git a/openspec/specs/agent-update/spec.md b/openspec/specs/agent-update/spec.md index 3a4849f..503b203 100644 --- a/openspec/specs/agent-update/spec.md +++ b/openspec/specs/agent-update/spec.md @@ -446,6 +446,16 @@ When a managed package is no longer installed but Quantex still records install - **THEN** Quantex does not remove the installed-agent state entry - **AND** the uninstall command reports failure +#### Scenario: Ghost recovery does not run when npm presence probing is inconclusive + +- **GIVEN** an agent has recorded managed install state with install type `npm` +- **AND** npm is available +- **AND** npm global presence probing cannot confirm whether the package is installed or absent +- **WHEN** the user runs `quantex uninstall ` +- **AND** the managed package-manager uninstall command reports failure +- **THEN** Quantex does not remove the installed-agent state entry +- **AND** the uninstall command reports failure + ### Requirement: Exec and shortcut install flows MUST honor global timeout during managed install When `quantex exec` or shortcut `quantex ` runs with `--timeout` and must install a missing agent before launch, Quantex SHALL apply the configured timeout to the install phase. After the deadline fires, Quantex SHALL wait up to `min(timeoutMs, 250)` for managed install work to finish before cancelling managed installer subprocesses.