Skip to content

lazurio recover asks the Launchpad probe it judges (#74) - #78

Merged
immakermatty merged 4 commits into
mainfrom
claude/DEV-6628-recover-self-check-probe
Sep 28, 2026
Merged

immakermatty merged 4 commits into
mainfrom
claude/DEV-6628-recover-self-check-probe

Conversation

@immakermatty

Copy link
Copy Markdown
Contributor

Why

Issue #74, found by the quality-gates journeys against the real v0.1.8-rc.1: lazurio recover reports broken (exit 3, R5 self-check-failed with reason launchpad) on every healthy installation that has a Folder. Since #67 the judge requireSelfCheck expects launchpad.probe in a self-check answered with a Folder, but observeSelfCheck ran the executable without --launchpad and judged that answer.

What changes

  • src/recover/observe.ts: the observation asks the same question the judge expects — self-check --json --base … --folder … --launchpad (the probe is read-only, on a private socket).
  • tests/fixtures/update-world.ts: the fake executable answers launchpad.probe only when asked (--launchpad), as the product does; that is why the existing healthy-installation tests did not catch this — with the honest fixture five recover tests fail without the fix and pass with it.
  • tests/install-script.test.ts: the second real-installer run gets the 30 s timeout like install-script test: 30 s timeout for the three-run attestation test #70's (it timed out at 5 s in the author's full check under load).

What deliberately does NOT change

Nothing else; recover's evidence, prompt and issue are unchanged.

Verified

bun run check on the branch: 896 pass, the one failure being the install-script timeout now given 30 s (10/10 pass rerun alone); recover/doctor/update targeted suites pass. Closes #74.

🤖 Generated with Claude Code

immakermatty and others added 2 commits September 28, 2026 18:28
Since #67 requireSelfCheck expects launchpad.probe in a self-check answered
with a Folder, but observeSelfCheck ran the executable without --launchpad
and judged that answer: every healthy installation with a Folder came out
broken with reason launchpad. The observation now asks the same question,
read-only on a private socket. The fixture executable answers the probe only
when asked, as the product does, so the regression fails without the fix.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The same class as #70: the run without gh executes the real installer and
timed out at bun's 5 s default under load in the author's full check.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

@agentrozjedemeai agentrozjedemeai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@immakermatty Exact-head QA for b88c9b7 (PR #78, issue #74): APPROVED.

  • Independently compiled the actual macOS CLI from main 2940079 and this head as 1.0.0, installed each into its own isolated HOME/base, initialized a real local Folder, and verified self-check --json --base ... --folder ... --launchpad returns probe: ok. On main, recover --json exits 3, verdict broken, R5 self-check-failed/reason: launchpad; on this head it exits 0, verdict healthy, R5 ok. No live installation was touched.
  • Applied only the PR's honest fixture behavior to the isolated main worktree: bun test tests/recover.test.ts yielded 12 pass / 5 fail. The unchanged head suite yielded 17 pass / 0 fail.
  • Head: lint and typecheck pass; install-script suite 10 pass / 0 fail, including the second installer run; git diff --check clean. Both exact-head required checks, Ubuntu 24.04 and macOS 14, are SUCCESS. No unresolved review threads.

Documentation follow-up (non-blocking): docs/recovery.md still describes R5 self-check without --launchpad; align that command in a separate bounded edit. Review only; no merge performed.

@agentrozjedemeai agentrozjedemeai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@immakermatty Exact-head re-review of PR #78 at 2812f88: APPROVED. The two intervening commits merge current main (#79 and #77) into the branch; the PR patch remains the same three files as b88c9b7, with no edits to those files from the merges. The requested b88c9b7..1da805f diff contains only the ten files from #79; the subsequent merge adds #77. Isolated detached checkout: lint, typecheck, recover tests (17 pass), launchpad-ensure tests (4 pass), and git diff --check pass. Exact-head GitHub required checks check (ubuntu-24.04) and check (macos-14) both SUCCESS; zero unresolved review threads; main integration clean. Prior independent real CLI recovery proof on b88c9b7 remains applicable to the unchanged PR patch. Non-blocking documentation follow-up: docs/recovery.md should mention --launchpad in the R5 command. Review only; do not merge.

@immakermatty
immakermatty merged commit 4b108cd into main Sep 28, 2026
3 checks passed
@immakermatty
immakermatty deleted the claude/DEV-6628-recover-self-check-probe branch September 28, 2026 17:15
immakermatty added a commit that referenced this pull request Sep 28, 2026
…rm Launchpad replaces the resident) recorded as accepted; parity, entry and handover docs at the merged state (#81)

* Decisions F21 and F22 recorded as accepted (root 0166, 0167 with its addendum, 0168); parity and entry documents at the merged state

F21 — Recovery mode instead of rollback: Q1–Q6 as the Principal decided
them on 2026-09-28 (Q4 by delegation), the 8-hour canary on the pilot
Organization's work VMs and its operators' personal VMs, no shorter or
narrower canary without a recorded decision, Machines' rule as a separate
Machines decision; what stays open and the state of the evening (#64, #67,
#69, #72, #75, #78 merged; only rc pre-releases; the first qualify run on
v0.1.8-rc.2 failed J3 on Ubuntu). F4, F13, F17 and F18 carry pointers to it.

F22 — the Platform Launchpad reaches parity and replaces the resident in
one apply: H1, H4, H6, H3 in direction, the drops of section F, Ubuntu
24.04 with the seamless rebuild of personal VMs and the addendum's answers;
H2, H5, H7 and the preview lease rules (B14) open; P1–P8 and P12 merged,
M1 released, M2/M3 Drafts, M6 design merged, issue #76.

Both proposed blocks stay in the shaping documents, marked as recorded.
launchpad-parity.md: status header and a state column in the slice table.
hosted-entry.md and machine-handover.md: writing the entry is not switching
the unit (Machines #248, the "Entry" gate); the Platform records the entry
whenever present. The evidence paragraph of hosted-entry.md names the
documented hostname pattern instead of a real Machine.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Parity: the P9 row keeps the lease rules of B14 a proposal; only the H3 direction is decided (review 5343575462)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
annavesela added a commit that referenced this pull request Oct 12, 2026
Lazurio addresses its customers formally from now on (Operator decision of
2026-10-11; the rule lives in the brand voice of design-system-lazurio,
content/brand/hlas/hlas.md, PR #78; plan DEV-6658). The Czech copy of the
Launchpad was mixed: about half of its lines already used vy, the other
half ty. Every Czech line the person reads in the Launchpad, the shell
and the CLI errors now uses lowercase vy with plural imperatives. Lines
that were already formal but put a past-tense participle on the person
(which forces a gender) are rewritten about the thing instead.

Impact: the Czech UI reads consistently formal. English copy, the offline
page (being redesigned in #327) and texts addressed to an AI agent
(Folder manual, tool catalog, recovery and install prompts, the prompts
the person hands to an agent, and the agent's own CLI notes) are
intentionally unchanged until the agent-text decision. Tests assert the
new copy; the Folder manual snapshots are untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
annavesela added a commit that referenced this pull request Oct 12, 2026
Anna's rule of 2026-10-11/12 (plan DEV-6658, brand voice in
design-system-lazurio content/brand/hlas/hlas.md, PRs #78 and #80) covers
Lazurio's agents too: what an agent says to a person uses vy. Rules written
for agents and the prompts a person hands to an agent keep ty.

- Folder manual handoff block: "Připravil jsem vám pull request",
  "Zkontrolujte si to v aplikaci", "Mám změny Publikovat vaším jménem?",
  the same text the root and Organization AGENTS.md now carry.
- Generated AGENTS.md: a new rule after the Environment wording,
  formalAddress, says agents address people formally and agent rules keep ty.
- The Bitwarden tool's purpose, which the Launchpad also shows the person,
  speaks about agents instead of to them.
- lazurio browser: the "tab not opened" error matches the other errors
  converted before.
- Template revision base-instructions-44 with its pinned digest; the
  snapshots differ only in the revision header and the lines above.
  F28 records the addendum.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
annavesela added a commit that referenced this pull request Oct 12, 2026
Lazurio addresses its customers formally from now on (Operator decision of
2026-10-11; the rule lives in the brand voice of design-system-lazurio,
content/brand/hlas/hlas.md, PR #78; plan DEV-6658). The Czech copy of the
Launchpad was mixed: about half of its lines already used vy, the other
half ty. Every Czech line the person reads in the Launchpad, the shell
and the CLI errors now uses lowercase vy with plural imperatives. Lines
that were already formal but put a past-tense participle on the person
(which forces a gender) are rewritten about the thing instead.

Impact: the Czech UI reads consistently formal. English copy, the offline
page (being redesigned in #327) and texts addressed to an AI agent
(Folder manual, tool catalog, recovery and install prompts, the prompts
the person hands to an agent, and the agent's own CLI notes) are
intentionally unchanged until the agent-text decision. Tests assert the
new copy; the Folder manual snapshots are untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
annavesela added a commit that referenced this pull request Oct 12, 2026
Anna's rule of 2026-10-11/12 (plan DEV-6658, brand voice in
design-system-lazurio content/brand/hlas/hlas.md, PRs #78 and #80) covers
Lazurio's agents too: what an agent says to a person uses vy. Rules written
for agents and the prompts a person hands to an agent keep ty.

- Folder manual handoff block: "Připravil jsem vám pull request",
  "Zkontrolujte si to v aplikaci", "Mám změny Publikovat vaším jménem?",
  the same text the root and Organization AGENTS.md now carry.
- Generated AGENTS.md: a new rule after the Environment wording,
  formalAddress, says agents address people formally and agent rules keep ty.
- The Bitwarden tool's purpose, which the Launchpad also shows the person,
  speaks about agents instead of to them.
- lazurio browser: the "tab not opened" error matches the other errors
  converted before.
- Template revision base-instructions-45 with its pinned digest; the
  snapshots differ only in the revision header and the lines above.
  F28 records the addendum.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
immakermatty pushed a commit that referenced this pull request Oct 14, 2026
Lazurio addresses its customers formally from now on (Operator decision of
2026-10-11; the rule lives in the brand voice of design-system-lazurio,
content/brand/hlas/hlas.md, PR #78; plan DEV-6658). The Czech copy of the
Launchpad was mixed: about half of its lines already used vy, the other
half ty. Every Czech line the person reads in the Launchpad, the shell
and the CLI errors now uses lowercase vy with plural imperatives. Lines
that were already formal but put a past-tense participle on the person
(which forces a gender) are rewritten about the thing instead.

Impact: the Czech UI reads consistently formal. English copy, the offline
page (being redesigned in #327) and texts addressed to an AI agent
(Folder manual, tool catalog, recovery and install prompts, the prompts
the person hands to an agent, and the agent's own CLI notes) are
intentionally unchanged until the agent-text decision. Tests assert the
new copy; the Folder manual snapshots are untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
immakermatty pushed a commit that referenced this pull request Oct 14, 2026
Anna's rule of 2026-10-11/12 (plan DEV-6658, brand voice in
design-system-lazurio content/brand/hlas/hlas.md, PRs #78 and #80) covers
Lazurio's agents too: what an agent says to a person uses vy. Rules written
for agents and the prompts a person hands to an agent keep ty.

- Folder manual handoff block: "Připravil jsem vám pull request",
  "Zkontrolujte si to v aplikaci", "Mám změny Publikovat vaším jménem?",
  the same text the root and Organization AGENTS.md now carry.
- Generated AGENTS.md: a new rule after the Environment wording,
  formalAddress, says agents address people formally and agent rules keep ty.
- The Bitwarden tool's purpose, which the Launchpad also shows the person,
  speaks about agents instead of to them.
- lazurio browser: the "tab not opened" error matches the other errors
  converted before.
- Template revision base-instructions-48 with its pinned digest; the
  snapshots differ only in the revision header and the lines above.
  F28 records the addendum.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
immakermatty pushed a commit that referenced this pull request Oct 14, 2026
Lazurio addresses its customers formally from now on (Operator decision of
2026-10-11; the rule lives in the brand voice of design-system-lazurio,
content/brand/hlas/hlas.md, PR #78; plan DEV-6658). The Czech copy of the
Launchpad was mixed: about half of its lines already used vy, the other
half ty. Every Czech line the person reads in the Launchpad, the shell
and the CLI errors now uses lowercase vy with plural imperatives. Lines
that were already formal but put a past-tense participle on the person
(which forces a gender) are rewritten about the thing instead.

Impact: the Czech UI reads consistently formal. English copy, the offline
page (being redesigned in #327) and texts addressed to an AI agent
(Folder manual, tool catalog, recovery and install prompts, the prompts
the person hands to an agent, and the agent's own CLI notes) are
intentionally unchanged until the agent-text decision. Tests assert the
new copy; the Folder manual snapshots are untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
immakermatty pushed a commit that referenced this pull request Oct 14, 2026
Anna's rule of 2026-10-11/12 (plan DEV-6658, brand voice in
design-system-lazurio content/brand/hlas/hlas.md, PRs #78 and #80) covers
Lazurio's agents too: what an agent says to a person uses vy. Rules written
for agents and the prompts a person hands to an agent keep ty.

- Folder manual handoff block: "Připravil jsem vám pull request",
  "Zkontrolujte si to v aplikaci", "Mám změny Publikovat vaším jménem?",
  the same text the root and Organization AGENTS.md now carry.
- Generated AGENTS.md: a new rule after the Environment wording,
  formalAddress, says agents address people formally and agent rules keep ty.
- The Bitwarden tool's purpose, which the Launchpad also shows the person,
  speaks about agents instead of to them.
- lazurio browser: the "tab not opened" error matches the other errors
  converted before.
- Template revision base-instructions-48 with its pinned digest; the
  snapshots differ only in the revision header and the lines above.
  F28 records the addendum.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
immakermatty pushed a commit that referenced this pull request Oct 14, 2026
Lazurio addresses its customers formally from now on (Operator decision of
2026-10-11; the rule lives in the brand voice of design-system-lazurio,
content/brand/hlas/hlas.md, PR #78; plan DEV-6658). The Czech copy of the
Launchpad was mixed: about half of its lines already used vy, the other
half ty. Every Czech line the person reads in the Launchpad, the shell
and the CLI errors now uses lowercase vy with plural imperatives. Lines
that were already formal but put a past-tense participle on the person
(which forces a gender) are rewritten about the thing instead.

Impact: the Czech UI reads consistently formal. English copy, the offline
page (being redesigned in #327) and texts addressed to an AI agent
(Folder manual, tool catalog, recovery and install prompts, the prompts
the person hands to an agent, and the agent's own CLI notes) are
intentionally unchanged until the agent-text decision. Tests assert the
new copy; the Folder manual snapshots are untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
immakermatty pushed a commit that referenced this pull request Oct 14, 2026
Anna's rule of 2026-10-11/12 (plan DEV-6658, brand voice in
design-system-lazurio content/brand/hlas/hlas.md, PRs #78 and #80) covers
Lazurio's agents too: what an agent says to a person uses vy. Rules written
for agents and the prompts a person hands to an agent keep ty.

- Folder manual handoff block: "Připravil jsem vám pull request",
  "Zkontrolujte si to v aplikaci", "Mám změny Publikovat vaším jménem?",
  the same text the root and Organization AGENTS.md now carry.
- Generated AGENTS.md: a new rule after the Environment wording,
  formalAddress, says agents address people formally and agent rules keep ty.
- The Bitwarden tool's purpose, which the Launchpad also shows the person,
  speaks about agents instead of to them.
- lazurio browser: the "tab not opened" error matches the other errors
  converted before.
- Template revision base-instructions-48 with its pinned digest; the
  snapshots differ only in the revision header and the lines above.
  F28 records the addendum.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

lazurio recover reports R5 self-check-failed (reason launchpad) on every healthy installation with a Folder

2 participants