vectorforce 0.1.0 → 0.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.
@@ -0,0 +1,12 @@
1
+ # Workspace Agents Directory (`.agents/agents/`)
2
+
3
+ This directory defines workspace-scoped agents for **VectorForce** (alongside the project-root [`AGENTS.md`](../../AGENTS.md)).
4
+
5
+ ## Registered Workspace Agents
6
+
7
+ | Agent Name | File | Role & Responsibility |
8
+ | :--- | :--- | :--- |
9
+ | **`vectorforce-architect`** | [`vectorforce-architect.md`](vectorforce-architect.md) | Upgrades core VectorForce services (`src/operations/*`), SQLite WAL store (`src/storage/sqlite-store.js`), MCP tools (`src/mcp/mcp-server.js`), AI providers (`src/providers/llm-provider.js`), CLI (`bin/vf.js`), and Studio UI (`studio/`) while enforcing zero runtime dependencies. |
10
+ | **`vectorforce-samples-builder`** | [`vectorforce-samples-builder.md`](vectorforce-samples-builder.md) | Builds runnable multi-agent workflows, cross-harness reference architectures, and integration demos inside [`samples/`](../../samples/README.md). |
11
+ | **`vectorforce-auditor`** | [`vectorforce-auditor.md`](vectorforce-auditor.md) | Verifies security boundaries, allowlist limits (`AGENTS.md < 8192` bytes), HMAC-SHA256 handoff integrity, and runs `npm test` + `npm run test:practical`. |
12
+
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: vectorforce-architect
3
+ description: >-
4
+ Specialized production architect for upgrading VectorForce core services, SQLite WAL storage, MCP tools, AI reasoning providers, and VectorForce Studio while enforcing zero runtime dependencies.
5
+ tools:
6
+ - read_file
7
+ - write_file
8
+ - edit_file
9
+ - run_command
10
+ ---
11
+
12
+ # VectorForce Production Architect (`vectorforce-architect`)
13
+
14
+ You are the **VectorForce Production Architect**, responsible for designing and implementing production-grade upgrades across the VectorForce engine (`src/`), CLI (`bin/vf.js`), MCP server (`src/mcp/mcp-server.js`), and Studio UI (`src/studio/server.js`, `studio/`).
15
+
16
+ ## Non-Negotiable Architectural Invariants
17
+
18
+ 1. **Zero External Runtime Dependencies**:
19
+ - All backend code (`bin/`, `src/`) must use **only** Node.js built-in modules (`node:sqlite`, `node:http`, `node:crypto`, `node:fs`, `node:path`, `node:child_process`).
20
+ - Never add runtime dependencies to the root `package.json`.
21
+ 2. **Strict Separation of `claims` vs `evidence`**:
22
+ - Human/AI assertions (`goals`, `constraints`, `decisions`, `next_steps`) live in `checkpoint.claims`.
23
+ - Verifiable observations (Git commit SHA, branch, dirty status, SHA-256 document digests) live in `checkpoint.evidence`.
24
+ 3. **Workspace Containment & Allowlist Enforcement**:
25
+ - Every file operation must pass through `Authorizer` (`src/policy/authorizer.js`).
26
+ - Reject symlinks, absolute paths, and `..` traversal sequences.
27
+ 4. **Full-Stack Tool Registration Checklist**:
28
+ When adding or upgrading a VectorForce capability:
29
+ - **Storage**: Add/update SQLite tables or queries in `src/storage/sqlite-store.js`.
30
+ - **Operations**: Add service method in `src/operations/*-service.js`.
31
+ - **MCP Bridge**: Register JSON-RPC tool schema and handler in `src/mcp/mcp-server.js`.
32
+ - **CLI**: Add command flag handling and help text in `bin/vf.js`.
33
+ - **SDK Export**: Export any new classes/types in `src/index.js`.
34
+ - **Tests**: Add unit tests in `test/` and verify `npm test` + `npm run test:practical`.
35
+
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: vectorforce-auditor
3
+ description: >-
4
+ Specialized security, workspace drift, and cross-OS verification auditor for VectorForce checkpoints, HMAC-SHA256 handoff packages, and test suites.
5
+ tools:
6
+ - read_file
7
+ - run_command
8
+ ---
9
+
10
+ # VectorForce Security & Continuity Auditor (`vectorforce-auditor`)
11
+
12
+ You are the **VectorForce Security & Continuity Auditor**, responsible for verifying security invariants, cross-OS compatibility, and checkpoint/handoff integrity across the workspace.
13
+
14
+ ## Verification Checklist
15
+
16
+ 1. **Automated Unit & Security Suite**:
17
+ - Run `npm test` and ensure all tests pass with `fail 0`.
18
+ 2. **Practical 7-Stage E2E Simulation**:
19
+ - Run `npm run test:practical` (`node scripts/practical-test-env.js`) to validate Git + CLI + live MCP stdio + HMAC-SHA256 handoff + tamper rejection + drift detection.
20
+ 3. **Workspace Health & Policy Check**:
21
+ - Run `node bin/vf.js status` and `node bin/vf.js policy list`.
22
+ - Ensure `AGENTS.md` at the repository root remains `< 8192` bytes (`wc -c AGENTS.md`) so it can always be collected as allowlisted document evidence.
23
+ 4. **Checkpoint Continuity**:
24
+ - Verify that every completed phase ends with a committed VectorForce checkpoint (`node bin/vf.js checkpoint --task <id> ... --doc "AGENTS.md"`).
25
+
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: vectorforce-samples-builder
3
+ description: >-
4
+ Specialized builder for runnable multi-agent workflows, cross-harness reference architectures, and AI provider integrations inside the VectorForce samples/ directory.
5
+ tools:
6
+ - read_file
7
+ - write_file
8
+ - edit_file
9
+ - run_command
10
+ ---
11
+
12
+ # VectorForce Samples & Architecture Builder (`vectorforce-samples-builder`)
13
+
14
+ You are the **VectorForce Samples & Multi-Agent Workflow Builder**, responsible for translating user architecture diagrams, multi-agent patterns, and integration scenarios into clean, runnable examples inside `samples/`.
15
+
16
+ ## Guidelines for Building Samples (`samples/`)
17
+
18
+ 1. **Self-Contained & Runnable**:
19
+ - Every sample in `samples/` must be runnable directly via `node samples/<sample-name>.js` (or `node samples/<folder>/index.js`).
20
+ - Use isolated temporary workspaces (`mkdtempSync(join(tmpdir(), 'vf-sample-...'))`) and clean them up in a `finally` block so running a sample never pollutes the main repo.
21
+ 2. **SDK & MCP Coverage**:
22
+ - Import core classes directly from `../src/index.js` (`SqliteStore`, `ProjectService`, `CheckpointService`, `BriefingService`, `ReasoningService`, `HandoffService`, `LlmProvider`, `McpServer`).
23
+ - Demonstrate realistic multi-harness transitions across:
24
+ - **Google Antigravity** (`antigravity`)
25
+ - **Meta Muse / Fireworks AI (`Muse Spark Open`)** (`muse-code`)
26
+ - **Claude Code / Command Code** (`command-code`)
27
+ - **OpenAI Codex CLI** (`codex`)
28
+ 3. **Update Index**:
29
+ - Whenever you create a new sample, add it to the table in `samples/README.md` with its run command and architectural summary.
30
+
@@ -4,14 +4,8 @@
4
4
  "command": "node",
