faf-cli 7.16.2 → 8.0.1
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.
- package/README.md +28 -6
- package/dist/cli.js +282 -269
- package/dist/cli.js.map +13 -12
- package/dist/core/faf-dna.d.ts +20 -0
- package/dist/core/slots.d.ts +1 -1
- package/dist/index.js +143 -143
- package/dist/index.js.map +11 -10
- package/dist/interop/command-note.d.ts +43 -0
- package/dist/interop/inject.d.ts +8 -1
- package/dist/wasm/kernel.d.ts +1 -1
- package/package.json +3 -4
- package/project.faf +24 -21
- package/vendor/faf-scoring-kernel/README.md +0 -14
- package/vendor/faf-scoring-kernel/faf_wasm_sdk.d.ts +0 -42
- package/vendor/faf-scoring-kernel/faf_wasm_sdk.js +0 -366
- package/vendor/faf-scoring-kernel/faf_wasm_sdk_bg.wasm +0 -0
- package/vendor/faf-scoring-kernel/faf_wasm_sdk_bg.wasm.d.ts +0 -15
- package/vendor/faf-scoring-kernel/package.json +0 -23
package/README.md
CHANGED
|
@@ -65,6 +65,7 @@ No setup, no drift, no re-explaining.
|
|
|
65
65
|
```bash
|
|
66
66
|
bunx faf auto # Bun — zero install, fastest path
|
|
67
67
|
npx faf auto # npm — works everywhere
|
|
68
|
+
pnpm dlx faf auto # pnpm — zero install
|
|
68
69
|
brew install wolfe-jam/faf/faf-cli && faf auto # Homebrew (auto-taps)
|
|
69
70
|
```
|
|
70
71
|
|
|
@@ -132,18 +133,36 @@ faf memory etch "a durable fact" --id my-fact
|
|
|
132
133
|
faf memory show
|
|
133
134
|
```
|
|
134
135
|
|
|
135
|
-
### What's New in
|
|
136
|
+
### What's New in v8.0.1 — The Always33 Edition
|
|
136
137
|
|
|
137
|
-
|
|
138
|
+
**pnpm installs work: faf-cli depends on faf-scoring-kernel from npm, not a vendored folder.**
|
|
138
139
|
|
|
139
|
-
**
|
|
140
|
+
- **The fix.** 8.0.0 pointed at a `vendor/` folder inside faf-cli. npm found it; pnpm looked in your project instead and stopped with `ERR_PNPM_LINKED_PKG_DIR_NOT_FOUND`. faf-cli now gets `faf-scoring-kernel` from npm, the same files byte for byte.
|
|
141
|
+
- **Run without installing:** `bunx faf`, `npx faf` and now `pnpm dlx faf`.
|
|
142
|
+
- **Checked on every change:** CI installs the packed package with npm, pnpm and bun, then runs `faf --version` and `faf score`.
|
|
140
143
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
### The Always33 Edition (8.0)
|
|
145
|
+
|
|
146
|
+
**One engine, one number: faf-cli v8 scores with the always-33 kernel — the same score faf-kernel, faf-rust-sdk and rust-faf-mcp give.**
|
|
147
|
+
|
|
148
|
+
- **The always-33 engine.** Every `.faf` is scored against all 33 Mk4 slots by one Rust kernel (`faf-scoring-kernel` 3.0.0, WASM). Verified identical to the reference always-33 scorer on the `project.faf` of all 80 FAF repos.
|
|
149
|
+
- **Your 21 slots, and the 12 enterprise slots in view.** faf-cli fills the 21 base slots. The 12 enterprise slots — infra, app, ops — are marked `slotignored` unless your app-type uses them, and `faf score` shows all 33.
|
|
150
|
+
- **Upgrading from 7.x:** a `.faf` without the 12 enterprise markers now scores against 33, so its number can drop (21 filled = 64%). **Run `faf auto`** — it writes the markers and your score returns.
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
✪ TROPHY 100% 21/21 slots — project.faf
|
|
154
|
+
● project.name
|
|
155
|
+
…
|
|
156
|
+
● stack.cicd
|
|
157
|
+
— stack.monorepo_tool: slotignored
|
|
158
|
+
…
|
|
159
|
+
— monorepo.remote_cache: slotignored
|
|
160
|
+
```
|
|
144
161
|
|
|
145
162
|
**Recent sprint**
|
|
146
163
|
|
|
164
|
+
- ✪ [8.0.1](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v8.0.1) pnpm installs work — faf-scoring-kernel from npm
|
|
165
|
+
- ✪ [8.0.0](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v8.0.0) The Always33 Edition — one engine, one number
|
|
147
166
|
- 🧱 [7.16.2](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v7.16.2) `faf compile` emits FAFb wire v2 — same bytes as the faf-fafb golden
|
|
148
167
|
- 🧭 [7.16.1](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v7.16.1) `faf` back in step with `faf-cli`
|
|
149
168
|
- 🧭 [7.16.0](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v7.16.0) The Discoverable Edition
|
|
@@ -185,6 +204,8 @@ Your own rules for the AI — *"use full words in identifiers," "use bun, not np
|
|
|
185
204
|
| ○ **Red** | <55% | AI working blind |
|
|
186
205
|
| ♡ **White** | 0% | No context at all |
|
|
187
206
|
|
|
207
|
+
**Always-33.** The score is filled ÷ active across all 33 Mk4 slots. Your app-type decides which slots are active; the rest are `slotignored` and stay visible. Same file, same engine, same number — see [docs/SCORING.md](./docs/SCORING.md).
|
|
208
|
+
|
|
188
209
|
**One score, three glyphs:** ✪ work (CLI · docs · receipts) · 🏆 social (X · blogs) · Trophy Mark PNG (brand). Source of truth: `src/core/tiers.ts`.
|
|
189
210
|
|
|
190
211
|
---
|
|
@@ -214,6 +235,7 @@ For a specific agent: [Grok, xAI & Cursor 👀](docs/faf-cli-for-agents.md) · [
|
|
|
214
235
|
|
|
215
236
|
Pivotal releases — full history in [CHANGELOG.md](./CHANGELOG.md):
|
|
216
237
|
|
|
238
|
+
- **v8.0 — Always33** — one engine, one number: the same score everywhere.
|
|
217
239
|
- **v7.1 — AGENTS.md** — `faf export --agents` authors a complete, non-destructive `AGENTS.md`.
|
|
218
240
|
- **v7.0 — GIT** — context goes git-native: `faf diff` / `log` / `hooks`.
|
|
219
241
|
- **v6.16 — Know Your Stack** — every emitted file labels your stack identically.
|