Conversation
Import ordering, fully-qualified name extraction, and a missing final newline across files untouched by the 0.4.4 fixes. No behaviour change, separated so the fix commits that follow read cleanly.
The mapping pointed at `src/database/factories/`, which does not exist. It resolved only by falling back to the broader `src/` mapping. Also drops the Seeders mapping, which points at no directory in any casing.
`registerPublishing()` pointed at `src/database/migrations`, but the directory is `src/Database/migrations`. On case-sensitive filesystems `vendor:publish --tag=deck-migrations` reported success without copying anything, leaving `database/migrations` empty on Linux and case-sensitive macOS volumes. Adds a test asserting every publishable source path the provider registers actually exists on disk.
Two halves of the two-level metadata scheme were never wired up.
`make:prompt` rewrote the prompt's root `metadata.json` from scratch,
discarding `active_version`, so scaffolding a draft silently promoted it to active. The file is now merged, preserving `active_version`, the existing description, the original `created_at`, and any hand-added keys.
`make:prompt` recorded name, description, and roles at the prompt root, but `PromptManager` only ever read the version-level `v{n}/metadata.json`, so
`metadata()` was always empty and the `prompt:list` description column always blank. `make:prompt` now writes version-level metadata, and reads merge the root file under the version file. `active_version` is excluded from `metadata()`, being routing state rather than template metadata.
Since a new version no longer becomes active, `make:prompt` now prints how to promote it.
(int) 'v2' is a falsy 0, so --ver=v2 fell through to the active version while reporting the wrong number in its header. Now resolves through the ResolvesVersion trait, accepting both 2 and v2, and fails with a clear message on unparseable input.
Deck ships under two Packagist names, and the deprecated `veeqtoh/prompt-deck` still takes a large share of installs. Shields cannot sum packages, so a scheduled workflow publishes the combined total to a shields endpoint on an orphan badges branch.
The `v0.4.0` rename left the docs site name, the logo wordmark, the docs landing page link, and the README licence link pointing at the old identity.
Contributor
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Motivation and Context
A few defects have been on my todo list. This release fixes the silently failing issues alongside the supporting cleanup around them.
Migrations could not be published.
DeckServiceProvider::registerPublishing()pointed atsrc/database/migrations, but the directory issrc/Database/migrations. On case-sensitive filesystemsvendor:publish --tag=deck-migrationsreported success without copying anything, so the documented install leftdatabase/migrationsempty on Linux and case-sensitive macOS volumes.Creating a version silently promoted it to active.
make:promptrewrote the prompt's rootmetadata.jsonfrom scratch, discardingactive_version. Scaffolding a draft changed what the application served.Prompt metadata was unreachable.
make:promptrecorded name, description, and roles at the prompt root, butPromptManageronly ever read the version-levelv{n}/metadata.json. The two halves of the documented scheme were never wired together, soPromptTemplate::metadata()was always empty and theprompt:listdescription column always blank.prompt:test --ver=v2rendered the wrong version.(int) 'v2'evaluates to a falsy0, so the command fell through to the active version while its header reported the version it had rendered rather than the one requested.Also in scope: the downloads badge reported only the deprecated
veeqtoh/prompt-deckpackage, and the v0.4.0 rename left the old identity in the docs site name, the logo wordmark, and several links.Dependencies
None. No new packages.
The autoload change requires a
composer dump-autoloadto take effect. Anyone with a stale autoloader keeps working regardless, since the old mapping only ever resolved through the broadersrc/fallback.After merge, the downloads badge needs one manual run to create the
badgesbranch, or the README badge renders as a shields error:Scheduled workflows only fire from the default branch, so the daily cron will not start before then.
Test Instructions
Manual QA against a scratch app, reproducing each original symptom:
php artisan vendor:publish --tag=deck-migrationscopies two migration files intodatabase/migrations. Previously it printed success and copied nothing.make:prompt order-summary --desc="…"→prompt:activate order-summary v1→make:prompt order-summary(choose "create a new version") →prompt:liststill shows v1 active, and the command prints how to promote v2. Previously v2 became active silently.prompt:listDescription column shows the--desctext. It has never populated before.prompt:test order-summary --ver=v2renders v2 while v1 is active.--ver=bananafails with a clear message.--ver=2still works.Docs were checked with
mint broken-links(clean) and rendered locally withmint dev.