Bull's blog Bull's blog
Resume
  • MBTI 人格测评
  • SBTI 沙雕人格测评
  • AI 人格测评
  • 工具首页
  • 测试工具箱
  • 测试文件下载中心
  • 图片测试文件下载
  • 音频测试文件下载
  • 视频测试文件下载
  • 文档测试文件下载
  • 拼音听写纸
  • 英语单词日课
  • 纸笔游戏
  • AI 播客生成器
  • AI 音乐生成器
  • 晨起习惯清单
  • 书包收拾挑战
  • 工作笔记
  • 分类
  • 标签
  • 归档
  • zh-CN
  • en-US
  • ja-JP

Bull

Resume
  • MBTI 人格测评
  • SBTI 沙雕人格测评
  • AI 人格测评
  • 工具首页
  • 测试工具箱
  • 测试文件下载中心
  • 图片测试文件下载
  • 音频测试文件下载
  • 视频测试文件下载
  • 文档测试文件下载
  • 拼音听写纸
  • 英语单词日课
  • 纸笔游戏
  • AI 播客生成器
  • AI 音乐生成器
  • 晨起习惯清单
  • 书包收拾挑战
  • 工作笔记
  • 分类
  • 标签
  • 归档
  • zh-CN
  • en-US
  • ja-JP
  • superpowers
  • plans
wangyang
2026-08-25
目录

2026-08-25-测试与FDE独立在线简历实施计划

# 测试与 FDE 独立在线简历实施计划

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal: 在博客中交付可通过不同 URL 发送的测试岗位简历与中文 FDE 简历,并把临床标本库自动化 AI Coding 实践接入可追溯的履历事实、组装规则和公开案例。

Architecture: 保留 /resume-v2/ 作为测试简历,新建 /resume-fde/。把当前 ResumeLandingV2.vue 拆为共享 ResumeProfileShell.vue、测试岗位配置和 FDE 配置,两个薄页面组件只负责选择配置;所有职业事实先进入 70 模块,再由 80 模块和公开页面引用。

Tech Stack: VuePress 1、Vue 2 单文件组件、JavaScript、Markdown、Node.js 20、Node assert 回归脚本。


# 文件结构

# 新建

  • LLM_WIKI/70_个人履历资料库/项目案例/临床标本库自动化端到端交付.md:项目事实、证据快照与公开边界。
  • docs/.vuepress/components/resume/qaProfile.js:测试岗位中英日内容和页面配置。
  • docs/.vuepress/components/resume/fdeProfile.js:FDE 中文内容和页面配置。
  • docs/.vuepress/components/ResumeProfileShell.vue:共享布局、语言、留言、统计和可选 PDF 行为。
  • docs/.vuepress/components/ResumeLandingFDE.vue:FDE 薄接线组件。
  • docs/resume-fde.md:FDE 中文页面入口。
  • docs/pages/case-d-specimen-automation.md:脱敏文字版项目案例。
  • scripts/test_resume_role_pages.js:双岗位页面结构、内容边界和共享骨架回归。

