faf-cli 7.16.1 → 8.0.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.
- package/README.md +22 -6
- package/dist/cli.js +282 -269
- package/dist/cli.js.map +15 -14
- package/dist/core/faf-dna.d.ts +20 -0
- package/dist/core/slots.d.ts +1 -1
- package/dist/core/types.d.ts +16 -15
- package/dist/detect/scanner.d.ts +4 -5
- package/dist/index.js +143 -143
- package/dist/index.js.map +13 -12
- package/dist/interop/command-note.d.ts +43 -0
- package/dist/interop/inject.d.ts +8 -1
- package/dist/wasm/kernel.d.ts +3 -11
- package/package.json +4 -3
- package/project.faf +24 -21
- package/vendor/faf-scoring-kernel/README.md +88 -0
- package/vendor/faf-scoring-kernel/faf_wasm_sdk.d.ts +45 -0
- package/vendor/faf-scoring-kernel/faf_wasm_sdk.js +369 -0
- package/vendor/faf-scoring-kernel/faf_wasm_sdk_bg.wasm +0 -0
- package/vendor/faf-scoring-kernel/faf_wasm_sdk_bg.wasm.d.ts +15 -0
- package/vendor/faf-scoring-kernel/package.json +24 -0
package/README.md
CHANGED
|
@@ -110,7 +110,7 @@ Run `faf` with no arguments:
|
|
|
110
110
|
| `faf memory` | `.fafm` soul ops — convert Claude memory, etch, recall, ls, show |
|
|
111
111
|
| `faf diff` / `log` | Semantic context diff + score timeline across git history |
|
|
112
112
|
| `faf hooks --install` | Pre-commit guard against context regression |
|
|
113
|
-
| `faf compile` / `decompile` | `.faf` → `.fafb` sealed
|
|
113
|
+
| `faf compile` / `decompile` | `.faf` → `.fafb` **v2** sealed brick; `decompile` shows sections as JSON |
|
|
114
114
|
| `faf check` | Validate a `.faf` file |
|
|
115
115
|
| `faf recover` | Rebuild `.faf` from an existing `CLAUDE.md` / `AGENTS.md` |
|
|
116
116
|
| `faf show` | Render `project.faf` to a browsable HTML page |
|
|
@@ -132,16 +132,28 @@ faf memory etch "a durable fact" --id my-fact
|
|
|
132
132
|
faf memory show
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
-
### What's New in
|
|
135
|
+
### What's New in v8.0.0 — The Always33 Edition
|
|
136
136
|
|
|
137
|
-
**
|
|
137
|
+
**One engine, one number: faf-cli v8 scores all 33 slots with the always-33 kernel — the same score faf-kernel, faf-rust-sdk and rust-faf-mcp give.**
|
|
138
138
|
|
|
139
|
-
-
|
|
140
|
-
- **
|
|
141
|
-
- **
|
|
139
|
+
- **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.
|
|
140
|
+
- **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.
|
|
141
|
+
- **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.
|
|
142
|
+
|
|
143
|
+
```text
|
|
144
|
+
✪ TROPHY 100% 21/21 slots — project.faf
|
|
145
|
+
● project.name
|
|
146
|
+
…
|
|
147
|
+
● stack.cicd
|
|
148
|
+
— stack.monorepo_tool: slotignored
|
|
149
|
+
…
|
|
150
|
+
— monorepo.remote_cache: slotignored
|
|
151
|
+
```
|
|
142
152
|
|
|
143
153
|
**Recent sprint**
|
|
144
154
|
|
|
155
|
+
- ✪ [8.0.0](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v8.0.0) The Always33 Edition — one engine, one number
|
|
156
|
+
- 🧱 [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
|
|
145
157
|
- 🧭 [7.16.1](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v7.16.1) `faf` back in step with `faf-cli`
|
|
146
158
|
- 🧭 [7.16.0](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v7.16.0) The Discoverable Edition
|
|
147
159
|
- 🎴 [7.15.0](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v7.15.0) The Pack Edition
|
|
@@ -182,6 +194,8 @@ Your own rules for the AI — *"use full words in identifiers," "use bun, not np
|
|
|
182
194
|
| ○ **Red** | <55% | AI working blind |
|
|
183
195
|
| ♡ **White** | 0% | No context at all |
|
|
184
196
|
|
|
197
|
+
**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).
|
|
198
|
+
|
|
185
199
|
**One score, three glyphs:** ✪ work (CLI · docs · receipts) · 🏆 social (X · blogs) · Trophy Mark PNG (brand). Source of truth: `src/core/tiers.ts`.
|
|
186
200
|
|
|
187
201
|
---
|
|
@@ -200,6 +214,7 @@ tri-sync: .faf ──── 8ms ───→ CLAUDE.md + Claude Code's MEMORY
|
|
|
200
214
|
The full manual lives at **[docs.faf.one](https://docs.faf.one)** — facts for devs, faf-cli first. One-page overview: **[faf-cli.vercel.app](https://faf-cli.vercel.app)**.
|
|
201
215
|
|
|
202
216
|
- [Getting started](https://docs.faf.one/getting-started) — install · run · use
|
|
217
|
+
- [Cards](https://docs.faf.one/cards) — one `.fafa` → A2A · Server Card · registry · AI Catalog · ARD
|
|
203
218
|
- [Custom rules](https://docs.faf.one/custom-rules) — pin instructions your AI must follow
|
|
204
219
|
|
|
205
220
|
For a specific agent: [Grok, xAI & Cursor 👀](docs/faf-cli-for-agents.md) · [Claude Code 👀](docs/faf-cli-for-claude.md) · [Bun 👀](docs/faf-cli-for-bun.md)
|
|
@@ -210,6 +225,7 @@ For a specific agent: [Grok, xAI & Cursor 👀](docs/faf-cli-for-agents.md) · [
|
|
|
210
225
|
|
|
211
226
|
Pivotal releases — full history in [CHANGELOG.md](./CHANGELOG.md):
|
|
212
227
|
|
|
228
|
+
- **v8.0 — Always33** — one engine, one number: every `.faf` scored against all 33 slots.
|
|
213
229
|
- **v7.1 — AGENTS.md** — `faf export --agents` authors a complete, non-destructive `AGENTS.md`.
|
|
214
230
|
- **v7.0 — GIT** — context goes git-native: `faf diff` / `log` / `hooks`.
|
|
215
231
|
- **v6.16 — Know Your Stack** — every emitted file labels your stack identically.
|