@kybernesis/create 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,74 @@
1
+ ---
2
+ description: Use when installing, configuring, or debugging any @kybernesis package — arcana (memory), enterprise (governance), multiplayer (Slack), engineer (build+ship), evals (QA), create (kyb CLI) — or the Kybernesis registry. Includes every production-learned gotcha.
3
+ ---
4
+
5
+ # The Kybernesis packages
6
+
7
+ Six packages, npm-public under `@kybernesis`, Apache-2.0, monorepo
8
+ `KybernesisAI/platform`. Registry: `https://registry.kybernesis.ai`
9
+ (`eve registry add @kybernesis=https://registry.kybernesis.ai/r/{name}.json`,
10
+ then `eve add @kybernesis/<item>`). Each covers one axis:
11
+
12
+ - **arcana** — memory. Extension mount `arcana({ apiKey, workspace,
13
+ resolveWorkspace? })`. Workspace-scoped `kb_` keys (403 outside their
14
+ workspace — one key per brain). `resolveWorkspace` only from VERIFIED
15
+ session context, never model output, and only key-reachable workspaces.
16
+ Subagents: local extension mount (`subagents/<id>/extensions/arcana.ts`,
17
+ eve ≥0.30) or plain connection + skill copies. Header
18
+ `X-Kyberagent-Agent: <workspace>` required by the MCP.
19
+ - **enterprise** — governance. Plain library (route auth can't ship in an
20
+ extension). `kybernesisAuth()` admits only control-plane IdentitySessions
21
+ WITH a grant for this agent (`authorization: Bearer` + `x-kybernesis-bundle`
22
+ headers; 401 no-creds, 403 agent_not_granted). Lazy JWKS — compiles without
23
+ KYBERNESIS_ISSUER. See the `control-plane` skill.
24
+ - **multiplayer** — Slack conversation mechanics. `multiplayerSlackChannel()`
25
+ from `/slack` subpath: thread = shared session with per-speaker verified
26
+ identity, no-re-mention continuation, dual surface (verified
27
+ `surface: "channel"|"dm"` attribute + helpers from package root), `/new` DM
28
+ reset. Slack-only today.
29
+ - **engineer** — build + ship. Extension: `screenshot` (renders in in-sandbox
30
+ Chromium, returns pixels the model SEES) + `deliver` (sandbox file → public
31
+ Blob URL; needs BLOB_READ_WRITE_TOKEN — one-liner:
32
+ `vercel blob create-store <name>-deliverables --access public --yes`) +
33
+ six skills (dev-loop, scaffold, visual-qa, git-discipline, ship,
34
+ architecture-notes). The registry item ALSO writes
35
+ `agent/sandbox/sandbox.ts` — the workshop: Playwright baked into the
36
+ template at DEPLOY time, backend PINNED to Vercel Sandbox (no Docker
37
+ anywhere, local runs use hosted sandboxes via `vercel link` + `env pull`),
38
+ domain allowlist = the client's security posture. Ship loop: preview deploys
39
+ via the Vercel MCP connection (inline file tree, no git needed, no token in
40
+ the VM); production promotion is ALWAYS human-approved.
41
+ - **evals** — QA. `kybernesisBaseline({ agentDisplayName, routing,
42
+ engineer? })` = smoke + 5 memory + routing per dept + optional vision-loop
43
+ eval. Judge model ≠ model under test. Hermetic runs force all workspaces to
44
+ `<name>-eval` via the npm script.
45
+ - **create** — the `kyb` CLI: `init [--engineer]`, `doctor`, `upgrade`
46
+ (carries eve to the Kybernesis-CERTIFIED pin, never blind latest),
47
+ `skills`. Ships THIS skill suite.
48
+
49
+ ## Gotchas that each cost a real debugging session
50
+
51
+ - **Tool names are mount-dependent — ALWAYS suffix-match.** Extension mount →
52
+ `arcana__memory__arcana_remember`; plain connection → `arcana__arcana_remember`.
53
+ In approvals/hooks/evals: `toolName.endsWith("arcana_remember")`.
54
+ - **Vercel Connect connectors: use the UID** (`mcp.vercel.com/vercel`), never
55
+ the short name, in `connect()`. No grant editor exists — changing scope =
56
+ detach → remove → create (same UID) → attach, then re-auth from a FRESH
57
+ session (stale sessions error without re-prompting).
58
+ - **Dev servers in the sandbox start DETACHED** (nohup + background + log +
59
+ curl-poll) — a foreground server blocks the tool call and hangs the turn.
60
+ Verified-and-unchanged builds deploy WITHOUT re-running a server.
61
+ - **Deliver/file links: post URLs as plain text** — markdown bold glues
62
+ asterisks onto the URL in Slack and breaks it. Coach agents in prose, not
63
+ shell (WAFs eat shell-syntax Slack messages).
64
+ - **ESM packaging**: relative imports need `.js` extensions (tsc doesn't
65
+ rewrite); eve is a peer dep with an explicit range (`>=0.30.0 <0.31.0`),
66
+ pinned exactly in devDeps.
67
+ - **Eval fixtures are hardened on purpose** — in-test nonces (eve caches
68
+ compiled eval modules), per-run unique keys (workspaces accumulate),
69
+ company-general wording (dept-flavored prompts delegate and hide tool
70
+ calls), no security vocabulary ("canary" triggers refusals), long routing
71
+ timeouts. Do not "clean up" the odd-looking patterns.
72
+ - **npm**: only the `kybernesis` account creates new packages in the scope;
73
+ publishes need the human's browser auth; new versions take 1–3 min to
74
+ propagate to anonymous reads.
@@ -0,0 +1,60 @@
1
+ ---
2
+ description: Use whenever a lesson is learned, a bug is fixed, a package/registry/playbook/doc changes, or something shipped — the checklist that keeps the Kybernesis knowledge system the single source of truth. Also use when unsure where a piece of knowledge belongs.
3
+ ---
4
+
5
+ # Source of truth — and how it stays that
6
+
7
+ The knowledge system only works if every change lands in the right place the
8
+ same day it happens. This skill is the routing table and the checklist.
9
+
10
+ ## Where truth lives
11
+
12
+ | Kind of knowledge | Canonical home |
13
+ | --- | --- |
14
+ | How to run an engagement | `packages/create/skills/fde-engagement/references/playbook.md` (THIS package) — the Obsidian copy is a mirror, never edit it first |
15
+ | How to build eve agents / packages / control plane / certification | the sibling skills in `packages/create/skills/` |
16
+ | Package behavior + install steps | each package's README + registry item in `~/platform` |
17
+ | Framework truth | `node_modules/eve/docs/` at the pinned version — never restate at length, point at it |
18
+ | What exists, what's specced, what's parked | the system-overview doc (session-handoff master, Obsidian) |
19
+ | Session-to-session working context | the Claude project memory (`~/.claude/projects/.../memory/`) — pointers and lessons, not content that belongs above |
20
+
21
+ Secrets live in env managers only. Client-specific facts live in the client's
22
+ repo and brain, never in this suite.
23
+
24
+ ## The propagation checklist — run it whenever any of these happens
25
+
26
+ **A live failure taught something / a gotcha was paid for:**
27
+ 1. Encode it where the next run will hit it: a skill in this suite, a package
28
+ README, an eval fixture, or a `kyb doctor` check — prefer executable
29
+ guards (doctor/evals) over prose.
30
+ 2. If it changes engagement procedure → edit `references/playbook.md` here,
31
+ then copy to the Obsidian mirror.
32
+ 3. Bump `@kybernesis/create`, build, commit — the human publishes.
33
+ 4. Add one line to the Claude project memory if future sessions need it
34
+ before they'd naturally read this suite.
35
+
36
+ **A package changed (version, API, install steps):**
37
+ 1. README + registry item updated in the same commit as the change.
38
+ 2. Consuming agent bumped, suite green (the release gate), deployed.
39
+ 3. Version references in the playbook §3.4 pin list + system overview updated.
40
+ 4. If install/setup steps changed → the relevant skill here too.
41
+
42
+ **Something new was built or shipped:**
43
+ 1. System overview: move it into "shipped and verified" with the evidence.
44
+ 2. Playbook: add the operational steps if an FDE will ever repeat them.
45
+ 3. This suite: extend the matching skill (or add one) if Claude needs it.
46
+
47
+ **A framework (eve) version was certified:**
48
+ 1. Advance the pin in `@kybernesis/create` (`EVE_VERSION`).
49
+ 2. Check every skill/playbook claim that names framework behavior — versions
50
+ change what's true (example: "subagents cannot mount extensions" was true
51
+ on 0.29, false on 0.30, and stale in four places until a maintainer
52
+ review caught it).
53
+
54
+ ## The standing rule
55
+
56
+ If you (Claude) finish a piece of work and cannot point at where its lesson
57
+ now lives, the work is not done. When unsure where something belongs, the
58
+ answer is almost always "the most executable place that the next person or
59
+ agent will actually hit" — doctor check > eval fixture > skill > playbook >
60
+ memory, in that order of preference.