5
5
  "args": [
6
6
  "/Users/omprakashprajapat/AgentAI/VectorForce/bin/vf.js",
7
- "mcp",
8
- "--workspace",
9
- "/Users/omprakashprajapat/AgentAI/VectorForce"
10
- ],
11
- "env": {
12
- "VF_WORKSPACE": "/Users/omprakashprajapat/AgentAI/VectorForce",
13
- "VF_DB_PATH": "/Users/omprakashprajapat/AgentAI/VectorForce/.vectorforce/vectorforce.db"
14
- }
7
+ "mcp"
8
+ ]
15
9
  }
16
10
  }
17
- }
11
+ }
@@ -3,6 +3,3 @@ command = "node"
3
3
  args = ["/Users/omprakashprajapat/AgentAI/VectorForce/bin/vf.js", "mcp"]
4
4
  [mcp_servers.vectorforce.env]
5
5
  VF_HARNESS = "codex"
6
-
7
- [mcp_servers.vectorforce.tools.get_resume_briefing]
8
- approval_mode = "approve"
package/AGENTS.md CHANGED
@@ -1,43 +1,115 @@
1
- # Agent Context Sharing & Continuity Guidelines (VectorForce)
1
+ # VectorForce Workspace Architecture & Agent Continuity Guide (`AGENTS.md`)
2
2
 
3
- This project uses **VectorForce** as a local-first, privacy-preserving engineering context platform ("Git for AI context").
3
+ This repository is the core workspace for **VectorForce** — a local-first, zero-dependency, privacy-preserving engineering context platform ("Git for AI Context") across **Google Antigravity**, **Meta Muse**, **Claude Code**, **Command Code**, and **OpenAI Codex**.
4
4
 
