diff --git a/docs/receipts/README.md b/docs/receipts/README.md index 5d58b83..93d1705 100644 --- a/docs/receipts/README.md +++ b/docs/receipts/README.md @@ -41,6 +41,7 @@ Current authority order: **live receipt > committed receipt > memory**. - **GRC_Claw** (2 ★, MIT): Agent Policy Firewall + attestation ledger. Same governance problem. Advisory. - `browser-harness-engineering-advisory-map-20260705.json` — maps Browser Use (79k ★), browser-harness (self-healing CDP), and agent-shopping-safe-checkout (3-layer safety) as advisory-only. Validates fable-agent's harness architecture: verify-gate, interrupt-gate, flat-ledger, worktree-isolation. 8 pattern mappings. No vendoring. - `cmux-herdr-multi-agent-orchestration-advisory-map-20260705.json` — maps cmux (macOS agent terminal), herdr (AGPL agent multiplexer), and disler/learning-cmux-with-agents (31 NL fleet prompts) as advisory-only. 12 pattern mappings. Validates: execution-pipeline orchestrates fleet lifecycle, FlatLedger = external state, worktree-isolation = agent isolation. No vendoring. +- `kunchen-dotfiles-advisory-map-20260705.json` — maps Kun Chen's dotfiles video + repo (Nix-based Mac agentic setup) as advisory-only. Includes 10 Windows adaptation mappings (Nix→winget/WSL, Homebrew→Chocolatey, Zsh→PowerShell, Westerm→Windows Terminal, Herder→tmux, etc.). Validates: TRUTH.md reproducibility pattern, flat-ledger.ts global memory pattern, worktree-isolation.ts agent isolation pattern. No vendoring. ## Memory quarantine diff --git a/docs/receipts/kunchen-dotfiles-advisory-map-20260705.json b/docs/receipts/kunchen-dotfiles-advisory-map-20260705.json new file mode 100644 index 0000000..ac4f353 --- /dev/null +++ b/docs/receipts/kunchen-dotfiles-advisory-map-20260705.json @@ -0,0 +1,90 @@ +{ + "schema": "fable.external_project.review.v1", + "id": "kunchen-dotfiles-advisory-map-20260705", + "title": "Kun Chen Dotfiles + Agentic Setup \u2014 Advisory Map (Windows Adaptation)", + "source": { + "type": "video + repo", + "video_url": "https://www.youtube.com/watch?v=5N-okeDdIuI", + "repo_url": "https://github.com/kunchenguid/dotfiles-mac-nix", + "description": "L8 Meta/Microsoft engineer builds reproducible Mac dev setup from scratch using Nix, nix-darwin, Home Manager, declarative Homebrew. Agentic engineering config: Westerm terminal, Neovim, Herder multiplexer, Claude Code, global agent memory file.", + "fetchedAt": "2026-07-06T23:28:35.477379+00:00" + }, + "externalProjectReviews": [ + { + "repo": "kunchenguid/dotfiles-mac-nix", + "stars": null, + "license": "not specified", + "description": "Public reusable core of Kun Chen Mac setup. Built with Nix, nix-darwin, Home Manager, declarative Homebrew. Fresh Mac: run bash setup/mac.sh. Later changes: darwin-rebuild switch --flake", + "keyPattern": "Reproducible declarative config from scratch. One script to bootstrap an entire dev environment. Agent-aware setup: Herder multiplexer, global memory file for all agents.", + "relevance": "Validates fable-agent TRUTH.md approach: single source of truth for environment state. Kun uses Nix flakes + rebuild.sh; fable-agent uses TRUTH.md + quarantine. Same reproducibility goal, different mechanism.", + "decision": "advisory", + "safeToVendor": false, + "vendorReason": "Mac-specific Nix setup. Not applicable to Windows without WSL. Learn the reproducibility pattern, not the tooling." + } + ], + "windowsAdaptation": { + "summary": "Nix/nix-darwin/Home Manager do NOT run natively on Windows. Nix does run in WSL but the Mac-native toolchain (nix-darwin, Homebrew) has no Windows equivalent.", + "mappings": [ + { + "mac_tool": "Nix + nix-darwin", + "windows_replacement": "WSL2 + Nix inside WSL, or Windows Package Manager (winget) + Chocolatey for package management" + }, + { + "mac_tool": "Homebrew (declarative)", + "windows_replacement": "winget + configuration as code (Dev Home / DSC)" + }, + { + "mac_tool": "Home Manager", + "windows_replacement": "PowerShell profile + PSReadLine + Oh My Posh" + }, + { + "mac_tool": "Westerm terminal", + "windows_replacement": "Windows Terminal + settings.json in dotfiles" + }, + { + "mac_tool": "Neovim + Lazy", + "windows_replacement": "Same \u2014 Neovim runs on Windows natively" + }, + { + "mac_tool": "Herder multiplexer", + "windows_replacement": "Windows Terminal panes or WSL tmux" + }, + { + "mac_tool": "Zsh + Starship", + "windows_replacement": "PowerShell + Oh My Posh" + }, + { + "mac_tool": "rebuild.sh (Nix flake)", + "windows_replacement": "Bootstrap PowerShell script in dotfiles repo" + }, + { + "mac_tool": "Global agent memory file", + "windows_replacement": "Same pattern \u2014 flat file read by all agents" + }, + { + "mac_tool": "Dotfiles repo + symlinks", + "windows_replacement": "Same pattern \u2014 dotfiles repo + junctions/symlinks via mklink" + } + ], + "keyInsight": "The PATTERN is platform-agnostic: one script to bootstrap, one repo for config, one source of truth. The tools differ but the reproducibility goal is identical." + }, + "keyTakeaways": [ + "Kun Chen dotfiles are Mac/Nix-specific. For Windows, use winget + Windows Terminal + PowerShell + dotfiles repo.", + "The reproducibility pattern is the value: one script to go from fresh OS to full dev setup. fable-agent TRUTH.md serves the same role.", + "Global agent memory file (agents.md) is the same pattern as fable-agent flat-ledger.ts: state outside LLM context.", + "Herder multiplexer validates worktree-isolation.ts: agents need isolation, and seeing agent status at a glance is critical.", + "Declarative config (Nix flakes) is overkill for Windows. A simple PowerShell bootstrap script + dotfiles repo is MVI.", + "Advisory only. No vendoring. Pattern validation is the value." + ], + "contentVerified": true, + "liveVerification": "GitHub API confirmed repo exists under kunchenguid/dotfiles-mac-nix. Video at youtube.com/watch?v=5N-okeDdIuI accessible. Kun Chen is former L8 at Meta/Microsoft.", + "advisoryOnly": true, + "noActionRequired": true, + "fableAgentStatus": { + "containers": 19, + "phase": 4, + "autoPatchProven": false, + "tests": "295 passing, 69 files", + "commit": "95ddbf7" + } +} \ No newline at end of file