FN-6452: backfill plugin proof-point evidence

Document the restored FN-6437 proof-point results in the external plugin runbook.

- Replace the pending-verification placeholder with the recorded NOT MET verdict for @runfusion/fusion@0.43.0.
- Add package, integrity, environment, command, scaffold, and TypeScript failure evidence from the restored report.
- Preserve explicit gaps for list/enable proof and follow-up checks that were blocked by the released scaffold failure.

Files changed:
 docs/plugins/external-proof-point-runbook.md | 132 +++++++++++++++++++++++++--
 1 file changed, 124 insertions(+), 8 deletions(-)

Fusion-Task-Id: FN-6452

Fusion-Task-Lineage: 14d3b848-59cd-43bb-b725-6586182906ee
This commit is contained in:
gsxdsm
2026-06-14 14:17:33 -07:00
parent fa71525850
commit f7635faf37

View File

@@ -199,13 +199,129 @@ For future proof-point runs, replace the release URL and checksum only with valu
## Reference: concrete validated path (FN-6437)
`upstream-pending-verification`: FN-6437 is the first proof-point validation task, but its restored `proof-point-report` was not accessible to this FN-6438 execution environment at the time this runbook was written. FN-6449 is archived as the restoration task, and follow-up FN-6452 tracks backfilling this section with the authoritative FN-6437 report contents once accessible.
<!--
FNXC:Plugins 2026-06-14-14:11:
FN-6452 backfills FN-6437's concrete proof-point evidence from FN-6449's restored report and FN-6437's surviving notes revisions. The historical result is NOT MET against released @runfusion/fusion 0.43.0 because the plugin scaffold omitted the required state field; keep absent list/enable evidence explicit instead of inventing a successful transcript.
-->
Do not infer or fabricate FN-6437's outcome. When the report is available, replace this section with:
**VERDICT: NOT MET — blocked-on-release because the released `@runfusion/fusion@0.43.0` package still scaffolded a plugin missing the required `state` field, matching the FN-6435 release-gate signature.**
- released `@runfusion/fusion` version tested by FN-6437,
- `dist.integrity` recorded by FN-6437,
- exact commands run by FN-6437,
- captured evidence, including `fn plugin list` enabled-state output,
- the verbatim `VERDICT:` line, and
- any linked gap/follow-up task IDs.
Provenance: FN-6449 restored this reference from FN-6437's surviving `task_document_revisions` (`notes`, revisions 1–3; latest revision 3) plus the archived FN-6437 task row. FN-6449's `proof-point-report` / `docs` task document is the canonical restored report; this section transcribes its supported values only.
### Released package tested
- Package: `@runfusion/fusion@0.43.0`
- Release URL: `https://registry.npmjs.org/@runfusion/fusion/-/fusion-0.43.0.tgz`
- `dist.integrity`: `sha512-kvxicT+e8ulc7FDhBVP9NsgaioZv6NDW81N8cXNS/X8M32Eo3Y33xT6JFW2DrSiFXsJmAaib/GnpQE0nYQYApQ==`
- Changeset consumption check: `.changeset/fn-5844-external-plugin-authoring.md` present in repo: `no`
### Environment
- node: `v26.3.0`
- pnpm: `10.33.0`
- npm: `11.16.0`
- os: `Darwin fusionstudio-8339.local 25.1.0 Darwin Kernel Version 25.1.0: Mon Oct 20 19:30:01 PDT 2025; root:xnu-12377.41.6~2/RELEASE_ARM64_T6031 arm64`
- scratch workspace: `/var/folders/zp/fjh8794n7bl61c_pn1gmdt200000gn/T/tmp.zLiu2nRpx8`
- scratch workspace under repo tree: `no`
### Commands and outcomes
```bash
npm view @runfusion/fusion version
npm view @runfusion/fusion dist.integrity
npx @runfusion/fusion@latest --help
npx @runfusion/fusion@latest plugin --help
npx @runfusion/fusion@latest plugin new proof-point-plugin
cd proof-point-plugin
pnpm install
pnpm build
# pnpm test was not attempted after the blocking compile failure.
```
- `npm view @runfusion/fusion version` returned `0.43.0`.
- `npm view @runfusion/fusion dist.integrity` returned `sha512-kvxicT+e8ulc7FDhBVP9NsgaioZv6NDW81N8cXNS/X8M32Eo3Y33xT6JFW2DrSiFXsJmAaib/GnpQE0nYQYApQ==`.
- `npx @runfusion/fusion@latest --help` and `npx @runfusion/fusion@latest plugin --help` passed and showed the expected plugin subcommands, including `list`, `install`, `enable`, `new`, and `dev`.
- `npx @runfusion/fusion@latest plugin new proof-point-plugin` generated `fusion-plugin-proof-point-plugin@0.1.0`.
- `pnpm install` passed.
- `pnpm build` failed with the FN-6435 release-gate signature below.
- `pnpm test` was not attempted after the released scaffold failed to compile.
- Install/enable/load-run and `fn plugin list` were not attempted because the plugin never built.
### Scaffold evidence
The generated `package.json` used the published package and did not show monorepo-only dependency leakage:
```json
{
"name": "fusion-plugin-proof-point-plugin",
"version": "0.1.0",
"type": "module",
"description": "A standalone Fusion plugin",
"keywords": [
"fusion-plugin"
],
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js"
}
},
"files": [
"dist",
"manifest.json"
],
"scripts": {
"build": "tsc",
"test": "vitest run"
},
"devDependencies": {
"@runfusion/fusion": "^0.43.0",
"@types/node": "^22.0.0",
"typescript": "^5.7.0",
"vitest": "^4.1.0"
}
}
```
The generated `src/index.ts` imported the public SDK path but omitted the required `state` field:
```ts
import { definePlugin } from "@runfusion/fusion/plugin-sdk";
export default definePlugin({
manifest: {
id: "proof-point-plugin",
name: "Proof Point Plugin",
version: "0.1.0",
description: "A standalone Fusion plugin",
},
hooks: {
onLoad: async (ctx) => {
ctx.logger.info("Proof Point Plugin plugin loaded");
},
},
});
```
Dependency checks recorded by FN-6437:
- `@fusion/*` imports in scaffolded source: `none observed`
- `workspace:*` dependency ranges in scaffolded `package.json`: `none observed`
- SDK import surface: `@runfusion/fusion/plugin-sdk` as expected
### Blocking failure transcript
```text
> fusion-plugin-proof-point-plugin@0.1.0 build /private/var/folders/zp/fjh8794n7bl61c_pn1gmdt200000gn/T/tmp.zLiu2nRpx8/proof-point-plugin
> tsc
src/index.ts(3,29): error TS2345: Argument of type '{ manifest: { id: string; name: string; version: string; description: string; }; hooks: { onLoad: (ctx: PluginContext) => Promise<void>; }; }' is not assignable to parameter of type 'FusionPlugin'.
Property 'state' is missing in type '{ manifest: { id: string; name: string; version: string; description: string; }; hooks: { onLoad: (ctx: PluginContext) => Promise<void>; }; }' but required in type 'FusionPlugin'.
 ELIFECYCLE  Command failed with exit code 2.
```
### Gaps and follow-up
- Release-gate blocker: FN-6435 (the scaffold `state` fix had not reached released `@runfusion/fusion@0.43.0`).
- `fn plugin list` enabled-state proof: **not produced — VERDICT NOT MET (blocked at `pnpm build` by the unreleased FN-6435 scaffold-`state` fix)**.
- FN-6409 and FN-6410 remained known checks for released SDK typing and CLI dependency resolution, but FN-6437 did not reach those later surfaces after the FN-6435 compile failure.