docs: update state.json and gap analysis scorecard for Tier 4 completion (77% match rate)
This commit is contained in:
@@ -145,7 +145,7 @@ Flynn actually has MCP support that OpenClaw doesn't emphasise — OpenClaw reli
|
||||
|---------|----------|-------|--------|
|
||||
| Tool confirmation hooks | Full | Full (confirm/log/silent patterns) | **MATCH** |
|
||||
| Chat ID allowlists | Per-channel | Full (Telegram, Discord, Slack, WhatsApp all have allowlists) | **MATCH** |
|
||||
| DM pairing (unknown senders) | Full (pairing codes) | -- | **MISSING** |
|
||||
| DM pairing (unknown senders) | Full (pairing codes) | Full (PairingManager with TTL codes, channel adapter integration, gateway handlers, TUI /pair command) | **MATCH** |
|
||||
| Credential redaction | Config responses redacted (v2026.2.6) | Full (18+ secret fields redacted from config API) | **MATCH** |
|
||||
| Skill/plugin code safety scanner | Static analysis (v2026.2.6) | -- | **MISSING** |
|
||||
| Docker sandboxing | Full (per-session/agent/shared) | Full (per-agent sandbox via SandboxManager + Docker) | **MATCH** |
|
||||
@@ -198,17 +198,17 @@ Flynn actually has MCP support that OpenClaw doesn't emphasise — OpenClaw reli
|
||||
|---------|----------|-------|--------|
|
||||
| WebSocket control plane | Full | Full (JSON-RPC protocol, session bridge, handlers) | **MATCH** |
|
||||
| Control UI (web dashboard) | Full | Full SPA (dashboard, chat, sessions, settings) | **MATCH** |
|
||||
| Tailscale Serve/Funnel | Full integration | -- | **MISSING** |
|
||||
| Remote gateway access | SSH tunnels + tailnet | Tailscale-only binding option | **PARTIAL** |
|
||||
| Tailscale Serve/Funnel | Full integration | Full (auto-start/stop tailscale serve, availability check, daemon lifecycle) | **MATCH** |
|
||||
| Remote gateway access | SSH tunnels + tailnet | Tailscale-only binding + Tailscale Serve | **MATCH** |
|
||||
| Health checks / doctor | 10+ checks | 10 checks | **MATCH** |
|
||||
| `onboard` wizard | Full guided setup | -- | **MISSING** |
|
||||
| Docker deployment | Full | Full (multi-stage Dockerfile, docker-compose.yml) | **MATCH** |
|
||||
| Nix deployment | Full | -- | **MISSING** |
|
||||
| Shell completion | Auto-detect + cached (v2026.2.3) | -- | **MISSING** |
|
||||
| Shell completion | Auto-detect + cached (v2026.2.3) | Full (bash/zsh/fish generation + --install flag) | **MATCH** |
|
||||
| Announce delivery mode | Isolated job delivery (v2026.2.3) | -- | **MISSING** |
|
||||
| Fly.io / Railway / Render | Supported | -- | **MISSING** |
|
||||
| Bonjour/mDNS discovery | Full | -- | **MISSING** |
|
||||
| Gateway lock | Full | -- | **MISSING** |
|
||||
| Gateway lock | Full | Full (single-client mode, code 4003, UI detection) | **MATCH** |
|
||||
|
||||
---
|
||||
|
||||
@@ -255,16 +255,16 @@ Flynn actually has MCP support that OpenClaw doesn't emphasise — OpenClaw reli
|
||||
| Context/Compaction | 4 | 4 | 0 | 0 |
|
||||
| Memory | 7 | 6 | 0 | 1 |
|
||||
| MCP | 3 | 3 | 0 | 0 |
|
||||
| Security | 10 | 7 | 0 | 3 |
|
||||
| Security | 10 | 8 | 0 | 2 |
|
||||
| Automation | 4 | 4 | 0 | 0 |
|
||||
| Companion Apps | 6 | 0 | 0 | 6 |
|
||||
| Skills/Plugins | 5 | 4 | 0 | 1 |
|
||||
| Gateway/Infra | 13 | 4 | 1 | 8 |
|
||||
| Gateway/Infra | 13 | 7 | 0 | 6 |
|
||||
| Chat Commands | 6 | 6 | 0 | 0 |
|
||||
| Misc | 10 | 9 | 0 | 1 |
|
||||
| **TOTAL** | **128** | **95 (74%)** | **1 (1%)** | **32 (25%)** |
|
||||
| **TOTAL** | **128** | **99 (77%)** | **0 (0%)** | **29 (23%)** |
|
||||
|
||||
*Note: Match rate improved from 70% to 74% after implementing Tier 3 features (Lane Queue, credential redaction, Web UI token dashboard, xAI Grok provider, Voyage AI embeddings).*
|
||||
*Note: Match rate improved from 74% to 77% after implementing Tier 4 features (Gateway lock, shell completion, Tailscale Serve, DM pairing codes).*
|
||||
|
||||
---
|
||||
|
||||
@@ -282,8 +282,15 @@ All four Tier 2 items implemented: inbound webhooks (HTTP POST /webhooks/:name w
|
||||
|
||||
All five Tier 3 items implemented: Lane Queue (per-session FIFO in gateway), credential redaction (18+ secret fields), Web UI token dashboard (usage page with summary cards), xAI Grok provider (OpenAI-compatible), Voyage AI embeddings (configurable dimensions). +33 new tests.
|
||||
|
||||
### Tier 4 — Additional Channels (if desired)
|
||||
### ~~Tier 4 — Additional Channels (if desired)~~ → Tier 4 — Implemented Features + Remaining Channels
|
||||
|
||||
**Implemented (2026-02-09):**
|
||||
- Gateway lock (single-client mode with code 4003)
|
||||
- Shell completion (bash/zsh/fish with --install flag)
|
||||
- Tailscale Serve/Funnel (auto-start/stop with daemon lifecycle)
|
||||
- DM pairing codes (PairingManager with TTL codes, all 4 channel adapters, gateway handlers, TUI /pair command)
|
||||
|
||||
**Remaining channels (if desired):**
|
||||
6. Signal (signal-cli bridge)
|
||||
7. Matrix (matrix-js-sdk)
|
||||
8. Microsoft Teams (Bot Framework)
|
||||
@@ -298,17 +305,13 @@ All five Tier 3 items implemented: Lane Queue (per-session FIFO in gateway), cre
|
||||
- Voice Wake / Talk Mode — ElevenLabs TTS integration
|
||||
- Nix/Fly.io/Railway deployment — platform-specific
|
||||
- OAuth subscription auth — complex
|
||||
- DM pairing codes — niche security feature
|
||||
- Skill/plugin safety scanner — static analysis
|
||||
- Shell completion — CLI ergonomics
|
||||
- Announce delivery mode — isolated job delivery
|
||||
- Bonjour/mDNS discovery — LAN-only use case
|
||||
- MiniMax/Moonshot — regional providers
|
||||
- Synthetic provider — testing/mock
|
||||
- Elevated mode — sandbox escape hatch
|
||||
- Onboard wizard — guided setup
|
||||
- Gateway lock — single-client mode
|
||||
- Tailscale Serve/Funnel — native integration
|
||||
- ClawHub/skill registry — community marketplace
|
||||
- QMD backend — experimental memory search
|
||||
- Presence tracking — online/offline status
|
||||
|
||||
+76
-3
@@ -818,6 +818,78 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tier4-features": {
|
||||
"status": "completed",
|
||||
"date": "2026-02-09",
|
||||
"summary": "4 Tier 4 features from gap analysis: Gateway lock (single-client mode), shell completion (bash/zsh/fish), Tailscale Serve/Funnel, DM pairing codes (PairingManager + channel adapters + gateway handlers + TUI command)",
|
||||
"phases": {
|
||||
"gateway_lock": {
|
||||
"priority": "Tier4",
|
||||
"status": "completed",
|
||||
"description": "Single-client gateway mode — if lock=true and a client is connected, reject new connections with code 4003. UI detects locked state.",
|
||||
"files_modified": [
|
||||
"src/config/schema.ts",
|
||||
"src/gateway/server.ts",
|
||||
"src/gateway/server.test.ts",
|
||||
"src/gateway/ui/lib/ws-client.js",
|
||||
"src/daemon/index.ts"
|
||||
],
|
||||
"test_status": "4/4 passing"
|
||||
},
|
||||
"shell_completion": {
|
||||
"priority": "Tier4",
|
||||
"status": "completed",
|
||||
"description": "Generate shell completions for bash, zsh, and fish. --install flag writes to appropriate rc file.",
|
||||
"files_created": [
|
||||
"src/cli/completion.ts",
|
||||
"src/cli/completion.test.ts"
|
||||
],
|
||||
"files_modified": [
|
||||
"src/cli/index.ts"
|
||||
],
|
||||
"test_status": "11/11 passing"
|
||||
},
|
||||
"tailscale_serve": {
|
||||
"priority": "Tier4",
|
||||
"status": "completed",
|
||||
"description": "Auto-start tailscale serve on gateway start, auto-stop on shutdown. isTailscaleAvailable() check, doctor integration.",
|
||||
"files_created": [
|
||||
"src/gateway/tailscale.ts",
|
||||
"src/gateway/tailscale.test.ts"
|
||||
],
|
||||
"files_modified": [
|
||||
"src/gateway/index.ts",
|
||||
"src/daemon/index.ts",
|
||||
"src/cli/doctor.ts"
|
||||
],
|
||||
"test_status": "6/6 passing"
|
||||
},
|
||||
"dm_pairing_codes": {
|
||||
"priority": "Tier4",
|
||||
"status": "completed",
|
||||
"description": "PairingManager with TTL codes, channel adapter integration (Telegram, Discord, Slack, WhatsApp), gateway pairing handlers (generate/list/revoke), TUI /pair command, daemon wiring.",
|
||||
"files_created": [
|
||||
"src/channels/pairing.ts",
|
||||
"src/channels/pairing.test.ts",
|
||||
"src/gateway/handlers/pairing.ts"
|
||||
],
|
||||
"files_modified": [
|
||||
"src/channels/index.ts",
|
||||
"src/channels/telegram/adapter.ts",
|
||||
"src/channels/discord/adapter.ts",
|
||||
"src/channels/slack/adapter.ts",
|
||||
"src/channels/whatsapp/adapter.ts",
|
||||
"src/config/schema.ts",
|
||||
"src/gateway/handlers/index.ts",
|
||||
"src/gateway/handlers/handlers.test.ts",
|
||||
"src/gateway/server.ts",
|
||||
"src/daemon/index.ts",
|
||||
"src/frontends/tui/commands.ts"
|
||||
],
|
||||
"test_status": "22/22 passing (16 pairing + 6 handlers)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"earlier_plans": {
|
||||
"plans": [
|
||||
{ "file": "2026-02-02-flynn-design.md", "status": "completed" },
|
||||
@@ -841,7 +913,7 @@
|
||||
},
|
||||
|
||||
"overall_progress": {
|
||||
"total_test_count": 1034,
|
||||
"total_test_count": 1077,
|
||||
"all_tests_passing": true,
|
||||
"p0_completion": "3/3 (100%)",
|
||||
"p1_completion": "4/4 (100%)",
|
||||
@@ -855,7 +927,8 @@
|
||||
"tier1_completion": "5/5 (100%) — !!think prefix, /verbose command, typing indicators (Discord/WhatsApp), session pruning (TTL), tool groups",
|
||||
"tier2_completion": "4/4 (100%) — inbound webhooks, vector memory search, Dockerfile, heartbeat monitor",
|
||||
"tier3_completion": "5/5 (100%) — lane queue, credential redaction, web UI token dashboard, xAI (Grok) provider, Voyage AI embeddings",
|
||||
"feature_gap_scorecard": "95/128 match (74%), 1 partial (1%), 32 missing (25%)",
|
||||
"next_up": "All phases P0-P8 and Tiers 1-3 complete. Local model tool calling added. Remaining gaps: Tier 4 channels (Signal, Matrix, Teams, Google Chat), Tier 5 deferred/niche items"
|
||||
"tier4_completion": "4/4 (100%) — gateway lock, shell completion, Tailscale Serve/Funnel, DM pairing codes",
|
||||
"feature_gap_scorecard": "99/128 match (77%), 0 partial (0%), 29 missing (23%)",
|
||||
"next_up": "All phases P0-P8 and Tiers 1-4 complete. Local model tool calling added. Remaining gaps: Tier 4 channels (Signal, Matrix, Teams, Google Chat), Tier 5 deferred/niche items"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user