This repository was archived by the owner on Sep 27, 2026. It is now read-only.
deck 1.1.0: the boot sweep serves the bundle catalog - #154
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…per by name Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ing directory Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd heals missing data dirs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n prod Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s deck remove --force Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rt.ts Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 39 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 83 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (29)
Comment |
This was referenced Sep 25, 2026
…r deck 404s it instead of removing every app Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… still creating catalog rows Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…alog port held by a route or service, or a legacy mrs row, stops creation The sweep's refusals live in memory and join deck's own status row, since a helper-run deck has no platform record. editApp refuses a missing working dir before any teardown, reinstallSupervised's not-served skip is pinned, and the sweep tests never rm outside their temp dir. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s during the boot sweep Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
CodeRabbit is rate limited on this PR (org allowance and spending cap), so an Opus review stood in. Where its findings landed, as of 025fd33: Fixed
Not changed here
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Deck 1.1.0: the boot sweep serves the bundle catalog
Prod's deck now serves exactly the apps its bundle ships, and dev serves whatever is registered, so switching flavors no longer leaves chat on a missing working dir or gitq's CLI looping as a web app. Part of the 2.13.0 prod-readiness release (RT-279..284; this unit serves RT-280, RT-281 and RT-284).
What changed
Catalog (
src/registry/bundle-catalog.ts)Contents/Resources/deps.lockrows that carryserveinto a name to port and args map.deps-lock-serve.fixture.jsonis byte-identical to repo-tools' twin from deps.lock: serve field for bundled apps mattstack#442 (sha256 pinned in both tests, prettier-ignored).Sweep (
reresolveManagedApps)mrsrow awaitingdeck adopt mrs --as board.Helpers/<name> <serve.args>from~/.mattstack/<name>, which deck now creates.not-served: plist removed, row and dev link kept, hidden from/api/apps.Also
deck restart --managedanddeck setupskip not-served rows.deck remove --managed <name>removes only that app throughPOST /api/v1/apps/managed/remove/<name>(404unknown app, 409<name> is not managed). A 1.0.x deck 404s that path instead of removing every app, and the bulk route refuses a name in its body./api/appswaits up to 10s for the first boot sweep, then answers 503, so the launcher never takes a half-built catalog as final.deck remove <name> --force, notrt uninstall.convert.ts; deck is 1.1.0.Ruling applied
Dev creates missing catalog rows too (option A, ruled 2026-09-25 with three conditions): "missing" means no row of that name under any owner, so dev never adopts or duplicates; dev creates a row only when the bundle ships
Helpers/<name>, otherwise it writes a board issue and creates nothing; a created row stores no bundle-absolutecommand. Each condition is pinned by a test.Verification
deck-macosjob.bun run format:checkclean;tsc -p apps/deckadds no errors (162 before and after the review round).Follow-up
deck remove --managed boardand... gitq, which a 1.1.0 CLI treats as named removes, so chat, console and boxscore would stay installed afterrt uninstall.served: falsestatus marker and board styling are a separate UI change.🤖 Generated with Claude Code