faf-cli 6.7.1 → 6.9.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 CHANGED
@@ -1,27 +1,30 @@
1
- <!-- faf: faf-cli | TypeScript | cli | CLI for the .faf format — IANA-registered AI context that versions with your code -->
1
+ <!-- faf: faf-cli | TypeScript | cli | CLI for the .faf and .fafm IANA-registered formats — AI context + memory that versions with your code -->
2
2
  <!-- faf: doc=readme | canonical=project.faf | score=100 | family=FAF -->
3
3
 
4
4
  <div style="display: flex; align-items: center; gap: 12px;">
5
5
  <img src="https://www.faf.one/orange-smiley.svg" alt="FAF" width="40" />
6
6
  <div>
7
- <h1 style="margin: 0; color: #000000;">faf-cli v6.7</h1>
8
- <p style="margin: 2px 0 0 0; font-size: 0.85em; letter-spacing: 0.12em; opacity: 0.7; text-transform: uppercase;"><strong>The HTML Edition</strong></p>
7
+ <h1 style="margin: 0; color: #000000;">faf-cli — The Grounded Edition</h1>
8
+ <p style="margin: 2px 0 0 0; font-size: 0.85em; letter-spacing: 0.12em; opacity: 0.7; text-transform: uppercase;"><strong>Persistent AI Context Standard</strong></p>
9
9
  <p style="margin: 6px 0 0 0;"><strong>Persistent Project Context for AI.</strong></p>
10
10
  <p style="margin: 0;"><strong>Define once. Run anywhere.</strong></p>
11
11
  </div>
12
12
  </div>
13
13
 