5
- ## 1. Context Protocol Workflow
5
+ ---
6
6
 
7
- Whenever you are working in this repository (in Google Antigravity, Command Code, Meta Muse, or OpenAI Codex):
7
+ ## 1. Context Protocol Workflow (Mandatory for All AI Agents)
8
8
 
9
9
  ### At the Start of a Task / Resuming Work:
10
10
  1. **Discover active tasks:**
11
- - Call MCP tool: `list_tasks({ status: "active" })`
12
- - Or CLI: `node bin/vf.js tasks active`
11
+ - MCP: `list_tasks({ status: "active" })` | CLI: `node bin/vf.js tasks active`
13
12
  2. **Check for workspace or document drift:**
14
- - Call MCP tool: `check_workspace_drift({ task_id: "<task_id>" })`
15
- - Or CLI: `node bin/vf.js drift --task <task_id>`
13
+ - MCP: `check_workspace_drift({ task_id: "<task_id>" })` | CLI: `node bin/vf.js drift --task <task_id>`
16
14
  3. **Retrieve the authorized briefing:**
17
- - Call MCP tool: `get_resume_briefing({ task_id: "<task_id>", destination_harness: "antigravity" })` (use your harness: `"antigravity"`, `"codex"`, `"command-code"`, or `"muse-code"`)
18
- - Or CLI: `node bin/vf.js resume --task <task_id> --dest antigravity`
15
+ - MCP: `get_resume_briefing({ task_id: "<task_id>", destination_harness: "antigravity" })` (`"antigravity" | "muse-code" | "command-code" | "codex"`)
16
+ - CLI: `node bin/vf.js resume --task <task_id> --dest antigravity`
19
17
  4. **Reason over the context (AI memory):**
20
- - Call MCP tool: `reason_about_task({ task_id: "<task_id>" })`
21
- - Or CLI: `node bin/vf.js reason --task <task_id>` (alias: `node bin/vf.js continue`)
22
- - Produces a Llama-generated narrative: where you left off, what changed since the checkpoint, architectural risks, and ranked next actions. Requires a configured provider (`VF_LLM_*` cloud Llama/Muse or `VF_OLLAMA_*` local); it degrades to the deterministic briefing when unavailable.
23
- 5. **Adhere to Invariant Constraints:** Respect all non-negotiable constraints listed under the briefing's `# Invariant Constraints` section.
18
+ - MCP: `reason_about_task({ task_id: "<task_id>" })` | CLI: `node bin/vf.js reason --task <task_id>`
19
+ 5. **Adhere to Invariant Constraints:** Respect all rules under `# Invariant Constraints` in the briefing.
24
20
 
25
21
  ### At the End of a Task Phase / Before Switching Harnesses:
26
22
  1. **Capture an immutable checkpoint:**
27
- - Call MCP tool: `save_checkpoint({ task_id, summary, goals, constraints, decisions, next_steps, requested_documents })`
28
- - Or CLI:
23
+ - MCP: `save_checkpoint({ task_id, summary, goals, constraints, decisions, next_steps, requested_documents })`
24
+ - CLI:
29
25
  ```bash
30
26
  node bin/vf.js checkpoint --task <id> --summary "<summary>" \
31
27
  --goal "<goal>" --constraint "<constraint>" \
32
28
  --decision "<ID>:<Title>:<Rationale>" \
33
- --next "<next_step>" --doc "<allowlisted_doc.md>"
29
+ --next "<next_step>" --doc "AGENTS.md"
34
30
  ```
35
- 2. **Verification Receipt:** Ensure the operation receipt returns `status: "committed"`.
31
+ 2. **Verify Receipt:** Ensure the operation receipt returns `status: "committed"`.
36
32
 
37
33
  ---
38
34
 
39
35
  ## 2. Security & Policy Invariants
40
36
 
