faf-mcp 3.0.2 → 4.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/CHANGELOG.md +17 -1
- package/CLAUDE.md +2 -2
- package/README.md +10 -2
- package/package.json +4 -4
- package/project.faf +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- faf: faf-mcp | TypeScript | mcp | The Interop MCP for Context — the Cursor / IDE Edition. Persistent context for Cursor, VS Code, and every MCP-compatible IDE. IANA-registered application/vnd.faf+yaml. Start with "Use FAF". -->
|
|
2
|
-
<!-- faf: doc=changelog | latest=
|
|
2
|
+
<!-- faf: doc=changelog | latest=v4.0.0 | canonical=project.faf | family=FAF -->
|
|
3
3
|
|
|
4
4
|
# Changelog
|
|
5
5
|
|
|
@@ -8,6 +8,22 @@ All notable changes to faf-mcp will be documented in this file.
|
|
|
8
8
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
9
9
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
10
10
|
|
|
11
|
+
## [4.0.0] - 2026-09-26 — The Always33 Edition
|
|
12
|
+
|
|
13
|
+
**One engine, one number: faf-mcp 4 scores all 33 slots with faf-cli 8's always-33 kernel — the same score faf-cli, claude-faf-mcp 7 and faf-kernel give.** 402 tests.
|
|
14
|
+
|
|
15
|
+
**4.0.0 is a major release because scores can move.** A `.faf` without the 12 enterprise `slotignored` markers now counts them as empty (21 filled = 64%). Run `faf_auto` — it writes the markers and the score returns (a v3-era mcp-context-card file: 56% → 100%). Anything that gates on `faf_score` should re-check its threshold.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- **The always-33 engine.** faf-mcp composes **faf-cli ^8.0.0** (was ^7.12.0, which could never resolve 8.x). Every tool's score is faf-cli 8's: all 33 Mk4 slots, one Rust kernel (`faf-scoring-kernel` 3.0.0). Verified live: `faf_score` on faf-python-sdk 56, mcp-context-card 56, faf-cli ✪ 100 — identical to faf-cli 8.0.0 and claude-faf-mcp 7.0.0 (which ships first).
|
|
19
|
+
- **One kernel copy.** The direct `faf-scoring-kernel ^2.0.3` dependency is gone (nothing imported it); the only kernel in an install is faf-cli's own.
|
|
20
|
+
- **The 12 enterprise slots stay in view** — marked `slotignored` unless your app-type uses them. `faf_score` scores against all 33; `slotignored` slots drop out of the denominator.
|
|
21
|
+
- **faf-cli's owner rule for the blocks it writes** (faf-cli 7.13+, which npm installs of 3.0.2 already had): a block faf can prove is its own is replaced in place; an ambiguous one — a marker with trailing whitespace, a marker behind an unclosed or misread fence, a metastamp-only file — is left whole below a fresh block. Nothing is ever partly wiped.
|
|
22
|
+
- `tbd` and `todo` (any case) count as empty.
|
|
23
|
+
|
|
24
|
+
### Tests
|
|
25
|
+
- The doctor fixtures carry the 12 enterprise markers; the injector tests assert the owner rule against faf-cli 8's actual output.
|
|
26
|
+
|
|
11
27
|
## [3.0.2] - 2026-09-10 — The Compose Edition
|
|
12
28
|
|
|
13
29
|
**Tools that say what they do: `faf_git` scores with faf-cli and asks before overwriting, `faf_sync` previews each change, and imports say when nothing was written.**
|
package/CLAUDE.md
CHANGED
|
@@ -25,12 +25,12 @@ The Interop MCP for Context — the Cursor / IDE Edition. Persistent context for
|
|
|
25
25
|
- **What:** The Cursor / IDE Edition — persistent context for Cursor, VS Code, and every MCP-compatible IDE — 29 MCP tools (15 essential shown by default), interop with AGENTS.md, .cursorrules, GEMINI.md
|
|
26
26
|
- **Why:** Eliminate the 20-minute AI context tax — give AI instant project understanding in 30 seconds
|
|
27
27
|
- **Where:** npm · MCP Registry · any MCP-compatible IDE — people get it how they wish
|
|
28
|
-
- **When:** Production/Stable —
|
|
28
|
+
- **When:** Production/Stable — v4.0.0 The Always33 Edition, WJTTC certified
|
|
29
29
|
- **How:** npx faf-mcp or npm install -g faf-mcp, then add to your MCP config
|
|
30
30
|
|
|
31
31
|
---
|
|
32
32
|
|
|
33
|
-
*STATUS:
|
|
33
|
+
*STATUS: SYNC ACTIVE — 2026-09-26T17:54:17.189Z*
|
|
34
34
|
<!-- faf:end -->
|
|
35
35
|
|
|
36
36
|
## Working here
|
package/README.md
CHANGED
|
@@ -27,7 +27,15 @@
|
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
-
## What's New in
|
|
30
|
+
## What's New in 4.0.0 — The Always33 Edition
|
|
31
|
+
|
|
32
|
+
**One engine, one number: faf-mcp 4 scores all 33 slots with faf-cli 8's always-33 kernel — the same score faf-cli, claude-faf-mcp 7 and faf-kernel give.**
|
|
33
|
+
|
|
34
|
+
- **The always-33 engine.** Every tool scores with faf-cli 8.0.0 — all 33 Mk4 slots, one Rust kernel, one copy of it. Checked live: faf-python-sdk 56, mcp-context-card 56, faf-cli ✪ 100.
|
|
35
|
+
- **Your 21 slots, and the 12 enterprise slots in view.** The enterprise slots (infra, app, ops) are marked `slotignored` unless your app-type uses them. `faf_score` scores against all 33; `slotignored` slots drop out of the denominator.
|
|
36
|
+
- **Upgrading from 3.x:** a `.faf` without the 12 markers now scores against 33. **Run `faf_auto`** — it writes them and your score returns.
|
|
37
|
+
|
|
38
|
+
## 3.0.2 — The Compose Edition
|
|
31
39
|
|
|
32
40
|
**Tools that say what they do: `faf_git` scores with faf-cli and asks before overwriting, `faf_sync` previews each change, and imports say when nothing was written.**
|
|
33
41
|
|
|
@@ -125,7 +133,7 @@ faf_claude { all: true }
|
|
|
125
133
|
faf_git { url: "https://github.com/facebook/react" }
|
|
126
134
|
```
|
|
127
135
|
|
|
128
|
-
**Core tier:** 15 essential tools shown by default; set `FAF_TOOLS=all` for the full **29** (every tool stays callable by name either way) · **
|
|
136
|
+
**Core tier:** 15 essential tools shown by default; set `FAF_TOOLS=all` for the full **29** (every tool stays callable by name either way) · **26 test suites** · **7 bundled parsers**
|
|
129
137
|
|
|
130
138
|
---
|
|
131
139
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "faf-mcp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"mcpName": "one.faf/faf-mcp",
|
|
5
5
|
"description": ".FAF Context — persistent project context for Cursor, VS Code and every MCP-compatible IDE. IANA-registered .faf format. Curated core tools by default, full set via FAF_TOOLS=all.",
|
|
6
6
|
"icon": "./assets/icons/faf-icon-256.png",
|
|
@@ -98,9 +98,9 @@
|
|
|
98
98
|
},
|
|
99
99
|
"dependencies": {
|
|
100
100
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
101
|
-
"faf-cli": "^
|
|
102
|
-
"
|
|
103
|
-
"
|
|
101
|
+
"faf-cli": "^8.0.0",
|
|
102
|
+
"yaml": "^2.4.1",
|
|
103
|
+
"zod": "^4.0"
|
|
104
104
|
},
|
|
105
105
|
"devDependencies": {
|
|
106
106
|
"@types/jsonwebtoken": "^9.0.5",
|
package/project.faf
CHANGED
|
@@ -2,7 +2,7 @@ faf_version: "3.0"
|
|
|
2
2
|
project:
|
|
3
3
|
name: faf-mcp
|
|
4
4
|
title: .FAF Context
|
|
5
|
-
version:
|
|
5
|
+
version: 4.0.0
|
|
6
6
|
goal: The Interop MCP for Context — the Cursor / IDE Edition. Persistent context for Cursor, VS Code, and every MCP-compatible IDE. IANA-registered application/vnd.faf+yaml. Start with "Use FAF".
|
|
7
7
|
main_language: TypeScript
|
|
8
8
|
type: mcp
|
|
@@ -33,7 +33,7 @@ human_context:
|
|
|
33
33
|
what: The Cursor / IDE Edition — persistent context for Cursor, VS Code, and every MCP-compatible IDE — 29 MCP tools (15 essential shown by default), interop with AGENTS.md, .cursorrules, GEMINI.md
|
|
34
34
|
why: Eliminate the 20-minute AI context tax — give AI instant project understanding in 30 seconds
|
|
35
35
|
where: npm · MCP Registry · any MCP-compatible IDE — people get it how they wish
|
|
36
|
-
when: Production/Stable —
|
|
36
|
+
when: Production/Stable — v4.0.0 The Always33 Edition, WJTTC certified
|
|
37
37
|
how: npx faf-mcp or npm install -g faf-mcp, then add to your MCP config
|
|
38
38
|
monorepo:
|
|
39
39
|
packages_count: slotignored
|