14
+ [![npm version](https://img.shields.io/npm/v/faf-cli)](https://www.npmjs.com/package/faf-cli)
15
+ [![FAF Trophy 100%](https://img.shields.io/badge/FAF-%F0%9F%8F%86%20100%25-000000?labelColor=FF6B35)](https://faf.one)
16
+ [![IANA: vnd.faf+yaml](https://img.shields.io/badge/IANA-vnd.faf%2Byaml-00D4D4)](https://www.iana.org/assignments/media-types/application/vnd.faf+yaml)[![IANA: vnd.fafm+yaml](https://img.shields.io/badge/IANA-vnd.fafm%2Byaml-00D4D4)](https://www.iana.org/assignments/media-types/application/vnd.fafm+yaml)
17
+ [![DOI: Context paper](https://img.shields.io/badge/DOI-Context%20paper-FF6B35)](https://doi.org/10.5281/zenodo.18251362)[![DOI: Memory paper](https://img.shields.io/badge/DOI-Memory%20paper-FF6B35)](https://doi.org/10.5281/zenodo.20348942)
18
+
19
+ **Home:** [faf.one/cli](https://faf.one/cli)
20
+
14
21
  **FAF defines. MD instructs. AI codes.**
15
22
 
16
23
  [![FAF](https://mcpaas.live/badge/Wolfe-Jam/faf-cli.svg)](https://builder.faf.one)
17
24
  [![TAF](./badge.svg)](https://github.com/Wolfe-Jam/faf-taf-git)
18
25
  [![CI](https://github.com/Wolfe-Jam/faf-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/Wolfe-Jam/faf-cli/actions/workflows/ci.yml)
19
- [![NPM Downloads](https://img.shields.io/npm/dt/faf-cli?label=total%20downloads&color=00CCFF)](https://www.npmjs.com/package/faf-cli)
20
- [![npm version](https://img.shields.io/npm/v/faf-cli?color=00CCFF)](https://www.npmjs.com/package/faf-cli)
21
26
  [![Homebrew](https://img.shields.io/badge/Homebrew-faf--cli-orange)](https://github.com/Wolfe-Jam/homebrew-faf)
22
- [![Website](https://img.shields.io/badge/Website-faf.one-orange)](https://faf.one)
23
27
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
24
- [![Built with Bun](https://img.shields.io/badge/Built_with-Bun-f9f1e1?logo=bun)](https://bun.sh)
25
28
  [![project.faf](https://img.shields.io/badge/project.faf-inside-00D4D4)](https://github.com/Wolfe-Jam/faf)
26
29
 
27
30
  ```
@@ -60,6 +63,16 @@ Run `faf` with no arguments:
60
63
 
61
64
  ---
62
65
 
66
+ ## v6.9 — The Grounded Edition
67
+
68
+ **Grounding becomes a first-class primitive: `faf bench` proves it, the 6Ws Interview single-sources it, `faf refresh` keeps it.**
69
+
70
+ - **`faf bench`** — the AI-grounding benchmark. Cold vs with-faf, two numbers (answers right, tokens burned), and **the `.faf` is the answer key** — grading is mechanical, the receipt is a verifiable `✪` sha256. A low cold score is an alarm bell: you are hemorrhaging tokens and the AI is guessing at what you're building. `faf bench` → protocol, `faf bench questions` → hand them to any AI, `faf bench grade answers.json --cold|--faf` → the pair.
71
+ - **The 6Ws Interview, exported** — the 8-question core (name + goal + the six Ws) plus the stack interview now ship as the public API (`SIX_WS_INTERVIEW`, `questionForSlot`, `interviewForMissing`). One registry; every consumer (CLI, MCPs, UIs) asks the same questions. Question drift is dead.
72
+ - **`faf refresh`** — the re-ground: re-score the live `.faf`, measure drift vs the DNA baseline (`drift: 43% ↑ 55% (+12)`), keep an existing `.fafb` fast tier compiled current, record the journey. `drift → refresh → re-grounded`.
73
+
74
+ ---
75
+
63
76
  ## v6.7 — The HTML Edition
64
77
 
65
78
  **We rendered a `.faf`. 🔥 The day we *saw* FAF.**
@@ -271,10 +284,43 @@ If `faf-cli` has been useful, consider starring the repo — it helps others fin
271
284
 
272
285
  ---
273
286
 
287
+
288
+ ## Citation
289
+
290
+ If you use `faf-cli` or the `.faf` / `.fafm` formats in research or production, please cite the format papers:
291
+
292
+ > Wolfe, J. (2025). *Format-Driven AI Context Architecture: The .faf Standard for Persistent Project Understanding*. Zenodo. https://doi.org/10.5281/zenodo.18251362
293
+
294
+ > Wolfe, J. (2026). *Permanent Memory and Instant Recall: The .fafm Standard for Multi-Profile AI Agent Memory*. Zenodo. https://doi.org/10.5281/zenodo.20348942
295
+
296
+ ### BibTeX
297
+
298
+ ```bibtex
299
+ @article{wolfe2025faf,
300
+ title = {Format-Driven AI Context Architecture: The .faf Standard for Persistent Project Understanding},
301
+ author = {Wolfe, James},
302
+ year = {2025},
303
+ month = {nov},
304
+ publisher = {Zenodo},
305
+ doi = {10.5281/zenodo.18251362},
306
+ url = {https://doi.org/10.5281/zenodo.18251362}
307
+ }
308
+
309
+ @article{wolfe2026fafm,
310
+ title = {Permanent Memory and Instant Recall: The .fafm Standard for Multi-Profile AI Agent Memory},
311
+ author = {Wolfe, James},
312
+ year = {2026},
313
+ month = {may},
314
+ publisher = {Zenodo},
315
+ doi = {10.5281/zenodo.20348942},
316
+ url = {https://doi.org/10.5281/zenodo.20348942}
317
+ }
318
+ ```
319
+
274
320
  ## License
275
321
 
276
322
  MIT — Free and open source
277
323
 
278
- **IANA-registered:** [`application/vnd.faf+yaml`](https://www.iana.org/assignments/media-types/application/vnd.faf+yaml)
324
+ **IANA-registered:** [`application/vnd.faf+yaml`](https://www.iana.org/assignments/media-types/application/vnd.faf+yaml) (Context Layer) · [`application/vnd.fafm+yaml`](https://www.iana.org/assignments/media-types/application/vnd.fafm+yaml) (Memory Layer)
279
325
 
280
326
  *format | driven 🏎️⚡️ [wolfejam.dev](https://wolfejam.dev)*