docs(site): AppOS Catalog Bundle Layout v1 — manifest pages (fn-167.4) - #6
Conversation
- manifest/index.md: new 'Catalog bundle layout' section — dual-manifest zip layout, installer root-first resolution + appos/runtime/plugin.json normalize-at-install fallback, verification-before-manifest-resolution, exactly-one-candidate + zip-root-relative-paths rules - manifest/reference.md (via generate-docs-data.mjs pageManifestReference): note on the published-bundle manifest location, regenerated through the drift-gated pipeline - getting-started/first-plugin.md: 'Where to go next' pointer to the layout section (no contract duplication) Validation: npm ci (0), npm run check-drift (0), npm run build (0)
…t (fn-167.4 review r1)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d5335df04f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…t server-side catalog manifest-v1 validation (fn-167.4 review r2)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 04f89149b9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…/installed layout; catalog zip nests it at appos/runtime/ (fn-167.4 review r3)
Summary
Documents AppOS Catalog Bundle Layout v1 — the locked dual-manifest bundle contract from AppOS-Desktop epic fn-167 — on the docs site (fn-167.4, R2).
A catalog-published bundle carries the catalog
manifest.jsonat the zip root and the AppOS runtime manifest atappos/runtime/plugin.json; the desktop installer resolves root-first and copies the well-known fallback to the bundle root at install time (normalize-at-install), with verification (SHA-256 / Ed25519) always preceding manifest resolution. Docs match the shippedPluginInstaller.normalizeRuntimeManifestbehavior exactly.Changes
manifest/index.md— new Catalog bundle layout section: dual-manifest zip tree, installer resolution rule (root wins →appos/runtime/plugin.jsonfallback →manifestMissing), verification precedence, exactly-one-candidate rule (no_manifest/ambiguous_bundle_root), zip-root-relative runtime-manifest paths, dev-layout-not-publishable note (manifest_invalid)manifest/reference.md— published-bundle location note, added viagenerate-docs-data.mjs(pageManifestReference()) and regenerated through the drift-gated pipeline (hand-editing the generated page would failcheck-drift)getting-started/first-plugin.md— one "Where to go next" pointer to the layout section (no contract duplication)Validation
npm --prefix docs-site ci→ exit 0npm --prefix docs-site run check-drift→ exit 0 (input hash unchanged — generator inputs untouched)npm --prefix docs-site run build→ exit 0 (224 pages)Counterpart: AppOS-Desktop
docs/PLUGIN-DEV-GUIDE.md§2.1 (same contract, full detail) — fn-167.4.