faf 7.1.4 → 7.3.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
@@ -23,7 +23,7 @@ detected from your real stack, scored, and versioned with your code. No drift. N
23
23
 
24
24
  <br>
25
25
 
26
- **115,000+ downloads across the FAF ecosystem · IANA-registered · Anthropic-merged (#2759)**
26
+ **Over 100k downloads** · see [faf.one/downloads](https://faf.one/downloads) for latest stats · **IANA-registered · Anthropic-merged (#2759)**
27
27
 
28
28
  ⭐ **A star helps other devs find faf-cli** — despite the downloads, ~3 of 4 devs check stars.
29
29
 
@@ -105,6 +105,7 @@ Run `faf` with no arguments:
105
105
  | `faf score` | Check AI-readiness (0–100%) |
106
106
  | `faf export` | Author `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, `.cursorrules` |
107
107
  | `faf sync` | Bi-directional `.faf` ↔ `CLAUDE.md` |
108
+ | `faf memory` | `.fafm` soul ops — convert Claude memory, etch, recall, ls, show |
108
109
  | `faf diff` / `log` | Semantic context diff + score timeline across git history |
109
110
  | `faf hooks --install` | Pre-commit guard against context regression |
110
111
  | `faf compile` / `decompile` | `.faf` ↔ `.fafb` sealed binary |
@@ -115,6 +116,30 @@ Run `faf` with no arguments:
115
116
 
116
117
  Run `faf --help` for the full command set and options.
117
118
 
119
+ ### Memory (`.fafm`) — new in 7.2.0
120
+
121
+ Portable agent memory in the IANA-registered [`.fafm`](https://www.iana.org/assignments/media-types/application/vnd.fafm+yaml) format. Same INTEROP as [claude-fafm-sdk 1.0](https://pypi.org/project/claude-fafm-sdk/).
122
+
123
+ ```bash
124
+ # Claude Code memory dir → soul.fafm
125
+ faf memory convert ~/.claude/projects/.../memory -o soul.fafm
126
+
127
+ faf memory ls # ranked facts
128
+ faf memory recall "your query" # deterministic filter + rank
129
+ faf memory etch "a durable fact" --id my-fact
130
+ faf memory show
131
+ ```
132
+
133
+ ### What's New in v7.3.0 — The Go Edition
134
+
135
+ - **Content-aware Go** — `go.mod` alone is never “backend.” FAF classifies MCP · Gin/Echo/Fiber/Chi · Cobra/cmd CLI · pure library.
136
+ - **Same pattern as Dart** — one knowledge file, one classifier; composed across surfaces.
137
+ - **Work-surface Trophy glyph ✪** — 100% Proof Seal on CLI/docs (social still 🏆).
138
+
139
+ ### Dart/Flutter — knowledge v2 in 7.2.1
140
+
141
+ Same content-aware detection as the [Dart Edition](https://faf.one/blog/claude-dart-edition) (Flutter ≠ every `pubspec`). **7.2.1** refreshes the single-source knowledge table: Riverpod annotation, Flutter Hooks, Beamer, Routemaster, Jaspr, Relic, and more MCP package names — still **one classifier**, composed by the MCPs.
142
+
118
143
  ---
119
144
 
120
145
  ## Custom instructions
@@ -127,20 +152,20 @@ Your own rules for the AI — *"use full words in identifiers," "use bun, not np
127
152
 
128
153
  ## Scoring
129
154
 
130
- **🏆 Trophy 100% — all or nothing.** From v6.6.0 onward, faf-cli recommends only Trophy. 100% on the FCL is what makes the layers above (MD instructions, Agents, AI tooling) work — sub-Trophy leaves gaps that AI guesses on. Sub-Trophy tiers are honest interim states on the way to Trophy, not endpoints.
155
+ **✪ Trophy 100% — all or nothing.** From v6.6.0 onward, faf-cli recommends only Trophy. 100% on the FCL is what makes the layers above (MD instructions, Agents, AI tooling) work — sub-Trophy leaves gaps that AI guesses on. Sub-Trophy tiers (including Bronze 85) remain on the ladder as honest interim states — they are not deleted; we just no longer *aim* for 85 as the goal.
131
156
 
132
157
  | Tier | Score | Status |
133
158
  |------|-------|--------|
134
- | 🏆 / ✪ **Trophy** | 100% | AI never has to guess |
159
+ | ✪ **Trophy** | 100% | AI never has to guess — target |
135
160
  | ★ **Gold** | 99%+ | 1 slot from Trophy |
136
161
  | ◆ **Silver** | 95%+ | Close — keep going |
137
- | ◇ **Bronze** | 85%+ | Interim — keep going |
162
+ | ◇ **Bronze** | 85%+ | On the ladder (was the old recommend-min; not the target) |
138
163
  | ● **Green** | 70%+ | Interim — keep going |
139
164
  | ● **Yellow** | 55%+ | AI flipping coins |
140
165
  | ○ **Red** | <55% | AI working blind |
141
166
  | ♡ **White** | 0% | No context at all |
142
167
 
143
- **🏆 and ✪ both mean 100%** — the same top score, shown by surface: **✪** (the Proof Seal) on code surfaces — CLI, skills, docs, the hub — and **🏆** on social: posts, blogs, cards. You'll see both around for a while as the ✪ convention settles in.
168
+ **One score, three glyphs:** ✪ work (CLI · docs · receipts) · 🏆 social (X · blogs) · Trophy Mark PNG (brand). Source of truth: `src/core/tiers.ts`.
144
169
 
145
170
  ---
146
171
 
@@ -172,7 +197,7 @@ Pivotal releases — full history in [CHANGELOG.md](./CHANGELOG.md):
172
197
  - **v7.0 — GIT** — context goes git-native: `faf diff` / `log` / `hooks`.
173
198
  - **v6.16 — Know Your Stack** — every emitted file labels your stack identically.
174
199
  - **v6.15 — Copilot** — `faf export --copilot` writes the file GitHub Copilot reads.
175
- - **v6.14 — Loop** — `faf loop` drives any repo to 🏆 100% or the honest human wall.
200
+ - **v6.14 — Loop** — `faf loop` drives any repo to ✪ 100% or the honest human wall.
176
201
  - **v6.7 — HTML** — `faf show` renders a `.faf` to a browsable page. *(FAF defines. MD instructs. AI codes. HTML shows.)*
177
202
  - **v6.6 — Trophy** — 100% or nothing.
178
203
  - **v6.0 — Bun** — ground-up rewrite; single portable binary, four platforms.