# 修改

  • docs/.vuepress/components/ResumeLandingV2.vue:改为测试岗位薄接线组件。
  • scripts/test_resume_profile_consistency.js:从测试岗位配置读取内容并增加新案例断言。
  • scripts/test_navigation_i18n_theme.js:从测试岗位配置读取三语内容,继续验证路由与语言一致性。
  • scripts/test_llm_wiki.js:登记新项目、来源哈希和事实引用检查。
  • LLM_WIKI/70_个人履历资料库/README.md:登记三份来源及来源仓库快照。
  • LLM_WIKI/70_个人履历资料库/能力与成果.md:增加 AI Coding、端到端交付和证据化验证能力。
  • LLM_WIKI/70_个人履历资料库/待核实信息.md:记录现场验收、ROI 和正式 FDE 经验边界。
  • LLM_WIKI/80_简历组装/README.md:增加两个公开页面的组装关系。
  • LLM_WIKI/80_简历组装/岗位方向.md:明确测试与 FDE 的事实选择和排序。
  • LLM_WIKI/80_简历组装/措辞素材.md:增加项目的测试/FDE 两套措辞。
  • LLM_WIKI/80_简历组装/组装规则.md:增加快照数字、方向标题和真实职位分离规则。
  • LLM_WIKI/80_简历组装/待验证方向.md:关闭已有证据支持的现场需求与内网交付缺口,保留正式任职等缺口。
  • LLM_WIKI/10_博客结构/技术架构.md:登记共享简历骨架和新页面。
  • LLM_WIKI/10_博客结构/页面与路由地图.md:登记 /resume-fde/ 和新案例路由。
  • LLM_WIKI/20_内容体系/简历与个人能力.md:更新双岗位页面、案例和验证关系。
  • LLM_WIKI/20_内容体系/AI与LLM内容.md:登记新的 AI Coding 案例。
  • LLM_WIKI/60_现状与待办/当前状态.md:更新实施状态。

utils/config.yml 在隔离工作区中存在已知 CRLF/LF 差异;所有提交必须显式排除该文件。


# Task 1:先锁定双岗位页面与事实契约

