Add local official plugin install verification #353
Labels
No labels
abandoned
active
audit
blocked
data-safety
difficulty:easy
difficulty:hard
difficulty:high
difficulty:medium
docs
done
duplicate
notebook-v0
open
priority:high
ready
release-critical
safe-mode
spec
spec-backlog
subsystem:api
subsystem:backlog
subsystem:bases
subsystem:ci
subsystem:command
subsystem:configuration
subsystem:consolidate
subsystem:dependencies
subsystem:desktop-electron
subsystem:diffmerge
subsystem:docker
subsystem:docs
subsystem:fuzzy
subsystem:graph
subsystem:hotkeys
subsystem:lapis
subsystem:maint
subsystem:maintenance
subsystem:markdown
subsystem:markdown-lint
subsystem:md018
subsystem:notebook
subsystem:notifications
subsystem:opfs
subsystem:package
subsystem:plugin-markdown
subsystem:plugin-tasks
subsystem:plugins
subsystem:registry
subsystem:release
subsystem:renovate
subsystem:restore
subsystem:scripts
subsystem:search
subsystem:settings
subsystem:spec
subsystem:tasks
subsystem:testing
subsystem:ui
subsystem:web
subsystem:workspace
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lapis-notes/lapis#353
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Official external plugin releases need a local install verification gate that
builds the repo packages, installs the packaged result through the workspace
distribution flow, and proves each plugin activates. The current checks missed
broken Docs chunk packaging and Graph runtime metadata that referenced private or
uncatalogued host modules.
Problem
lapis-docscan install a release whose runtime fallback points at a missinghashed local chunk.
lapis-graphcan produce release metadata that retains unsupported@lapis-notes/ui/*andsvelte/internal/*imports.because progress reporting is too coarse.
registry metadata, but does not build and install each local external plugin
bundle before asserting runtime behavior.
Goal
Add a local official plugin install verification path for all current external
official plugins and make installer progress visible enough to diagnose large
plugin installs such as Docs.
Scope
staging, install, load, enable, completion, and failure paths.
external plugin bundle.
Non-goals
assertion per official external plugin.
Acceptance Criteria
fails when an official external plugin lacks an E2E scenario.
Svelte internals and UI subpaths are bundled or fail validation.
reserved for legacy Obsidian-compatible community plugin loading.
referenced local JS chunks are present in the signed bundle.
and staging, and large installs do not have silent progress gaps in E2E.
default and continue opening the file after installation. Registry installs
either enable by default or present a clear enable action instead of silently
leaving the installed plugin inactive.
pnpm test:official-pluginsbuilds local plugin bundles, serves a signedlocal registry fixture, installs every external official plugin through
pluginDistribution.install(..., { requireOfficial: true, enable: true }),asserts official provenance/enabled state, reload persistence, and one runtime
behavior per plugin.
Implementation Notes
embedded trust keys remain unchanged.
pruning.
generic processed byte/file fields.
Suggested Files or Specs To Inspect
spec/src/30-cross-package-contracts/plugin-registry.mdspec/src/30-cross-package-contracts/plugin-runtime.mdspec/src/30-cross-package-contracts/plugin-host-boundary.mdspec/src/40-testing/current-state.mdscripts/publish-official-plugin-assets.mjsscripts/plugin-release.mjspackages/api/src/lib/plugin-distribution/packages/workspace/e2e/packages/plugins/*/vite.config.tspackages/notebook/vite.config.tsValidation Commands
pnpm check:allpnpm testpnpm test:smokepnpm test:daily-usepnpm test:official-pluginsmdbook build specpnpm backlog:verify-commit @-pnpm backlog:doctor --strictRelated Issues
Follow-up Tasks
releases, at least Docs and Graph, after this gate is passing.
Implementation Summary
Implemented local official plugin install verification, ESM-only official plugin packaging, install progress/default-enable updates, and specs.