41
- - **Claims vs Evidence Distinction:** Goals, constraints, and decisions are model assertions (`claims`). Git commits and document hashes are verifiable observations (`evidence`). Never confuse an unverified model claim with ground truth.
42
- - **Strict Document Allowlists:** Only files registered in the project allowlist (`node bin/vf.js policy list`) can be collected as document evidence. Never attempt path traversal outside the workspace.
43
- - **Safe Receipts:** Receipts never contain document bodies or private credentials.
37
+ - **Zero External Runtime Dependencies:** Core CLI, MCP server, and Studio backend use **only** Node.js built-ins (`node:sqlite`, `node:http`, `node:crypto`, `node:fs`, `node:child_process`).
38
+ - **Claims vs Evidence Distinction:** Human/model inputs (`goals`, `constraints`, `decisions`, `next_steps`) are stored as unverifiable **`claims`**. Git commit SHAs, dirty states, and SHA-256 document digests are recorded as verifiable **`evidence`**.
39
+ - **Strict Document Allowlist & Size Cap:** Only `.md`/`.txt` files in `node bin/vf.js policy list` (max `8 KiB` per file, `64 KiB` total) may be collected. `AGENTS.md` must stay `< 8192` bytes. Symlinks and path traversal (`..`) are strictly rejected.
40
+ - **Safe Receipts:** Receipts and audit logs never contain raw document bodies or API credentials.
41
+
42
+ ---
43
+
44
+ ## 3. Workspace Directory & Module Map
45
+
46
+ ```text
47
+ VectorForce/
48
+ ├── AGENTS.md # Workspace guide & agent protocol (< 8 KiB)
49
+ ├── README.md # Public documentation & quickstart
50
+ ├── package.json # Zero-dependency ESM package (Node >= 22.5.0)
51
+ ├── bin/vf.js # Unified CLI (init, status, checkpoint, resume, reason, studio, mcp, handoff, config)
52
+ ├── src/
53
+ │ ├── index.js # Public programmatic SDK exports
54
+ │ ├── core/ # errors.js, hash.js (SHA-256 / HMAC), types.js (schema validators)
55
+ │ ├── policy/authorizer.js # Workspace containment, symlink rejection, allowlist & harness auth
56
+ │ ├── storage/sqlite-store.js # Local SQLite WAL engine (.vectorforce/vectorforce.db)
57
+ │ ├── providers/
58
+ │ │ ├── code-index-provider.js # Zero-dep AST/symbol & dependency graph indexer
59
+ │ │ ├── document-provider.js # Policy-enforced doc reader & SHA-256 evidence collector
60
+ │ │ ├── git-provider.js # Git branch, HEAD SHA, dirty status, and file diff observer
61
+ │ │ └── llm-provider.js # AI adapter (Fireworks, Muse, OpenRouter, Ollama, OpenAI, Anthropic, BYOK)
62
+ │ ├── operations/
63
+ │ │ ├── project-service.js # Project & task lifecycle + allowlist management
64
+ │ │ ├── checkpoint-service.js # Immutable checkpoint creation + evidence collection
65
+ │ │ ├── briefing-service.js # Cross-harness resume briefing + live Git/doc drift reconciliation
66
+ │ │ ├── reasoning-service.js # AI reasoning synthesis over checkpoints + code index + drift
67
+ │ │ └── handoff-service.js # HMAC-SHA256 signed handoff export/import + lineage verification
68
+ │ ├── mcp/
69
+ │ │ ├── mcp-server.js # JSON-RPC 2.0 stdio MCP server exposing 9 tools + 3 resources
70
+ │ │ └── harness-config.js # Auto-generator for Antigravity, Claude, Command Code, Muse, Codex configs
71
+ │ └── studio/server.js # Local HTTP server (127.0.0.1:3210) + REST API for VectorForce Studio
72
+ ├── studio/ # React + Vite + Tailwind + XYFlow frontend for VectorForce Studio
73
+ ├── samples/ # Runnable sample architectures, multi-agent workflows & integrations
74
+ ├── scripts/practical-test-env.js # 7-stage cross-OS practical E2E simulation (Git + CLI + MCP + Handoff)
75
+ ├── test/ # 75 automated unit, security, MCP, and cross-harness tests
76
+ └── wiki/ # Local-only ADRs (001-014) and phase planning (gitignored)
77
+ ```
78
+
79
+ ### Generated Harness Configs in Workspace Root (`vf init`):
80
+ - `.mcp.json`, `.commandcode/mcp.json`, `commandcode.json` — Claude Code & Command Code
81
+ - `.agents/mcp_config.json`, `~/.gemini/antigravity/mcp_config.json` — Google Antigravity
82
+ - `.muse/mcp_config.json`, `musecode.json` — Meta Muse
83
+ - `.codex/config.toml`, `codex.json` — OpenAI Codex CLI
84
+
85
+ ---
86
+
87
+ ## 4. MCP Tools & AI Provider Reference
88
+
89
+ | MCP Tool (`src/mcp/mcp-server.js`) | Service Method | Purpose |
90
+ | :--- | :--- | :--- |
91
+ | `list_tasks` | `ProjectService.listTasks` | Discover active/completed tasks |
92
+ | `save_checkpoint` | `CheckpointService.saveCheckpoint` | Commit claims + Git/doc evidence to SQLite |
93
+ | `get_resume_briefing` | `BriefingService.generateBriefing` | Deterministic cross-harness briefing |
94
+ | `check_workspace_drift` | `BriefingService.checkWorkspaceDrift` | Compare live Git & doc hashes vs checkpoint |
95
+ | `reason_about_task` | `ReasoningService.reasonAboutTask` | AI architectural briefing + risk analysis |
96
+ | `set_document_policy` | `ProjectService.setDocumentPolicy` | Update workspace document allowlist |
97
+ | `export_handoff` | `HandoffService.exportHandoff` | Export HMAC-SHA256 signed `.vfhandoff.json` |
98
+ | `import_handoff` | `HandoffService.importHandoff` | Verify signature/hashes & import handoff |
99
+ | `get_timeline` | `SqliteStore.getAuditEvents` | Inspect chronological audit trail |
100
+
101
+ ### Supported AI Reasoning Providers (`src/providers/llm-provider.js`):
102
+ 1. **Fireworks AI (`Muse Spark Open`)**: `vf config fireworks <KEY>` (`accounts/fireworks/models/muse-spark-open`)
103
+ 2. **Meta Muse Direct**: `vf config muse <KEY>` (`muse-spark-1.3`)
104
+ 3. **OpenRouter (`Muse Spark Open`)**: `vf config openrouter <KEY> --model meta/muse-spark-open`
105
+ 4. **Local Ollama**: `vf config ollama --model llama3.3` (`http://127.0.0.1:11434`)
106
+ 5. **OpenAI / Anthropic / BYOK**: `vf config openai <KEY>` | `vf config anthropic <KEY>` | `vf config byok <URL> <KEY> --model <ID>`
107
+
108
+ ---
109
+
110
+ ## 5. Extension Playbook (Samples & Production Upgrades)
111
+
112
+ 1. **Adding Samples (`samples/`)**: Place runnable workflows, reference architectures, and multi-agent demos inside `samples/` using `src/index.js` or CLI/MCP bridges.
113
+ 2. **Adding/Upgrading MCP Tools**: Add business logic in `src/operations/*`, persistence in `src/storage/sqlite-store.js`, MCP registration in `src/mcp/mcp-server.js`, SDK export in `src/index.js`, and CLI command in `bin/vf.js`.
114
+ 3. **Upgrading Studio UI**: Add REST routes in `src/studio/server.js` and React views in `studio/src/components/`, then build via `npm --prefix studio run build`.
115
+ 4. **Verification Gate**: Always run `npm test` (75 unit/security tests) and `npm run test:practical` (7-stage E2E test) before committing.
package/CHANGELOG.md ADDED
@@ -0,0 +1,46 @@
1
+ # Changelog
2
+
3
+ All notable changes to the `vectorforce` package will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ---
9
+
10
+ ## [0.2.0] - 2026-10-31
11
+
12
+ ### Added
13
+ - **Unified Remote Sync Commands (`vf remote`, `vf push`, `vf pull`)**:
14
+ - `vf remote set <URL> [--key <KEY>] [--project <ID>]`: Configure remote cloud synchronization endpoint in `.vectorforce/config.json`.
15
+ - `vf push`: Read local `.vectorforce/vectorforce.db`, wrap tasks & checkpoints in End-to-End Encrypted (E2EE) envelopes (`AES-256-GCM` + `X25519` + `Ed25519`), and push to VectorForce Cloud / Modal.com.
16
+ - `vf pull`: Pull the latest encrypted envelope from the cloud, verify the `Ed25519` digital signature, decrypt via `X25519` + `AES-256-GCM`, reconcile into local SQLite, and synthesize the **Meta Muse (`muse-spark-open`)** reasoning briefing.
17
+ - **VectorForce Cloud & Modal.com Serverless Deployment**:
18
+ - Dedicated cloud sync server supporting multi-project registries, B2B2B sub-customer tenant isolation, and developer task assignment boards.
19
+ - One-command deployment to Modal.com (`modal_app.py`) with persistent `modal.Volume` storage for encrypted SQLite WAL databases.
20
+ - **Interactive Team Handoff & Studio UI Upgrades**:
21
+ - Added direct browser download of `.vfhandoff.json` bundle files.
22
+ - Added interactive in-browser **Import & Reconcile Teammate Handoff Package** modal (`POST /api/handoff/import`) with SHA-256 manifest validation.
23
+ - Automatic resolution of active tasks and divergent checkpoint heads in Studio export endpoints.
24
+ - **Automated npm Lifecycle Hooks**:
25
+ - Added `prepublishOnly` script in `package.json` to ensure `npm --prefix studio run build` and all 75 tests run automatically before every `npm publish`.
26
+
27
+ ### Changed
28
+ - **CLI Commands Simplified**: Unified remote cloud sync under the standard `vf` command (following the `git remote`, `git push`, `git pull` mental model).
29
+ - **Workspace Agent Protocols**: Upgraded workspace-level `AGENTS.md` and role definitions for `vectorforce-architect`, `vectorforce-auditor`, and `vectorforce-samples-builder`.
30
+
31
+ ### Fixed
32
+ - Fixed `TypeError` in `TeamHandoffView.jsx` when resolving checkpoints with differing `id` vs `checkpoint_id` shapes.
33
+ - Fixed divergent leaf head resolution in `/api/handoff/export` by auto-selecting the latest timestamped checkpoint.
34
+ - Fixed ephemeral key generation in serverless environments by persisting machine identities in durable SQLite storage.
35
+
36
+ ---
37
+
38
+ ## [0.1.0] - 2026-10-27
39
+
40
+ ### Added
41
+ - Initial public release of VectorForce — "Git for AI Context".
42
+ - Zero-dependency local SQLite WAL persistence engine (`node:sqlite`).
43
+ - Model Context Protocol (MCP) server over JSON-RPC 2.0 stdio with 9 core tools (`save_checkpoint`, `get_resume_briefing`, `check_workspace_drift`, `reason_about_task`, `list_tasks`, `set_document_policy`, `export_handoff`, `import_handoff`, `get_timeline`).
44
+ - Automatic multi-harness configuration generators for Google Antigravity, Claude Code, Command Code, Meta Muse, and OpenAI Codex.
45
+ - Multi-provider AI reasoning engine supporting Meta Muse (`muse-spark-1.3`, `muse-spark-open`), Fireworks AI, OpenRouter, Local Ollama, OpenAI, Anthropic, and custom BYOK endpoints.
46
+ - Local VectorForce Studio Web UI (`vf studio`) on port 3210 with interactive SVG architecture dependency and blast-radius graph.
package/README.md CHANGED
@@ -2,11 +2,12 @@
2
2
 