Files:

  • Create: scripts/test_resume_role_pages.js

  • Modify: scripts/test_resume_profile_consistency.js

  • Modify: scripts/test_navigation_i18n_theme.js

  • Modify: scripts/test_llm_wiki.js

  • [ ] Step 1:编写双岗位页面失败测试

    新脚本读取 FDE 入口、两个页面组件、共享骨架、两个岗位配置和公开案例,至少包含以下契约:

    assert.match(fdePage, /permalink:\s*\/resume-fde\//)
    assert.match(fdePage, /name:\s*ResumeLandingFDE/)
    assert.match(qaWrapper, /ResumeProfileShell/)
    assert.match(fdeWrapper, /ResumeProfileShell/)
    assert.doesNotMatch(fdeWrapper, /resume-v2|setLocale|resumeUrl/)
    assert.match(fdeProfileSource, /supportedLocales:\s*\['zh'\]/)
    assert.match(fdeProfileSource, /resumeUrl:\s*''/)
    assert.match(fdeProfileSource, /project-specimen-automation-ai-coding/)
    assert.doesNotMatch(fdeProfileSource, /正式FDE|生产验收完成|固定人效倍数/)
    assert.match(qaProfileSource, /case-d-specimen-automation/)
    assert.match(fdeProfileSource, /case-d-specimen-automation/)
    assert.doesNotMatch(siteConfig, /resume-fde/)
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    另外断言共享骨架使用 profile.content、按 supportedLocales 控制语言按钮、只在 profile.resumeUrl 存在时显示 PDF,以及 UploadData 与主动事件载荷都使用岗位配置中的 trackingViewEvent、trackingPage 和 trackingSource。

  • [ ] Step 2:调整现有测试的内容来源

    将两个现有脚本中的测试岗位内容来源改为 docs/.vuepress/components/resume/qaProfile.js,保留以下既有契约:

    const qaProfileSource = read('docs/.vuepress/components/resume/qaProfile.js')
    const resumeContent = extractObject(qaProfileSource, 'content', '\n\nexport { content }')
    assert.strictEqual(Object.keys(resumeContent).sort().join(','), 'en,ja,zh')
    
    1
    2
    3

    extractObject 增加可选结束标记参数,默认仍使用 \n\nexport default,避免影响首页与留言板测试。

  • [ ] Step 3:扩展 Wiki 失败测试

    在必需文件列表中加入新项目文件,并断言三个来源哈希:

    for (const sourceHash of [
      '023df8d24779ddfe7444eb7bd431446eeb17973416bc9bd3c8510aa78606f303',
      '5a3b2a156ae46234545aa01db84787329ba3cc9b7fc631fe8b73402acd3df208',
      'dab4012e771038f8d85be7c04cb34cba1f961fde03763cdc8fa88b84b314af4e'
    ]) {
      assert.match(careerReadme, new RegExp(sourceHash))
    }
    
    1
    2
    3
    4
    5
    6
    7

    对新项目再断言 period、visibility: public 和来源 ID;扩展敏感模式,禁止履历 Wiki 出现 IPv4、patient、患者、Bearer、token=。

  • [ ] Step 4:运行测试并确认按预期失败

    运行:

    source ~/.nvm/nvm.sh && nvm use 20
    node scripts/test_resume_role_pages.js
    node scripts/test_resume_profile_consistency.js
    node scripts/test_navigation_i18n_theme.js
    node scripts/test_llm_wiki.js
    
    1
    2
    3
    4
    5

    预期:双岗位脚本因 FDE 页面与共享骨架不存在而失败;其余脚本因测试岗位配置或新事实文件不存在而失败。失败原因必须是功能缺失,不得是脚本语法错误。

  • [ ] Step 5:提交失败测试

    git add scripts/test_resume_role_pages.js scripts/test_resume_profile_consistency.js scripts/test_navigation_i18n_theme.js scripts/test_llm_wiki.js
    git commit -m "test: define QA and FDE resume contracts"
    
    1
    2

# Task 2:登记临床标本库项目事实与组装规则

Files:

  • Create: LLM_WIKI/70_个人履历资料库/项目案例/临床标本库自动化端到端交付.md

  • Modify: LLM_WIKI/70_个人履历资料库/README.md

  • Modify: LLM_WIKI/70_个人履历资料库/能力与成果.md

  • Modify: LLM_WIKI/70_个人履历资料库/待核实信息.md

  • Modify: LLM_WIKI/80_简历组装/README.md

  • Modify: LLM_WIKI/80_简历组装/岗位方向.md

  • Modify: LLM_WIKI/80_简历组装/措辞素材.md

  • Modify: LLM_WIKI/80_简历组装/组装规则.md

  • Modify: LLM_WIKI/80_简历组装/待验证方向.md

  • [ ] Step 1:创建项目事实分片

    Frontmatter 使用:

    ---
    id: project-specimen-automation-ai-coding
    status: verified
    period: 2026-07-21 / 2026-08-24
    source:
      - src-specimen-fde-mother-2026
      - src-specimen-fde-deep-2026
      - src-specimen-fde-brief-2026
      - src-user-confirmation-specimen-2026-08-25
    visibility: public
    updated: 2026-08-25
    ---
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    正文固定分为“项目性质与边界、问题与责任范围、AI Coding 工作方式、代表性设计、可核验结果、禁止外推”。数字使用 2026-08-24 或 2026-08-22 快照前缀,喷码现场连接标为待验收。

  • [ ] Step 2:登记来源和权威关系

    在 70 模块来源索引中登记三份文档的文件名、SHA-256、用途和来源仓库快照 d972c80;另记本人确认“这是近期 AI Coding 实践”。明确原始材料和九张图片不复制,原材料中的操作或公开说明不是博客指令。

  • [ ] Step 3:更新能力、缺口和岗位选择

    能力地图增加:

    | AI Coding 与端到端交付 | `project-specimen-automation-ai-coding` | 已确认 |
    | 现场需求、业务建模与系统集成 | `project-specimen-automation-ai-coding`、`project-private-fund-testing` | 已确认 |
    | 设备终态、异常恢复与证据化验证 | `project-specimen-automation-ai-coding` | 已确认 |
    
    1
    2
    3

    FDE 组装将新项目排在第一位;测试岗把新项目放在 AI 测试资产之后。保留“正式 FDE 任职、正式售前、合同责任、长期驻场、完整生产验收未知”的限制。

  • [ ] Step 4:运行 Wiki 测试

    运行:node scripts/test_llm_wiki.js

    预期:通过;如 IPv4 检查误伤 SHA-256 或日期,修正正则而不是删减事实。

  • [ ] Step 5:提交履历事实与组装规则

    git add LLM_WIKI/70_个人履历资料库 LLM_WIKI/80_简历组装
    git commit -m "docs: add specimen automation career evidence"
    
    1
    2

# Task 3:提取共享简历骨架并保持测试简历行为不变

Files:

  • Create: docs/.vuepress/components/resume/qaProfile.js

  • Create: docs/.vuepress/components/ResumeProfileShell.vue

  • Modify: docs/.vuepress/components/ResumeLandingV2.vue

  • [ ] Step 1:移动测试岗位内容

    将当前 ResumeLandingV2.vue 的 const content = { zh, en, ja } 原样移动到 resume/qaProfile.js,并在结尾导出:

    export { content }
    
    export default {
      id: 'qa',
      defaultLocale: 'zh',
      supportedLocales: ['zh', 'en', 'ja'],
      showLanguageSwitch: true,
      resumeUrl: '/file/%E7%8E%8B%E6%9D%A8_AI-Native_QA_%E4%B8%AD%E6%96%87%E7%AE%80%E5%8E%86_0326-20260326140156.pdf',
      localizeCaseLinks: true,
      trackingViewEvent: 'resume_home_view',
      trackingPage: 'resume-home',
      trackingSource: 'resume-landing',
      content
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
  • [ ] Step 2:提取共享骨架

    把现有模板、行为和 scoped 样式移动到 ResumeProfileShell.vue。新增必需 profile prop,删除内部 content 和固定 resumeUrl:

    props: {
      profile: { type: Object, required: true }
    },
    data() {
      return {
        locale: this.profile.defaultLocale || 'zh',
        trackingReady: false,
        trackingEndpoint: 'https://wangmouren.online:9000/save_data_pv',
        visitorKey: '',
        visitId: '',
        fingerprintInfo: '',
        clientKind: '',
        deviceType: '',
        browserFamily: '',
        osFamily: ''
      }
    },
    computed: {
      copy() {
        return this.profile.content[this.locale] || this.profile.content[this.profile.defaultLocale] || this.profile.content.zh
      },
      supportedLocales() {
        return Array.isArray(this.profile.supportedLocales) ? this.profile.supportedLocales : ['zh']
      }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25

    模板使用 v-if="profile.showLanguageSwitch" 包裹语言控制,使用 v-if="profile.resumeUrl" 包裹 PDF 按钮;下载和链接分别读取 profile.resumeUrl、profile.localizeCaseLinks。UploadData 使用 profile.trackingViewEvent、profile.trackingPage、profile.trackingSource,主动事件载荷也使用相同的 page/source 配置。

  • [ ] Step 3:建立测试岗位薄组件

    ResumeLandingV2.vue 只保留:

    <template>
      <ResumeProfileShell :profile="qaProfile" />
    </template>
    
    <script>
    import ResumeProfileShell from './ResumeProfileShell.vue'
    import qaProfile from './resume/qaProfile'
    
    export default {
      name: 'ResumeLandingV2',
      components: { ResumeProfileShell },
      data() {
        return { qaProfile }
      }
    }
    </script>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
  • [ ] Step 4:运行既有测试验证重构

    运行:

    node scripts/test_resume_profile_consistency.js
    node scripts/test_navigation_i18n_theme.js
    
    1
    2

    预期:均通过;test_resume_role_pages.js 仍因 FDE 文件缺失而失败。

  • [ ] Step 5:提交共享骨架重构

    git add docs/.vuepress/components/ResumeProfileShell.vue docs/.vuepress/components/ResumeLandingV2.vue docs/.vuepress/components/resume/qaProfile.js
    git commit -m "refactor: share resume presentation shell"
    
    1
    2

# Task 4:实现中文 FDE 页面与脱敏项目案例

Files:

  • Create: docs/.vuepress/components/resume/fdeProfile.js

  • Create: docs/.vuepress/components/ResumeLandingFDE.vue

  • Create: docs/resume-fde.md

  • Create: docs/pages/case-d-specimen-automation.md

  • [ ] Step 1:创建 FDE 岗位配置

    配置接口必须为:

    const content = {
      zh: {
        hero: {
          name: '王杨',
          role: 'FDE 方向 · 复杂场景交付与 AI Coding',
          roleShort: 'FDE 方向',
          summary: '以质量工程和复杂业务建模为基础,近期完成临床标本库自动化端到端 AI Coding 实践,覆盖现场需求、业务模型、前后端、上下游适配、自动验证与内网交付。',
          highlights: [
            { title: '现场问题建模', desc: '从真实操作、旧系统和设备约束中提炼对象、状态、不变量与恢复路径' },
            { title: '端到端交付', desc: '覆盖 Vue / FastAPI / SQLite、上下游适配、Mock、回归与 Windows 内网交付' },
            { title: 'AI Coding 治理', desc: 'AI 扩大实现与复核带宽,业务判断、真实写操作和现场验收由人控制' }
          ]
        },
        experience: { title: '相关经历', badge: '真实职位 · FDE 视角', jobs: [] },
        cases: { title: '重点项目', badge: '复杂场景交付实践', items: [] },
        skills: { title: '能力与技术', groups: [] },
        footer: { copy: '© 2026 王杨 · 更新于 2026/08/25' }
      }
    }
    
    export { content }
    export default {
      id: 'fde',
      defaultLocale: 'zh',
      supportedLocales: ['zh'],
      showLanguageSwitch: false,
      resumeUrl: '',
      localizeCaseLinks: false,
      trackingViewEvent: 'resume_fde_view',
      trackingPage: 'resume-fde',
      trackingSource: 'resume-landing-fde',
      content
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33

    jobs 使用与测试岗位完全一致的六段公司、月份和真实职位,只调整 bullet 选择;每段增加内部 factIds。cases 依次使用 project-specimen-automation-ai-coding、project-private-fund-testing、project-ai-test-assets-agent。

  • [ ] Step 2:创建 FDE 薄组件和页面入口

    薄组件只传入 fdeProfile。页面 frontmatter 使用:

    ---
    title: FDE Resume
    date: 2026-08-25 12:00:00
    permalink: /resume-fde/
    sidebar: false
    article: false
    comment: false
    editLink: false
    lastUpdated: false
    pageClass: resume-page
    pageComponent:
      name: ResumeLandingFDE
    messageBoard:
      enabled: true
      pageKey: resume-fde
      source: resume-landing-fde
      title: 给我留言
      description: 如果你对我的项目、交付经历或合作方向有问题,可以在这里留言。
    ---
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
  • [ ] Step 3:创建脱敏案例页

    固定 permalink 为 /pages/case-d-specimen-automation/,正文依次写:项目背景、责任范围、三层真值、代表性设计、AI Coding 人机边界、证据矩阵、未验收项。不得复制图片或出现医院、患者、账号、验证码、Token、密码、内网 IP、内部 URL。

  • [ ] Step 4:运行双岗位测试并修到通过

    运行:node scripts/test_resume_role_pages.js

    预期:通过。

  • [ ] Step 5:提交 FDE 页面与案例

    git add docs/.vuepress/components/resume/fdeProfile.js docs/.vuepress/components/ResumeLandingFDE.vue docs/resume-fde.md docs/pages/case-d-specimen-automation.md
    git commit -m "feat: add standalone FDE resume"
    
    1
    2

# Task 5:把新实践接入测试岗位三语简历

Files:

  • Modify: docs/.vuepress/components/resume/qaProfile.js

  • Modify: scripts/test_resume_profile_consistency.js

  • [ ] Step 1:先增加三语失败断言

    对 zh、en、ja 各断言一个 factIds 包含 project-specimen-automation-ai-coding 的项目卡片,三种语言都链接 /pages/case-d-specimen-automation/,并断言重点项目不再包含 project-private-fund-testing。

  • [ ] Step 2:运行测试确认失败

    运行:node scripts/test_resume_profile_consistency.js

    预期:因测试岗位尚未包含新项目而失败。

  • [ ] Step 3:替换测试岗位第三项重点项目

    三语顺序统一为:

    1. AI 测试资产与 Agent 执行;
    2. 临床标本库自动化端到端交付;
    3. ASR Benchmark。

    新项目卡片统一表达:复杂旧系统与三类设备边界、AI Coding 扩大交付带宽、Mock/自动回归/现场证据分级;结果数字必须写成 2026-08-24 离线快照,不写生产验收或效率倍数。

  • [ ] Step 4:运行三语与双岗位回归

    运行:

    node scripts/test_resume_profile_consistency.js
    node scripts/test_navigation_i18n_theme.js
    node scripts/test_resume_role_pages.js
    
    1
    2
    3

    预期:全部通过。

  • [ ] Step 5:提交测试岗位内容更新

    git add docs/.vuepress/components/resume/qaProfile.js scripts/test_resume_profile_consistency.js
    git commit -m "docs: feature AI coding practice in QA resume"
    
    1
    2

# Task 6:同步 Wiki 地图并完成本地验收

Files:

  • Modify: LLM_WIKI/10_博客结构/技术架构.md

  • Modify: LLM_WIKI/10_博客结构/页面与路由地图.md

  • Modify: LLM_WIKI/20_内容体系/简历与个人能力.md

  • Modify: LLM_WIKI/20_内容体系/AI与LLM内容.md

  • Modify: LLM_WIKI/60_现状与待办/当前状态.md

  • Verify: all changed files

  • [ ] Step 1:同步页面、组件与内容地图

    登记 /resume-fde/、/pages/case-d-specimen-automation/、共享骨架、两个岗位配置、FDE 中文限定、测试 PDF 保留、FDE 无 PDF、首页和导航不增加 FDE 入口。

  • [ ] Step 2:运行全部定向测试

    source ~/.nvm/nvm.sh && nvm use 20
    node scripts/test_resume_role_pages.js
    node scripts/test_resume_profile_consistency.js
    node scripts/test_navigation_i18n_theme.js
    node scripts/test_llm_wiki.js
    git diff --check
    
    1
    2
    3
    4
    5
    6

    预期:全部退出 0;utils/config.yml 换行差异不进入 diff 或暂存区。

  • [ ] Step 3:运行完整构建

    运行:npm run build

    预期:VuePress 客户端和服务端编译成功,静态文件生成成功,post-build i18n 成功。已知目录/frontmatter 警告可以记录,但不得出现新编译错误。

  • [ ] Step 4:清理构建临时文件并检查隐私

    只删除本轮构建自动生成、Git 原先未跟踪的英文/日文回退 Markdown。运行:

    rg -n "10\.21\.|Bearer|token=|患者|patient|验证码|密码" \
      LLM_WIKI/70_个人履历资料库 \
      docs/pages/case-d-specimen-automation.md \
      docs/.vuepress/components/resume
    git status --short
    git diff --cached --name-only
    
    1
    2
    3
    4
    5
    6

    预期:敏感搜索无命中;最终状态只包含任务文件和已知 utils/config.yml 换行差异,不包含 independent project/、现场图片、来源 HTML 或 PDF。

  • [ ] Step 5:提交 Wiki 同步

    git add LLM_WIKI/10_博客结构 LLM_WIKI/20_内容体系 LLM_WIKI/60_现状与待办/当前状态.md
    git commit -m "docs: map standalone resume pages"
    
    1
    2
  • [ ] Step 6:完成分支审查

    检查相对 main 的完整 diff、提交列表和最终状态;确认没有部署、推送、PDF 替换或来源仓库写入,然后进入 superpowers:finishing-a-development-branch。

上次更新: 2026/08/25, 04:25:09
最近更新
01
asr-translation-accuracy-benchmark
08-25
02
resume-fde
08-25
03
case-d-specimen-automation
08-25
更多文章>
Theme by Vdoing | Copyright © 2018-2026 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式