# R6 任务报告

## 结果

- 新增 `web-probe external-form` 声明式入口，支持 `plan/start/status/continue/stop`、Secret sourceRef、验证码暂停续填、截图、本地文件受限上传、草稿动作和不可逆提交双重确认。
- runner 复用 node/lane、浏览器内存门禁、代理和浏览器 evidence 环境；启动采用持久进程组、明确 `launch-ready.json`、失败 typed diagnostic 与精确清理。
- 修复 POSIX `sh` 下内建 `kill` 不支持 `--` 导致进程组回收失效的问题，相关 observe 和通用 browser guard 统一改用 `/bin/kill`。
- 增加仓库自有无真实 PII HTML fixture；临时 HTTP 服务只监听 loopback，并随 workflow 关闭。

## 验证

- `fixture-registration-a9e7e411cb39`：`start -> paused -> continue -> completed`；原始 5/5 动作完成，续填输出仅披露 `valueAccepted=true`。
- `fixture-registration-8f88fb231b81`：6 动作版本完成导航、Secret 填写和本地文件受限上传后进入 `paused`；暂停截图 SHA-256 为 `a152c78ec379debab87b1b1c993d42dbde408af7998c4cc6fe97038ebde5dfe0`。
- 同一 workflow 暂停态 `secretMaterialPresent=false`；执行 `stop` 后为 `aliveBefore=true`、`aliveAfter=false`、`uploadMaterialPresent=false`，证明 Secret 删除、精确进程组回收和上传材料终态删除均通过。
- 历史失效 workflow 的 `status` 已返回 `ok=false`、`failureKind=web-probe-external-form-stale-start`，不再把死进程误报为正常启动。
- `bun scripts/cli.ts web-probe external-form --help`、`bun scripts/cli.ts web-probe --help`、`bun scripts/cli.ts check --syntax-only`、目标 bundle、runner `node --check` 和 `git diff --check` 均通过。

## 边界

- fixture 仅用于开发 smoke，不替代真实高校招聘入口验收。
- 最终不可逆提交仍默认拒绝；普通 `click` 不能操作 submit 控件，本任务未对任何外部表单执行最终提交。
- 输出未包含密码、验证码、身份证号、Cookie、完整字段值或上传文件内容。