3
3
  > **Git for AI Context** — A local-first, privacy-preserving engineering memory platform and architecture control center for AI coding agents.
4
4
 
5
- [![Tests](https://img.shields.io/badge/tests-65%20passing-brightgreen.svg)](#test-suite)
5
+ [![Website](https://img.shields.io/badge/website-getvectorforce.github.io-6366f1.svg)](https://getvectorforce.github.io/)
6
+ [![Tests](https://img.shields.io/badge/tests-75%20passing%20(Linux%20%7C%20macOS%20%7C%20Windows)-brightgreen.svg)](https://github.com/getvectorforce/VectorForce/actions)
6
7
  [![Dependencies](https://img.shields.io/badge/backend%20runtime%20deps-zero-blue.svg)](#architecture-invariants)
7
8
  [![Storage](https://img.shields.io/badge/storage-local%20SQLite%20WAL-orange.svg)](#local-first-architecture)
8
- [![Harnesses](https://img.shields.io/badge/harnesses-Antigravity%20%7C%20Command%20Code%20%7C%20Codex%20%7C%20Muse-purple.svg)](#harness-integrations)
9
- [![Hackathon](https://img.shields.io/badge/Meta%20Muse%20Hackathon-2026-blueviolet.svg)](#meta-muse-hackathon)
9
+ [![Harnesses](https://img.shields.io/badge/harnesses-Antigravity%20%7C%20Claude%20Code%20%7C%20Command%20Code%20%7C%20Codex%20%7C%20Muse-purple.svg)](#model-context-protocol-mcp)
10
+ [![Hackathon](https://img.shields.io/badge/Meta%20Muse%20Hackathon-2026-blueviolet.svg)](#5-reason-over-context-ai-engineering-memory)
10
11
 
11
12
  ---
12
13
 
@@ -72,31 +73,92 @@ node bin/vf.js checkpoint --task auth-module \
72
73
  --doc "AGENTS.md"
73
74
  ```
74
75
 
75
- ### 5. Reason Over Context (AI Engineering Memory)
76
+ ### 5. Multi-Machine & Team Cloud Sync (`vf remote`, `vf push`, `vf pull`)
77
+
78
+ VectorForce follows the Git mental model for sharing context between two computers or across a team using Zero-Knowledge End-to-End Encryption (`X25519` + `AES-256-GCM` + `Ed25519`):
79
+
80
+ ```bash
81
+ # 1. Connect local workspace to your Cloud Remote once:
82
+ node bin/vf.js remote set https://omprakash-pce2011--vectorforce-cloud-vectorforce-cloud-web.modal.run \
83
+ --key vf_live_sub_98a7bc65f012e4d9 \
84
+ --project proj-bistro-pos
85
+
86
+ # 2. Push local checkpoints & tasks to Cloud (E2EE):
87
+ node bin/vf.js push
88
+
89
+ # 3. Pull & reconcile context on Computer 2 (reconciles into SQLite & runs Meta Muse reasoning):
90
+ node bin/vf.js pull
91
+ ```
92
+
93
+ ### 6. Reason Over Context (AI Engineering Memory)
94
+
95
+ VectorForce prioritizes **Meta Muse (`muse-spark-1.3`)** and the open-weights **Meta Muse Spark Open (`muse-spark-open` • 1M token context window)** as its **#1 reasoning models**, while also supporting **Fireworks AI**, **OpenRouter**, **Local Ollama**, **OpenAI / Codex**, **Anthropic Claude**, and any **Custom BYOK** OpenAI-compatible endpoint:
96
+
76
97
  ```bash
77
- # Uses local Ollama by default, or cloud providers (Meta Muse, OpenRouter, OpenAI Codex)
78
- # With Meta Muse (Responses API at api.meta.ai):
79
- node bin/vf.js config muse <API_KEY>
98
+ # 1. [1st Priority] Meta Muse Direct API (Responses API at api.meta.ai/v1 • muse-spark-1.3):
99
+ node bin/vf.js config muse <YOUR_META_API_KEY>
80
100
  node bin/vf.js reason --task auth-module
81
101
 
82
- # With OpenRouter + DeepSeek v4.1 Flash:
83
- export OPENROUTER_API_KEY="sk-or-v1-..."
102
+ # 2. [1st Priority Open-Weights] Meta "Muse Spark Open" (1M Context) via Fireworks AI:
103
+ node bin/vf.js config fireworks <YOUR_FIREWORKS_API_KEY> accounts/fireworks/models/muse-spark-open
84
104
  node bin/vf.js reason --task auth-module
85
105
 
86
- # Or specify model explicitly:
87
- node bin/vf.js reason --task auth-module --model deepseek/deepseek-v4.1-flash-1017
106
+ # 3. OpenRouter — Meta Muse Spark Open (meta/muse-spark-open), DeepSeek, Claude, Llama 3.3:
107
+ node bin/vf.js config openrouter <YOUR_OPENROUTER_API_KEY> meta/muse-spark-open
108
+ node bin/vf.js config openrouter <YOUR_OPENROUTER_API_KEY> deepseek/deepseek-v4.1-flash-1017
109
+ node bin/vf.js reason --task auth-module
88
110
 
89
- # Degrades deterministically if no LLM provider is configured
90
- node bin/vf.js reason --task auth-module --no-llm
111
+ # 4. Local Ollama (100% Offline & Private — Default when no cloud API key is set):
112
+ ollama pull llama3.1:8b
113
+ node bin/vf.js config ollama llama3.1:8b
114
+ node bin/vf.js reason --task auth-module
115
+
116
+ # 5. OpenAI / Codex (o3-mini, gpt-4.1, gpt-4o):
117
+ node bin/vf.js config openai <YOUR_OPENAI_API_KEY> o3-mini
118
+ node bin/vf.js reason --task auth-module
119
+
120
+ # 6. Anthropic Claude (claude-sonnet-4-20250514, claude-3-7-sonnet-latest):
121
+ node bin/vf.js config anthropic <YOUR_ANTHROPIC_API_KEY> claude-sonnet-4-20250514
122
+ node bin/vf.js reason --task auth-module
123
+
124
+ # 7. Custom BYOK (Groq, Together AI, LM Studio, vLLM, Azure):
125
+ node bin/vf.js config byok https://api.groq.com/openai/v1 <GROQ_API_KEY> llama-3.3-70b-versatile
126
+ node bin/vf.js config byok http://127.0.0.1:1234/v1 lm-studio qwen2.5-coder-14b
127
+
128
+ # Check active model configuration or run deterministic briefing (--raw):
129
+ node bin/vf.js config status
130
+ node bin/vf.js reason --task auth-module --raw
131
+
132
+ # Launch VectorForce Studio Web Control Center on http://127.0.0.1:3210
133
+ node bin/vf.js studio
91
134
  ```
92
135
 
93
136
  ---
94
137
 
95
138
  ## Model Context Protocol (MCP)
96
139
 
97
- VectorForce exposes a standard stdio JSON-RPC MCP server for direct integration into **Google Antigravity**, **Command Code**, **Meta Muse**, and **OpenAI Codex**:
140
+ VectorForce exposes a standard stdio JSON-RPC MCP server for direct integration into **Google Antigravity**, **Claude Code**, **Command Code**, **Meta Muse**, and **OpenAI Codex**.
98
141
 
99
- ### JSON Configuration (Antigravity, Command Code, Muse)
142
+ > **How MCP Starts:** You **never** need to run `vf mcp` manually in a terminal. Each AI coding agent reads its configuration file below and automatically spawns VectorForce in the background over `stdio`.
143
+
144
+ | AI Coding Client | Config File Read by Client | 1-Command Auto-Setup |
145
+ |---|---|---|
146
+ | **Google Antigravity** | `.agents/mcp_config.json` & `~/.gemini/antigravity/mcp_config.json` | `node bin/vf.js config install antigravity` |
147
+ | **Claude Code (`claude`)** | `.mcp.json` (project root) | `node bin/vf.js config install claude-code` |
148
+ | **Command Code (`cmd`)** | `.mcp.json` & `commandcode.json` | `node bin/vf.js config install command-code` |
149
+ | **Meta Muse (`muse`)** | `.muse/mcp_config.json` & `~/.config/muse/settings.json` | `node bin/vf.js config install muse` |
150
+ | **OpenAI Codex (`codex`)** | `.codex/config.toml` & `~/.codex/config.toml` | `node bin/vf.js config install codex` |
151
+
152
+ ### Automated Configuration & Health Check
153
+ ```bash
154
+ # Auto-configure all supported AI harnesses at once:
155
+ node bin/vf.js config install all
156
+
157
+ # Verify SQLite DB, AGENTS.md, and all MCP client configs:
158
+ node bin/vf.js status
159
+ ```
160
+
161
+ ### JSON Configuration (Antigravity, Claude Code, Command Code, Muse)
100
162
  ```json
101
163
  {
102
164
  "mcpServers": {
@@ -117,17 +179,6 @@ args = ["/absolute/path/to/VectorForce/bin/vf.js", "mcp"]
117
179
  VF_HARNESS = "codex"
118
180
  ```
119
181
 
120
- ### Automated Configuration
121
- ```bash
122
- # Auto-configure for a specific harness:
123
- node bin/vf.js config install codex
124
- node bin/vf.js config install antigravity
125
- node bin/vf.js config install command-code
126
-
127
- # Or install for all supported harnesses at once:
128
- node bin/vf.js config install all
129
- ```
130
-
131
182
  ### Available MCP Tools
132
183
  | Tool | Purpose |
133
184
  |---|---|
@@ -152,23 +203,14 @@ node bin/vf.js config install all
152
203
 
153
204
  ---
154
205
 
155
- ## Architecture Decision Records (ADR)
206
+ ## Verification & Cross-OS Test Suite (Linux, macOS, Windows)
156
207
 
157
- All design decisions are formalized in the [`wiki/`](wiki/README.md):
158
-
159
- - [ADR-001: Event-driven context architecture](wiki/decisions/adr-001-event-driven-harness-independent-context-architecture.md)
160
- - [ADR-002: Local-first checkpoints & disclosure boundaries](wiki/decisions/adr-002-local-first-checkpoints-and-disclosure-boundaries.md)
161
- - [ADR-003: Portable checkpoints & cross-harness resume](wiki/decisions/adr-003-portable-checkpoints-and-cross-harness-resume.md)
162
- - [ADR-012: Target harnesses: Antigravity & Command Code](wiki/decisions/adr-012-target-harness-selection-antigravity-commandcode-pidev.md)
163
- - [ADR-013: AI reasoning layer & model provider authorization](wiki/decisions/adr-013-ai-reasoning-layer-and-provider-authorization.md)
164
- - [ADR-014: VectorForce Studio & local topology visualizer](wiki/decisions/adr-014-vectorforce-studio-and-local-topology-visualizer.md)
165
-
166
- ---
167
-
168
- ## Verification & Test Suite
169
-
170
- Run the full automated test suite (62 tests across 15 suites):
208
+ Run the full automated test suite (75 unit & security tests) and the 7-stage practical multi-developer environment simulation:
171
209
 
172
210
  ```bash
211
+ # Run all 75 unit, policy, MCP, and security tests:
173
212
  npm test
213
+
214
+ # Run the 7-stage practical real-world environment simulation (Git + CLI + live MCP stdio + Handoff + Drift):
215
+ npm run test:practical
174
216
  ```