From de8f871b4dda34d813d453c1ff7676aa674e5247 Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Mon, 15 Jun 2026 01:45:38 -0700 Subject: [PATCH] FN-6479: index upstream ACP MCP forwarding doc Index the upstream ACP MCP forwarding sponsorship doc so the docs README and CLI index test keep it discoverable. - Add the upstream ACP MCP passthrough and permission forwarding sponsorship doc link under Audit Reports. - Add the upstream doc to the required docs README index coverage. - Guard that CLI Printing Press docs remain indexed in Audit Reports only, not duplicated under Plugins. Files changed: docs/README.md | 5 +++++ .../cli/src/__tests__/docs-readme-index.test.ts | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) Fusion-Task-Id: FN-6479 Fusion-Task-Lineage: f23afeba-a989-4552-8857-fe2984df6081 --- docs/README.md | 5 +++++ .../src/__tests__/docs-readme-index.test.ts | 21 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/docs/README.md b/docs/README.md index f5efde7cda..f7038b3eea 100644 --- a/docs/README.md +++ b/docs/README.md @@ -82,6 +82,10 @@ For a full walkthrough (installation, onboarding, first task, and daily workflow | [External Plugin Proof-Point Runbook](./plugins/external-proof-point-runbook.md) | Repeatable release-validation runbook for proving an external plugin runs against a published Fusion CLI build | ### Audit Reports + | Report | Description | |---|---| | [UX Audit Report](./ux-audit-report.md) | Comprehensive UX audit with prioritized recommendations for dashboard improvements | @@ -119,6 +123,7 @@ For a full walkthrough (installation, onboarding, first task, and daily workflow | [Workflow Policy Ownership Map](./workflow-policy-ownership-map.md) | U1 characterization map classifying production merge, retry, scheduling, and recovery policy branches before workflow-policy migration cutover | | [Test-Speed Baseline (2026-06-03)](./test-speed-baseline-2026-06-03.md) | Measured per-file test timing baseline and optimization targets (successor to FN-5048 audit) | | [ACP Runtime Contract](./acp-contract.md) | Agent Client Protocol plugin launch/readiness contract and failure taxonomy | +| [ACP MCP Passthrough & Permission Forwarding Upstream Sponsorship (FN-6475)](./upstream/claude-code-cli-acp-mcp-permission-forwarding.md) | Ready-to-file upstream sponsorship for `claude-code-cli-acp` ACP `session/new.mcpServers` passthrough and permission-gate traversal; Route A remains NOT GO until proven | | [Mission Completion Gate Contract](./missions-completion-contract.md) | Decision record for mission completion gate invariants and acceptance flow | | [Lost-Work Tasks Incident (2026-05-23)](./incidents/2026-05-23-lost-work-tasks.md) | Incident catalog of 9 lost-work tasks from no-op finalize and reuse-handoff bugs | diff --git a/packages/cli/src/__tests__/docs-readme-index.test.ts b/packages/cli/src/__tests__/docs-readme-index.test.ts index 582fd31d3c..5fdf8a2193 100644 --- a/packages/cli/src/__tests__/docs-readme-index.test.ts +++ b/packages/cli/src/__tests__/docs-readme-index.test.ts @@ -10,8 +10,15 @@ const requiredDocs = [ "docs/plugins/external-proof-point-runbook.md", "docs/research/pi-autoresearch-analysis.md", "docs/research/research-hardening-preflight.md", + "docs/upstream/claude-code-cli-acp-mcp-permission-forwarding.md", ] as const; +/* +FNXC:DocsIndex 2026-06-15-01:35: +FN-6479 keeps CLI Printing Press design and research entries indexed only as Audit Reports, not duplicated in Plugins. +This test guards the documentation-index dedup invariant while requiredDocs guards committed upstream artifacts that must remain discoverable. +*/ + describe("docs README index", () => { it("includes links for required docs and those files exist", () => { expect(existsSync(docsReadmePath)).toBe(true); @@ -23,4 +30,18 @@ describe("docs README index", () => { expect(existsSync(resolve(workspaceRoot, relativePath))).toBe(true); } }); + + it("keeps CLI Printing Press entries in Audit Reports only", () => { + const docsReadme = readFileSync(docsReadmePath, "utf8"); + const pluginsHeadingIndex = docsReadme.indexOf("### Plugins"); + expect(pluginsHeadingIndex).toBeGreaterThanOrEqual(0); + + const nextHeadingIndex = docsReadme.indexOf("\n### ", pluginsHeadingIndex + 1); + expect(nextHeadingIndex).toBeGreaterThan(pluginsHeadingIndex); + + const pluginsSection = docsReadme.slice(pluginsHeadingIndex, nextHeadingIndex); + expect(pluginsSection).not.toContain("cli-printing-press"); + expect(docsReadme).toContain("./design/cli-printing-press-plugin.md"); + expect(docsReadme).toContain("./research/cli-printing-press.md"); + }); });