From e527b19eba7fe3e416a420ff369a1cd7083600b2 Mon Sep 17 00:00:00 2001 From: serafin-garcia Date: Thu, 18 Jun 2026 19:55:49 -0700 Subject: [PATCH] feat(open-knowledge): OKF-conformant starter pack (`ok seed --pack okf`) (#1984) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs(open-knowledge): OKF conformant starter pack spec (PRD-7119) Spec for adding an OKF-conformant starter pack as a normal STARTER_PACKS entry (ok seed --pack okf): type-bearing seed docs + frontmatter-free reserved index.md/log.md, pre-populated not enforced. Includes evidence, substrate map, and audit-corrected decisions. * feat(open-knowledge): OKF-conformant starter pack (PRD-7119) Add an `okf` entry to the `ok seed` STARTER_PACKS registry: a small mini-KB that is conformant with Google's Open Knowledge Format (OKF) v0.1 by construction. Every non-reserved seed doc carries a non-empty `type` (§9 rules 1-2); a lowercase, frontmatter-free `index.md` (§6 navigation) and `log.md` (§7 change history) follow the reserved-file conventions (§9 rule 3). Pure pre-populated content — the native frontmatter schema stays open-shaped, nothing is enforced or linted, and `ok init` is untouched. The pack reuses the pack-agnostic plan/apply/CLI/picker pipeline unchanged (only the registry literal + `PackId` union widen), so it auto-appears in `ok seed --list-packs`. Seeded links use standard markdown (a conformant OKF bundle's link graph is plain markdown; `[[…]]` is an OK superset the export normalizes away). Ships a guidance-only pack-local skill and an OKF §9 conformance test that runs the real seed pipeline and asserts all three rules over the written bytes (templates checked at their instantiated block-2 form), plus idempotent re-run. * fix(open-knowledge): address okf pack review (PRD-7119) Cloud-review feedback on PR #1984: - Widen `OkPackId` in the two desktop-bridge mirror sites (core + app) to include `okf` — the "update all three sites" invariant the bridge-contract Eq<> drift test guards. Fixes real client/server type drift (server sent `okf`; core/app types didn't model it). - PackCardGrid: add an `okf` icon (FileCheck) so it isn't visually identical to knowledge-base's Library; derive the loading-skeleton count from the icon map instead of a hardcoded 6; refresh the stale "Six-card" JSDoc. - Add a non-empty `type` to the okf pack skill — it installs as project-local markdown that OK admits into the content corpus, so without it the seeded project had a non-reserved doc lacking `type` (the pack's own contract). New conformance test covers the editor-skill-installed path. - Seed content uses standard markdown links everywhere (templates too); make the link-format comment accurate; drop `[[ ]]` from folder guidance. - log.md seeds a prose instruction (documents the dated-entry format) instead of a placeholder entry, matching peer packs and avoiding a stale seeded date. - Remove block-1 `tags:` from the templates (peers carry only title+description). - starter.test.ts derives the reserved-file set from the exported `OKF_RESERVED_FILENAMES` single source of truth. * fix(open-knowledge): sync okf skill log.md description + pin all §6 nav links Re-review follow-ups on PR #1984: - Update the okf pack skill's `log.md` description: the prose-only `log.md` change (no placeholder entry) left the SKILL.md still telling authors to "replace the placeholder date" on a file that no longer ships one. - Strengthen the §6 navigation conformance test to pin all four seeded standard-markdown links (welcome + the three section folders), not just `welcome.md`. --------- GitOrigin-RevId: 4dfa2e4aac7c01eecd4d39e3984c5545a69ec538 --- .changeset/okf-conformant-starter-pack.md | 5 + packages/app/src/components/PackCardGrid.tsx | 14 +- packages/app/src/lib/desktop-bridge-types.ts | 3 +- packages/core/src/desktop-bridge.ts | 3 +- .../server/assets/skills/packs/okf/SKILL.md | 52 +++++ .../server/src/seed/okf-conformance.test.ts | 204 ++++++++++++++++++ packages/server/src/seed/starter.test.ts | 11 +- packages/server/src/seed/starter.ts | 144 ++++++++++++- 8 files changed, 428 insertions(+), 8 deletions(-) create mode 100644 .changeset/okf-conformant-starter-pack.md create mode 100644 packages/server/assets/skills/packs/okf/SKILL.md create mode 100644 packages/server/src/seed/okf-conformance.test.ts diff --git a/.changeset/okf-conformant-starter-pack.md b/.changeset/okf-conformant-starter-pack.md new file mode 100644 index 00000000..24db4b49 --- /dev/null +++ b/.changeset/okf-conformant-starter-pack.md @@ -0,0 +1,5 @@ +--- +"@inkeep/open-knowledge": minor +--- + +Add an OKF-conformant starter pack: `ok seed --pack okf` (also shown by `ok seed --list-packs`) scaffolds a small knowledge base that is conformant with Google's Open Knowledge Format (OKF) v0.1 from the first commit — every non-reserved doc carries a non-empty `type`, plus a frontmatter-free lowercase `index.md` (§6 navigation) and `log.md` (§7 change history). Pure pre-populated content: the native frontmatter schema stays open-shaped and nothing is enforced or linted. Ships a guidance-only OKF conventions skill like every other pack. diff --git a/packages/app/src/components/PackCardGrid.tsx b/packages/app/src/components/PackCardGrid.tsx index eae18104..12aca33f 100644 --- a/packages/app/src/components/PackCardGrid.tsx +++ b/packages/app/src/components/PackCardGrid.tsx @@ -1,6 +1,15 @@ // biome-ignore-all lint/plugin/no-raw-html-interactive-element: pre-rule backlog — file uses raw