Skip to content

Fix Launchpad render initialization regression - #65

Merged
immakermatty merged 1 commit into
mainfrom
codex/CAC-0047-launchpad-render-regression
Aug 1, 2026
Merged

immakermatty merged 1 commit into
mainfrom
codex/CAC-0047-launchpad-render-regression

Conversation

@immakermatty

Copy link
Copy Markdown
Contributor

Proč

Launchpad na aktuálním main po načtení dat spadne na ReferenceError: Cannot access 'REPORTED_CHECK_STATUSES' before initialization. V důsledku zůstane hlavní plocha ve skeleton stavu a Builder nevidí žádné aplikace. Regresi přineslo rozšíření reportovaných Doctor stavů o blocked: nová konstanta byla deklarována až pod prvním top-level await loadData(), přestože tato inicializační cesta synchronně vstupuje do renderProblems().

Cílový stav a přínos

Launchpad musí při prvním načtení bezpečně dokončit render a zobrazit aplikace aktivní Organizace. Stejná chyba se nesmí vrátit při budoucím přesunu render-time konstant.

Co se mění

  • REPORTED_CHECK_STATUSES se inicializuje mezi ostatními top-level konfiguračními konstantami před prvním načtením dat.
  • Existující initialization-order test nově hlídá také tuto konstantu vůči prvnímu await loadData().
  • Nemění se význam statusů fail, warn a blocked, Doctor agregace ani UX panelu problémů.

Ověření

  • bun test launchpad/src/public-ui.test.mjs — 29 pass, 0 fail.
  • bun run --cwd launchpad check — 446 pass, 3 skip, 0 fail.
  • bun run check — exit 0.
  • bun run doctor — exit 0; pouze očekávané worktree/dependency warningy.
  • Živý browser smoke na worktree serveru nad lokálními root daty: #/org/Spectoda vyrenderoval 32 karet, bez skeletonů a bez nové console error.

Rizika a follow-upy

Změna je úzká a nemění datový model ani chování statusů. Stávající globální worktree inventura na stroji nadále hlásí nesouvisející historické worktrees; tento PR je nevlastní ani neupravuje.

@immakermatty
immakermatty marked this pull request as ready for review July 31, 2026 20:38
@greptile-apps

greptile-apps Bot commented Jul 31, 2026

Copy link
Copy Markdown

Greptile Summary

Moves REPORTED_CHECK_STATUSES ahead of the initial data load to prevent a temporal-dead-zone failure during first render.

  • Keeps the reported Doctor statuses unchanged as fail, warn, and blocked.
  • Extends the initialization-order test to protect the constant’s placement before await loadData().

Confidence Score: 5/5

The PR appears safe to merge, with the initialization-order regression fixed and guarded against recurrence.

The constant is now initialized before the first top-level data load can synchronously enter rendering, while its status set and downstream behavior remain unchanged.

Important Files Changed

Filename Overview
launchpad/public/app.js Relocates an existing render-time constant before initial data loading without changing its values or consumers.
launchpad/src/public-ui.test.mjs Extends the existing source-order invariant to cover REPORTED_CHECK_STATUSES.

Reviews (1): Last reviewed commit: "Fix Launchpad render initialization regr..." | Re-trigger Greptile

@immakermatty
immakermatty merged commit 694603e into main Aug 1, 2026
4 checks passed
immakermatty added a commit that referenced this pull request Sep 28, 2026
…orary Environment URL as a lease; the Folder manual tells agents never to send a localhost link

Pablo's review of LazurioPlatform #65 found the preview direction attributed
to the Principal without a register record. The Principal decided it on
2026-09-28 in the working thread (temporary URL registered like a module's
hostname, cleanup after 24 hours and when the port dies; the VM profile must
tell agents how previews work so operators never get a localhost link). The
row 0167 now carries the addendum, rows 0049 and 0137 point to it instead of
calling the preview an open question; the rules stay a shaping proposal.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
immakermatty added a commit that referenced this pull request Sep 28, 2026
…s its earlier open state as superseded and keeps the lease rules a proposal

Pablo's review 5339555709: (1) the first-login manual let a missing or invalid
handover fall back to a personal work VM and a personal gh sign-in, which
cannot rule out a Team VM; the agent now performs no personal sign-in until
the handover proves the kind and assignment. (2) Row 0167 still called the
preview an open question next to its addendum and attributed the 24-hour and
port-death cleanup to the Principal as decided; the earlier state is marked as
superseded and the cleanup mechanics are the Principal's examples of the
direction, the rules remaining LazurioPlatform #65 proposal B14.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
immakermatty added a commit that referenced this pull request Sep 28, 2026
…; the Platform Launchpad replaces the resident one (0167); the Team exception ends and the strict install command (0168) (#442)

* Decisions of 2026-09-28 (later): no rollback and Recovery mode (0166); the Platform Launchpad replaces the resident one without a side-by-side period (0167); the Team Environment works through the Organization's bot and the 0159 exception ends there, strict first-install command (0168)

Records three decisions of the Principal in the public decision register and
aligns the texts that would otherwise become false: amendment markers on
0049, 0137, 0148, 0159, 0161, 0164 and 0165; the Launchpad lifecycle and
Hosted Resident rollback passages of ARCHITECTURE.md; the Team VM sign-in
rules of the hosted first-login manual and the workspace root instructions.

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

* Decisions 0166/0167: seamless Ubuntu rebuild of hosted personal VMs with state transfer; canary on the pilot Organization's work VMs and its operators' personal VMs

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

* Decision 0167: name what is the Principal's direction and what is the shaping's proposal

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

* 0168: the Platform's refusal is stated as target with the exact state; the first-login manual no longer says the assignment does not limit the sign-in

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

* 0167 addendum: a pull-request preview on a hosted Machine gets a temporary Environment URL as a lease; the Folder manual tells agents never to send a localhost link

Pablo's review of LazurioPlatform #65 found the preview direction attributed
to the Principal without a register record. The Principal decided it on
2026-09-28 in the working thread (temporary URL registered like a module's
hostname, cleanup after 24 hours and when the port dies; the VM profile must
tell agents how previews work so operators never get a localhost link). The
row 0167 now carries the addendum, rows 0049 and 0137 point to it instead of
calling the preview an open question; the rules stay a shaping proposal.

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

* 0442 round 3: fail closed without a valid handover; the 0167 row marks its earlier open state as superseded and keeps the lease rules a proposal

Pablo's review 5339555709: (1) the first-login manual let a missing or invalid
handover fall back to a personal work VM and a personal gh sign-in, which
cannot rule out a Team VM; the agent now performs no personal sign-in until
the handover proves the kind and assignment. (2) Row 0167 still called the
preview an open question next to its addendum and attributed the 24-hour and
port-death cleanup to the Principal as decided; the earlier state is marked as
superseded and the cleanup mechanics are the Principal's examples of the
direction, the rules remaining LazurioPlatform #65 proposal B14.

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

* 0167: the earlier open state of the preview is marked superseded; the lease rules stay a proposal

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

* 0442 round 4: the first-login manual, the distributed workspace instructions and ARCHITECTURE agree — no personal sign-in without a valid handover; the preview direction is decided

Pablo's review 5340031936: the manual's summary at the top still said the
assignment never limits the sign-in and the distributed root-instructions
routed a missing or invalid assignment into the personal sign-in procedure,
contradicting the fail-closed rule below; ARCHITECTURE.md and the PR body
still called the pull-request preview an open question.

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

---------

Co-authored-by: Claude Fable 5.1 <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.

1 participant