Content locality — phase 1

Scope

Plugins own landing content, media, and plugin documentation. The landing app owns the typed content contract, generators, rendering, and landing-specific scripts. Local plugins.json supplies the plugin list. Generation is local and static; deployment remains the maintainer's Vercel CLI workflow.

Implementation

Exit criteria

Existing app routes and content remain available; plugins in the local registry can supply their own landing definition and assets. Static app/docs pages and their assets are present in the landing build. Source Markdown links work locally and resolve to generated documentation URLs. No deployment or host restart is performed.

Ownership notes

Roadmap, wallet, Nostr event resolution, capability contracts, and the reusable demo engine remain core-owned. Study is an unimplemented plugin proposal with no local plugin repository; retain it as a core ecosystem proposal for now. Blog migration is deferred. Existing plugin work must be preserved.

Verification progress

Result and remaining scope

Phase 1 is complete. Eight plugin-specific design/plan documents moved into Browser, Journal, Memory, File, PPQ, System One, Todo, and Job docs. Core model-source and runtime ownership now has a core document linked from PPQ. A missing journal inspection document was restored from the existing documented command behavior; the missing NR private-scoring image was replaced with a plugin-owned SVG.

Reusable demo/runtime code and fixtures remain in their existing owners. Blog source migration, core backend/frontend feature restructuring, and the unimplemented Study proposal remain outside this phase.