Files
EP-Hub-Skill/doc/20260904/Codex多角色项目推进总流程图-V0.15.html
T

1318 lines
157 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="light" />
<link rel="icon" href="data:," />
<title>Codex 多角色项目推进总流程图与信息流图谱|V0.15 REVIEW</title>
<style>
:root {
--navy: #10253f;
--navy-2: #17395f;
--blue: #2368a2;
--cyan: #2a9d9f;
--amber: #c67a1b;
--ink: #182331;
--muted: #5d6a78;
--line: #d8e0e7;
--paper: #f5f8fa;
--white: #ffffff;
--soft-cyan: #e9f7f6;
--soft-amber: #fff4df;
--soft-red: #fcecee;
--soft-green: #e9f6ef;
--max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
padding-left: 216px;
color: var(--ink);
background: var(--paper);
font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont,
"Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
line-height: 1.65;
}
.hero {
color: white;
background:
radial-gradient(circle at 88% 8%, rgba(42,157,159,.32), transparent 28%),
linear-gradient(145deg, #0c1f36 0%, #173f67 100%);
}
.hero-inner {
width: min(var(--max), calc(100% - 56px));
margin: 0 auto;
padding: 62px 0 52px;
}
.eyebrow {
display: inline-block;
margin-bottom: 18px;
padding: 6px 10px;
border: 1px solid rgba(255,255,255,.18);
border-radius: 999px;
color: #b9eff0;
background: rgba(255,255,255,.06);
font-size: 11px;
font-weight: 800;
letter-spacing: .12em;
}
h1, h2, h3, h4, p { margin-top: 0; }
h1 {
max-width: 900px;
margin-bottom: 18px;
font-size: clamp(40px, 5vw, 68px);
line-height: 1.05;
letter-spacing: -.04em;
}
.hero p {
max-width: 860px;
margin-bottom: 0;
color: rgba(255,255,255,.68);
font-size: 18px;
}
.review-banner {
display: flex;
align-items: baseline;
gap: 10px;
width: fit-content;
margin-top: 24px;
padding: 10px 14px;
border: 1px solid rgba(255, 211, 122, .72);
border-radius: 10px;
color: #fff4d5;
background: rgba(198, 122, 27, .22);
font-size: 14px;
}
.review-banner strong { color: #ffd37a; }
.global-nav {
position: fixed;
top: 0;
bottom: 0;
left: 0;
z-index: 100;
width: 216px;
border-right: 1px solid rgba(255,255,255,.12);
background: rgba(12,31,54,.96);
box-shadow: 10px 0 28px rgba(16,37,63,.16);
backdrop-filter: blur(14px);
}
.global-nav-inner {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 7px;
width: 100%;
height: 100%;
margin: 0;
padding: 20px 14px;
overflow-x: hidden;
overflow-y: auto;
scrollbar-width: thin;
}
.global-nav a {
display: block;
padding: 8px 10px;
border: 1px solid rgba(255,255,255,.1);
border-radius: 10px;
color: rgba(255,255,255,.75);
font-size: 11px;
font-weight: 750;
line-height: 1.2;
text-decoration: none;
white-space: normal;
transition: color .16s ease, border-color .16s ease, background .16s ease;
}
.global-nav a:hover,
.global-nav a:focus-visible {
border-color: rgba(185,239,240,.5);
color: #d8ffff;
background: rgba(42,157,159,.16);
outline: none;
}
.global-nav .nav-brand {
margin-bottom: 8px;
padding: 10px;
border-color: rgba(185,239,240,.42);
color: #b9eff0;
background: rgba(42,157,159,.12);
font-family: "SFMono-Regular", Consolas, monospace;
font-weight: 900;
}
[id] { scroll-margin-top: 18px; }
@media (max-width: 1180px) {
body { padding-left: 0; }
.global-nav {
position: sticky;
bottom: auto;
width: auto;
border-right: 0;
border-bottom: 1px solid rgba(255,255,255,.12);
box-shadow: 0 8px 24px rgba(16,37,63,.18);
}
.global-nav-inner {
flex-direction: row;
align-items: center;
gap: 7px;
width: min(var(--max), calc(100% - 56px));
height: auto;
margin: 0 auto;
padding: 10px 0;
overflow-x: auto;
overflow-y: hidden;
}
.global-nav a {
flex: 0 0 auto;
padding: 6px 9px;
border-radius: 999px;
white-space: nowrap;
}
.global-nav .nav-brand { margin: 0; padding: 6px 9px; }
[id] { scroll-margin-top: 66px; }
}
.page {
width: min(var(--max), calc(100% - 56px));
margin: 0 auto;
padding: 46px 0 72px;
}
.map-shell {
padding: 30px;
border: 1px solid var(--line);
border-radius: 24px;
background:
linear-gradient(rgba(35,104,162,.035) 1px, transparent 1px),
linear-gradient(90deg, rgba(35,104,162,.035) 1px, transparent 1px),
#eef4f7;
background-size: 28px 28px;
}
.map-head {
display: flex;
justify-content: space-between;
gap: 24px;
align-items: end;
margin-bottom: 28px;
}
.map-head h2 { margin-bottom: 6px; font-size: 30px; letter-spacing: -.025em; }
.map-head p { max-width: 760px; margin: 0; color: var(--muted); font-size: 14px; }
.legend { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.legend span {
padding: 5px 8px;
border-radius: 999px;
color: var(--muted);
background: var(--white);
box-shadow: 0 3px 12px rgba(16,37,63,.06);
font-size: 10px;
white-space: nowrap;
}
.track { display: grid; gap: 0; }
.node {
display: grid;
grid-template-columns: 58px 180px minmax(0,1fr) minmax(270px,.9fr);
gap: 18px;
align-items: center;
padding: 20px;
border: 1px solid #ccd9e3;
border-radius: 16px;
background: rgba(255,255,255,.97);
box-shadow: 0 8px 22px rgba(16,37,63,.055);
}
.index {
display: grid;
width: 46px;
height: 46px;
place-items: center;
border-radius: 14px;
color: white;
background: var(--navy-2);
font-weight: 850;
}
.stage h3 { margin: 0 0 5px; font-size: 19px; }
.role {
display: inline-block;
padding: 3px 7px;
border-radius: 999px;
color: #155e60;
background: var(--soft-cyan);
font-size: 10px;
font-weight: 800;
}
.work { color: var(--muted); font-size: 13px; }
.work strong { color: var(--ink); }
.artifacts {
padding-left: 18px;
border-left: 1px solid var(--line);
}
.artifacts strong { display: block; margin-bottom: 6px; font-size: 12px; }
.artifacts span { display: block; color: var(--muted); font-size: 11px; line-height: 1.55; }
.artifacts span + span { margin-top: 8px; }
.artifacts span::first-line { color: var(--ink); font-size: 12px; font-weight: 600; line-height: 1.75; }
.connector {
display: grid;
min-height: 72px;
place-items: center;
}
.connector::before { content: ""; width: 2px; height: 22px; background: #93aec5; }
.gate {
position: relative;
margin: 4px 0;
padding: 8px 14px 8px 30px;
border: 1px solid #e6c27b;
border-radius: 999px;
color: #70480d;
background: var(--soft-amber);
font-size: 11px;
font-weight: 760;
text-align: center;
}
.gate::before { content: "◆"; position: absolute; left: 11px; color: var(--amber); }
.connector::after { content: "↓"; color: var(--blue); font-size: 20px; font-weight: 900; line-height: 1; }
.parallel {
display: grid;
grid-template-columns: repeat(2, minmax(0,1fr));
gap: 8px;
margin-top: 8px;
}
.parallel span {
padding: 8px;
border: 1px solid var(--line);
border-radius: 9px;
color: var(--ink);
background: #f8fafb;
font-size: 11px;
}
.branch {
display: grid;
grid-template-columns: repeat(2, minmax(0,1fr));
gap: 10px;
margin-top: 12px;
}
.path { padding: 12px 14px; border-radius: 12px; font-size: 11px; }
.path strong { display: block; margin-bottom: 3px; }
.path.pass { border: 1px solid #a9d4c0; color: #266746; background: var(--soft-green); }
.path.return { border: 1px dashed #dc9ca0; color: #863b40; background: var(--soft-red); }
.crosscut {
margin-top: 20px;
padding: 18px 20px;
border: 1px dashed #95abc0;
border-radius: 14px;
background: rgba(255,255,255,.75);
}
.crosscut strong { color: var(--blue); }
.crosscut p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.footer {
margin-top: 24px;
color: var(--muted);
font-size: 11px;
text-align: center;
}
@media (max-width: 920px) {
.node { grid-template-columns: 54px 160px minmax(0,1fr); }
.artifacts { grid-column: 3; padding-left: 0; border-left: 0; }
}
@media (max-width: 640px) {
.hero-inner, .page { width: min(100% - 28px, var(--max)); }
.hero-inner { padding: 44px 0 36px; }
.hero p { font-size: 15px; }
.page { padding-top: 24px; }
.map-shell { padding: 16px; border-radius: 18px; }
.map-head { display: block; }
.legend { justify-content: flex-start; margin-top: 14px; }
.node { grid-template-columns: 44px minmax(0,1fr); gap: 12px; padding: 16px; }
.index { width: 40px; height: 40px; border-radius: 12px; }
.stage, .work, .artifacts { grid-column: 2; }
.artifacts { padding-top: 12px; border-top: 1px solid var(--line); }
.parallel, .branch { grid-template-columns: 1fr; }
.gate { max-width: 290px; }
}
@media print {
@page { size: A4 portrait; margin: 12mm; }
body { padding-left: 0; background: white; font-size: 9pt; }
.hero { color: var(--ink); background: white; border-bottom: 3px solid var(--navy); }
.hero-inner, .page { width: 100%; }
.hero-inner { padding: 14mm 0 10mm; }
.hero .eyebrow { color: var(--blue); border-color: var(--line); }
.hero p { color: var(--muted); }
.page { padding: 10mm 0 0; }
.map-shell { padding: 0; border: 0; background: white; }
.node { break-inside: avoid; box-shadow: none; }
.connector { min-height: 16mm; }
}
/* Embedded stage information-flow atlas */
.if-atlas {
margin-top: 76px;
padding-top: 58px;
border-top: 4px solid var(--navy);
}
.if-intro {
margin-bottom: 42px;
padding: 40px;
border-radius: 22px;
color: white;
background:
radial-gradient(circle at 88% 10%, rgba(42,157,159,.28), transparent 30%),
linear-gradient(145deg, #10253f, #1a4a72);
}
.if-intro .if-eyebrow {
color: #b9eff0;
font-size: 11px;
font-weight: 850;
letter-spacing: .13em;
}
.if-intro h2 {
margin: 10px 0 12px;
font-size: clamp(34px,4vw,56px);
line-height: 1.05;
}
.if-intro p {
max-width: 900px;
margin-bottom: 20px;
color: rgba(255,255,255,.7);
}
.if-quicknav { display: flex; flex-wrap: wrap; gap: 8px; }
.if-quicknav a {
padding: 6px 9px;
border: 1px solid rgba(255,255,255,.18);
border-radius: 999px;
color: rgba(255,255,255,.75);
background: rgba(255,255,255,.06);
font-size: 10px;
text-decoration: none;
}
.if-section {
padding: 58px 0;
border-bottom: 1px solid var(--line);
}
.if-section-head {
display: grid;
grid-template-columns: 122px minmax(0,1fr);
gap: 24px;
margin-bottom: 28px;
}
.if-section-no {
color: var(--blue);
font-size: 11px;
font-weight: 850;
letter-spacing: .13em;
}
.if-section-head h2 {
margin-bottom: 8px;
font-size: clamp(28px,3vw,43px);
line-height: 1.1;
}
.if-section-head p {
max-width: 900px;
margin: 0;
color: var(--muted);
font-size: 14px;
}
.if-callout {
padding: 21px 24px;
border-left: 5px solid var(--cyan);
border-radius: 0 16px 16px 0;
background: var(--white);
box-shadow: 0 10px 28px rgba(16,37,63,.07);
font-size: 17px;
font-weight: 680;
}
.if-role-legend {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 21px 0;
}
.if-actor {
display: inline-flex;
min-width: 125px;
min-height: 50px;
align-items: center;
justify-content: center;
padding: 9px 12px;
border: 2px solid currentColor;
border-radius: 13px;
background: white;
font-size: 12px;
font-weight: 800;
text-align: center;
}
.if-center { color: #183d63; background: #eaf2f8; }
.if-business { color: #9b5d0b; background: #fff5df; }
.if-product { color: #7755a7; background: #f4eefb; }
.if-tech { color: #14787a; background: #e9f7f6; }
.if-app { color: #2f855a; background: #edf8f1; }
.if-low { color: #4265af; background: #eef2fc; }
.if-hardware { color: #8b5e3c; background: #f7f0eb; }
.if-test { color: #9b3d45; background: #fceef0; }
.if-human { color: #68561b; background: #fff9df; }
.if-flow-board {
display: grid;
gap: 10px;
padding: 23px;
border: 1px solid var(--line);
border-radius: 19px;
background: #edf3f6;
}
.if-exchange {
display: grid;
grid-template-columns: 150px minmax(240px,1fr) 150px;
gap: 14px;
align-items: center;
padding: 12px;
border: 1px solid #d0dce5;
border-radius: 15px;
background: rgba(255,255,255,.94);
}
.if-exchange .if-actor { width: 100%; }
.if-arrow {
position: relative;
min-height: 60px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 8px 34px 9px 10px;
color: var(--navy-2);
text-align: center;
}
.if-arrow::before {
content: "";
position: absolute;
left: 8px;
right: 18px;
top: 50%;
height: 2px;
background: #83a9c5;
}
.if-arrow::after {
content: "";
position: absolute;
right: 7px;
top: calc(50% - 6px);
border-left: 11px solid #83a9c5;
border-top: 7px solid transparent;
border-bottom: 7px solid transparent;
}
.if-arrow > * {
position: relative;
z-index: 1;
padding: 0 7px;
background: rgba(255,255,255,.96);
}
.if-flow-id {
color: var(--blue);
font-family: "SFMono-Regular", Consolas, monospace;
font-size: 10px;
font-weight: 900;
}
.if-arrow strong { font-size: 13px; }
.if-arrow small { color: var(--muted); font-size: 10px; }
.if-artifact-tag {
display: inline-flex;
align-self: center;
justify-content: center;
max-width: 94%;
margin-top: 5px;
padding: 3px 8px;
border: 1px solid #9fcfc3;
border-radius: 999px;
background: #edf8f4;
color: #17685d;
font-size: 9px;
font-style: normal;
font-weight: 800;
line-height: 1.25;
text-align: center;
}
.if-artifact-tag.process {
border-color: #dfbf86;
background: #fff7e8;
color: #8a5a12;
}
.if-artifact-legend {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 12px;
}
.if-artifact-legend .if-artifact-tag { margin-top: 0; }
.if-conditional { border-style: dashed; }
.if-blocking .if-arrow::before { background: #d28c91; }
.if-blocking .if-arrow::after { border-left-color: #d28c91; }
.if-stage-summary {
display: grid;
grid-template-columns: repeat(3,minmax(0,1fr));
gap: 12px;
margin-bottom: 18px;
}
.if-summary-card {
padding: 16px;
border: 1px solid var(--line);
border-radius: 14px;
background: white;
}
.if-summary-card b {
display: block;
margin-bottom: 5px;
color: var(--blue);
font-size: 11px;
}
.if-summary-card span { color: var(--muted); font-size: 12px; }
.if-table-wrap {
margin-top: 23px;
overflow-x: auto;
border: 1px solid var(--line);
border-radius: 15px;
background: white;
}
.if-table-wrap table {
width: 100%;
min-width: 1050px;
border-collapse: collapse;
font-size: 12px;
}
.if-table-wrap th,
.if-table-wrap td {
padding: 12px 13px;
border-right: 1px solid var(--line);
border-bottom: 1px solid var(--line);
text-align: left;
vertical-align: top;
}
.if-table-wrap th:last-child,
.if-table-wrap td:last-child { border-right: 0; }
.if-table-wrap tr:last-child td { border-bottom: 0; }
.if-table-wrap th {
color: white;
background: var(--navy);
font-size: 11px;
white-space: nowrap;
}
.if-table-wrap tbody tr:nth-child(even) { background: #f8fafb; }
.if-table-wrap td:first-child {
color: var(--blue);
font-family: "SFMono-Regular", Consolas, monospace;
font-weight: 850;
white-space: nowrap;
}
.if-block { color: #8f3038; font-weight: 700; }
.if-pass { color: #266746; font-weight: 700; }
.if-review { color: #9a5b0a; font-weight: 700; }
.if-cross-flow {
padding: 22px;
border: 1px dashed #9aafc0;
border-radius: 18px;
background: #eef4f7;
}
@media (max-width: 920px) {
.if-exchange { grid-template-columns: 125px minmax(210px,1fr) 125px; }
}
@media (max-width: 640px) {
.if-intro { padding: 26px 20px; }
.if-intro h2 { font-size: 30px; }
.if-section-head { grid-template-columns: 1fr; gap: 8px; }
.if-stage-summary { grid-template-columns: 1fr; }
.if-flow-board { padding: 13px; }
.if-exchange { grid-template-columns: 1fr; gap: 7px; }
.if-exchange .if-actor { min-height: 45px; }
.if-arrow { min-height: 72px; padding: 22px 10px; }
.if-arrow::before {
left: 50%;
right: auto;
top: 7px;
bottom: 15px;
width: 2px;
height: auto;
}
.if-arrow::after {
right: auto;
left: calc(50% - 6px);
top: auto;
bottom: 5px;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-top: 11px solid #83a9c5;
border-bottom: 0;
}
.if-blocking .if-arrow::after {
border-top-color: #d28c91;
border-left-color: transparent;
}
}
@media print {
.global-nav { display: none; }
.if-atlas { page-break-before: always; }
.if-exchange,
.if-summary-card { break-inside: avoid; box-shadow: none; }
.if-table-wrap table { font-size: 8pt; }
}
</style>
</head>
<body>
<header class="hero" id="top">
<div class="hero-inner">
<div class="eyebrow">CODEX MULTI-ROLE PROJECT FLOW · V0.15 · REVIEW</div>
<h1>项目推进总流程图</h1>
<p>业务、项目Hub、产品、技术负责人、嵌入式应用层、嵌入式底层、硬件和测试是当前基线角色,不是封闭列表;项目Hub负责信息路由、成员与状态维护和阶段门禁,新增自定义角色必须先形成职责、成果和决定权契约。</p>
<div class="review-banner" role="status"><strong>V0.15 · 待评审</strong><span>当前正式基线仍为 V0.14,本页不得作为已生效流程引用。</span></div>
</div>
</header>
<nav class="global-nav" aria-label="文档全局导航">
<div class="global-nav-inner">
<a class="nav-brand" href="#top">V0.15 REVIEW · 顶部</a>
<a href="#changelog">版本记录</a>
<a href="#overview">总流程</a>
<a href="#rules">通用规则</a>
<a href="#traceability">成果矩阵</a>
<a href="#stage1">01 业务需求</a>
<a href="#stage2">02 产品定义</a>
<a href="#stage3">03 方案设计</a>
<a href="#stage4">04 项目规划</a>
<a href="#stage5">05 软硬件实现</a>
<a href="#stage6">06 测试验证</a>
<a href="#stage7">07 平台/客户验收</a>
<a href="#stage8">08 复盘结项</a>
<a href="#change">变更与异常</a>
<a href="#waiver">成果豁免</a>
</div>
</nav>
<main class="page">
<section class="if-section" id="changelog">
<div class="if-section-head">
<div class="if-section-no">VERSION / CHANGELOG</div>
<div>
<h2>版本变更记录</h2>
<p>每个新版本都保留上一版文件,并在当前版本中记录变更内容、影响范围和基线状态。</p>
</div>
</div>
<div class="if-callout">
<strong>版本管理规则:</strong>从 V0.8 开始,新版本通过复制当前最新文件创建,禁止覆盖或删除历史版本。评审版本标记为 REVIEW,并记录创建日期和待定的生效日期;只有取得明确的定版确认后,才改为 CURRENT,并同步更新文件名、页面标题、导航、页脚、本表及仓库中的当前流程基线引用。
</div>
<div class="if-callout" style="margin-top: 14px">
<strong>版本号口径:</strong>V0.x 用于验证期的角色、阶段、成果、信息流和文档管理调整;当角色责任与八阶段流程稳定且完成整体验证后,再升级为 V1.0。
</div>
<div class="if-table-wrap" style="margin-top: 22px">
<table>
<thead>
<tr><th>版本</th><th>日期</th><th>状态</th><th>主要变更</th><th>影响范围</th></tr>
</thead>
<tbody>
<tr>
<td><b>V0.15</b></td><td>创建:2026-09-04<br>生效:待定</td><td class="if-review">REVIEW</td>
<td><ol><li>完善评审版管理,精简业务及产品资料、选填项和早期确认流程。</li><li>调整方案与实现交付,明确硬件资料前置条件、硬件设计包和底层成果。</li><li>补充任务工时评估,资源与排期改由产品确认,可同步业务。</li><li>测试改用缺陷清单,相关负责人商议责任人;可靠性、专项报告及提测佐证选填。</li><li>平台与客户验收拆分,可并行且须双通过;分别由产品、业务确认,测试资料直接交付产品。</li><li>结项改为资料收集与项目复盘,取消冒烟测试;同步流程编号和成果引用。</li></ol></td>
<td>文档版本管理、阶段 1–8 总流程、成果矩阵及关联信息流。</td>
</tr>
<tr>
<td><b>V0.14</b></td><td>2026-09-02</td><td class="if-pass">CURRENT</td>
<td>人工可读的正式成果、过程成果、标题、正文和结论统一使用中文,机器字段与枚举只保留在运行时工具参数中;项目Hub通过 Etunel 角色清单读取实际 <code>role</code>、<code>display_name</code> 和 <code>relationship</code>,成员角色不再向负责人追问成员、会话或任务编号;新增同源 JSON 和中文 HTML 两种版本的《项目成员清单》,并补充按阶段整理成果、过程记录、项目进度和成果索引的留档规则。</td>
<td>全局成果语言、项目创建、角色登记、Etunel 实际字段、项目文件与进度留档、项目Hub与各成员角色约束和内部培训材料。</td>
</tr>
<tr>
<td><b>V0.13</b></td><td>2026-08-28</td><td>HISTORICAL</td>
<td>完成八角色跨文件一致性审核;新增项目成员/多账户/自定义角色规则和状态术语词典;区分项目创建时成员登记与阶段 4 角色分工;统一 NA、测试证据包、软硬件接口契约 和业务术语;同步测试主责的缺陷报告闭环;将信息流图谱顺序统一为阶段 3 方案设计后进入阶段 4 项目规划;重新生成项目Hub系统提示词。</td>
<td>全局角色与成员管理、状态与成果术语、阶段 1 业务输入、阶段 4 成员/任务分工、阶段 6 缺陷闭环、项目Hub提示词。</td>
</tr>
<tr>
<td><b>V0.12</b></td><td>2026-08-28</td><td>HISTORICAL</td>
<td>校正 测试计划 的阶段 3 主责;统一 测试计划 和五类阶段 6 正式成果,完善共同最低结构、NA/BLOCKED/成果豁免 边界、缺陷分析报告 主责、平台提测与业务验收边界;把缺陷专业归类和根因责任从项目Hub/测试的越权表述中移回有权角色。</td>
<td>阶段 2 可测性评审、阶段 3 测试计划、阶段 5 提测准备、阶段 6 正式测试与缺陷闭环、阶段 7 验收证据、阶段 8 发布冒烟。</td>
</tr>
<tr>
<td><b>V0.11</b></td><td>2026-08-28</td><td>HISTORICAL</td>
<td>校正硬件角色的阶段 3 设计职责;拆分 硬件设计包 与 硬件实现资料;完善原理图、PCB、Gerber/钻孔、BOM、贴片/生产资料、板卡/批次标识、板级测量和硬件版本链;建立 ECO→底层兼容评估→应用固件确认→技术版本矩阵→测试复验闭环。</td>
<td>阶段 3 硬件设计、阶段 5 板卡/样机实现、阶段 6 硬件 ECO 与回归、阶段 7 验收返工、阶段 8 硬件归档。</td>
</tr>
<tr>
<td><b>V0.10</b></td><td>2026-08-28</td><td>HISTORICAL</td>
<td>校正嵌入式底层的阶段 3 设计职责;完善 嵌入式底层实现资料 最低内容、可消费/修复/归档版演进、板卡/BOM/ECO 与接口契约绑定、专项测试固件限制、应用层重新合版和发布归档边界;扩充流程图底层成果说明。</td>
<td>阶段 3 方案设计、阶段 5 底层实现与应用合版、阶段 6 底层缺陷回归、阶段 7 验收返工、阶段 8 底层归档。</td>
</tr>
<tr>
<td><b>V0.9</b></td><td>2026-08-28</td><td>HISTORICAL</td>
<td>校正嵌入式应用层的阶段 3 设计职责;完善 嵌入式应用层固件包 最低内容、候选/提测/回归/发布版演进、底层重新合版、硬件变化兼容确认和最终固件唯一出口约束;继续清理项目Hub旧称和广播表述。</td>
<td>阶段 3 方案设计、阶段 5 实现集成、阶段 6 缺陷回归、阶段 7 验收返工、阶段 8 发布归档。</td>
</tr>
<tr>
<td><b>V0.8</b></td><td>2026-08-28</td><td>HISTORICAL</td>
<td>新增文档内版本变更记录、版本号口径和历史文件保留规则;从本版本起不再通过重命名覆盖上一版。</td>
<td>全局导航、版本管理、项目Hub流程基线引用。</td>
</tr>
<tr>
<td><b>V0.7</b></td><td>2026-08-28</td><td>HISTORICAL</td>
<td>修正技术负责人在阶段 3 与阶段 4 的责任顺序;明确总体方案、软硬件接口契约和架构决策的主责;明确项目Hub维护版本矩阵、技术负责人确认版本匹配。</td>
<td>阶段 3 方案设计、阶段 4 项目规划、阶段 5 集成提测、技术缺陷与变更评估。</td>
</tr>
<tr>
<td><b>V0.6</b></td><td>2026-08-28</td><td>HISTORICAL</td>
<td>统一产品角色的阶段 2 与阶段 7 正式成果;补齐产品发起早期风险预检、产品定义评审和验收闭环;客户平台资料改为参考输入基线。</td>
<td>阶段 1 早期预检、阶段 2 产品定义、阶段 7 业务验收。</td>
</tr>
<tr>
<td><b>V0.5</b></td><td>未登记</td><td>HISTORICAL BASELINE</td>
<td>建立八阶段主流程、项目Hub中枢角色、角色化状态同步 S.1–S.4、异常协同 E.1–E.4、变更升级 X.1–X.6 和成果豁免 Y.1–Y.7;形成正式成果追踪矩阵。</td>
<td>总流程、项目Hub、全局信息流、门禁和成果追踪。</td>
</tr>
</tbody>
</table>
</div>
</section>
<section class="map-shell" id="overview">
<div class="map-head">
<div>
<h2>从业务需求到复盘结项</h2>
<p>主线按成果和确认门推进;测试失败、业务验收驳回和需求变更通过回路返回正确阶段,不需要从头重启项目。</p>
</div>
<div class="legend" aria-label="流程图图例">
<span>白色卡片=项目阶段</span>
<span>黄色门=角色/阶段确认</span>
<span>红色虚线=返工回路</span>
</div>
</div>
<div class="track" aria-label="完整项目推进流程">
<article class="node">
<div class="index">01</div>
<div class="stage"><h3>业务需求</h3><span class="role">主责:业务</span></div>
<div class="work"><strong>明确目标与价值。</strong>补齐业务对象、业务目标、范围。</div>
<div class="artifacts"><strong>正式成果</strong><span>项目背景说明<br>客户信息:对接客户名称、最终客户名称<br>项目名称:统一名称或客户规定的项目代号<br>产品要求:产品形态、提测平台<br>项目来源:新客户、新项目、旧产品升级、竞品替换或成本优化<br>需求背景:客户为什么提出这个需求,要解决什么问题<br>业务目标:本项目希望实现的业务结果<br>预期价值(选填):可验证的价值假设<br>订单、预计销售额等信息均为选填,仅在项目适用时补充</span><span>客户里程碑要求<br>提测时间<br>入库时间<br>小批量试产时间<br>量产时间</span></div>
</article>
<div class="connector"><div class="gate">产品与业务确认需求基线</div></div>
<article class="node">
<div class="index">02</div>
<div class="stage"><h3>产品定义</h3><span class="role">主责:产品 · 批准:业务</span></div>
<div class="work"><strong>把目标转成可实现、可验证的产品定义。</strong>技术负责人组织可行性评估,嵌入式应用层、嵌入式底层和硬件分别评估实现约束,测试评估可测试性。</div>
<div class="artifacts"><strong>正式成果</strong><span>立项资料<br>立项书:包含项目目标、项目基础信息、初步里程碑要求、项目干系人、版本说明等信息<br>规格书:包含产品硬件规格和主要元器件型号(主控芯片、Sensor、镜头、WiFi 芯片)<br>功能清单:定义设备支持的功能项<br>灯态:描述设备上电、绑定、升级、网络断开等状态下的指示灯状态与语音播报内容<br>产测功能清单:描述产测工具支持项<br>结构板框图(选填):包含主要器件位置和禁止限制区域</span><span>测试验收标准<br>平台测试用例<br>客户验收测试用例和验收标准</span><span>里程碑要求<br>提测时间<br>客户验收时间<br>试产、量产时间(选填)</span></div>
</article>
<div class="connector"><div class="gate">产品确认方案,业务批准范围</div></div>
<article class="node">
<div class="index">03</div>
<div class="stage"><h3>方案设计</h3><span class="role">主责:技术负责人 · 协作:嵌入式应用层 + 嵌入式底层 + 硬件 + 测试</span></div>
<div class="work"><strong>基于产品定义和阶段 2 已有评审结论形成可实施方案。</strong><div class="parallel"><span>技术负责人:总体架构、软硬件边界、关键决策</span><span>嵌入式应用层:业务逻辑、应用协议、功能模块设计</span><span>嵌入式底层:BSP、驱动、RTOS、HAL 设计</span><span>硬件:器件、PCB、电源/信号/热及接口约束</span><span>测试:测试标准、测试用例范围、测试项</span></div></div>
<div class="artifacts"><strong>正式成果</strong><span>总体技术方案(选填)</span><span>软硬件接口契约</span><span>架构决策记录(选填)</span><span>测试计划<br>测试标准、测试用例范围、测试项</span></div>
</article>
<div class="connector"><div class="gate">技术负责人确认整体方案,嵌入式应用层/嵌入式底层/硬件确认接口可实施,产品确认不偏离,测试确认可验证</div></div>
<article class="node">
<div class="index">04</div>
<div class="stage"><h3>项目规划</h3><span class="role">主责:项目Hub</span></div>
<div class="work"><strong>基于已确认的产品基线和方案设计成果,生成实际任务、人员分工、排期和风险计划。</strong>任务计划草案先由技术负责人确认;项目Hub只对存在疑点的任务定向询问对应执行角色,资源与排期基线再提交产品确认;确认后的计划与排期可由项目Hub同步给业务。</div>
<div class="artifacts"><strong>正式成果</strong><span>项目计划<br>项目任务拆分(工时评估)<br>实际项目排期</span><span>项目风险<br>技术风险<br>时间风险<br>其他风险</span><span>角色分工<br>Etunel 实际 role 与 display_name<br>职责边界、任务主责和协作关系<br>加入、退出、替换与交接要求<br>每项任务只有一个主责角色</span><span>产品资料整合<br>现有器件规格和板框约束<br>平台 SDK、串号表<br>平台对接文档<br>平台接入标准及开发规范<br>方案设计成果索引<br>其他项目输入参考资料</span><span>项目状态内部记录<br>阶段与门禁<br>任务与依赖<br>阻塞与风险<br>决策与成果基线<br>下一步与时限<br>项目创建期内部状态在阶段 4 正式化</span></div>
</article>
<div class="connector"><div class="gate">技术负责人确认任务计划,问题任务由对应执行角色定向确认,产品确认实际人员、资源与排期基线</div></div>
<article class="node">
<div class="index">05</div>
<div class="stage"><h3>嵌入式软硬件实现</h3><span class="role">并行:嵌入式应用层 + 嵌入式底层 + 硬件</span></div>
<div class="work"><strong>嵌入式应用层、嵌入式底层和硬件依据已确认的方案设计基线、项目任务计划和角色分工并行实现、样机调试和自测。</strong>硬件先取得并核对器件规格书和结构板框图,形成并确认硬件设计包后,再据此推进硬件实现;嵌入式底层将可消费版本交给嵌入式应用层合版,嵌入式应用层负责生成并提交唯一的最终固件版本;接口、任务或器件约束发生重大偏离时返回技术负责人和项目Hub确认。</div>
<div class="artifacts"><strong>正式成果</strong><span>硬件设计包<br>原理图<br>PCB 源文档<br>贴片资料(PCBA_BOM、器件位置图 PDF、贴片坐标)<br>接口定义</span><span>硬件实现资料<br>引用已确认的硬件设计包<br>正式原理图源文件与 PDF、PCB 源文件<br>Gerber、钻孔、拼板、层叠/阻抗和工艺说明(如适用)<br>PCBA_BOM、器件位置图 PDF、贴片坐标、极性、DNI/NC 信息<br>维修原理图、关键测试点和生产测试接口<br>板卡/样机/批次标识、BOM 和 ECO 版本<br>接口定义、板级调试和静态/测量证据<br>与底层、应用固件、配置和接口契约的版本关系<br>已知限制、风险、返修/回退和 supersedes</span><span>嵌入式底层实现资料<br>硬件功能测试报告<br>BSP 输出路径<br>PSP 输出路径<br>WiFi 设备定频测试固件(选填)</span><span>嵌入式应用层固件包<br>正式固件、升级固件<br>自测用例<br>分区表<br>MD5 值文件<br>Flash 烧写固件<br>zn_debug文件<br>Changelog<br>串口使能证书</span></div>
</article>
<div class="connector"><div class="gate">嵌入式底层提交可消费版本,嵌入式应用层合版并提交最终固件,技术负责人确认固件与硬件版本匹配</div></div>
<article class="node">
<div class="index">06</div>
<div class="stage"><h3>测试验证</h3><span class="role">主责:测试 · 修复:嵌入式应用层/嵌入式底层/硬件</span></div>
<div class="work"><strong>执行功能、接口、软硬件集成和回归测试。</strong><div class="branch"><div class="path return"><strong>不通过</strong>测试与相关负责人共同商议缺陷责任人;项目Hub按确认分工安排修复,测试独立复验</div><div class="path pass"><strong>通过</strong>形成必需测试正式成果及质量结论</div></div></div>
<div class="artifacts"><strong>正式成果</strong><span>功能测试报告<br>测试结论:通过/不通过<br>测试用例执行结果<br>bug: log日志</span><span>可靠性测试报告(选填)<br>高低温测试<br>跌落测试(选填)<br>防水测试(选填)</span><span>专项测试报告(选填)<br>画质、Wi-Fi/路由器、SD 卡、功耗、长稳、平台、试产等适用专项</span><span>提测佐证(选填)<br>平台要求的视频、截图、log材料</span><span>缺陷清单<br>bug条目、状态、模块、责任人<br>bug数量、回头率、冒头率等统计</span></div>
</article>
<div class="connector"><div class="gate">测试确认质量结论和剩余风险</div></div>
<article class="node">
<div class="index">07</div>
<div class="stage"><h3>平台/客户验收</h3><span class="role">产品组织 · 平台:产品确认 · 客户:业务确认</span></div>
<div class="work"><strong>平台验收在前,客户验收在后;输入就绪时可并行。</strong>产品确认收到测试直接交付的报告及已提供的提测佐证。<div class="branch"><div class="path return"><strong>未通过</strong>按平台或客户问题定向整改,回到对应分支重新验收。</div><div class="path pass"><strong>总条件</strong>平台通过(产品确认)+ 客户通过(业务确认),两项均通过后进入复盘结项。</div></div></div>
<div class="artifacts"><strong>正式成果</strong><span>平台验收报告或结论<br>产品出具并确认,无需业务确认</span><span>客户验收通过报告<br>业务确认客户验收结果</span><span>遗留问题清单</span></div>
</article>
<div class="connector"><div class="gate">平台验收通过(产品确认) + 客户验收通过(业务确认)</div></div>
<article class="node">
<div class="index">08</div>
<div class="stage"><h3>复盘结项</h3><span class="role">项目Hub组织 · 相关角色提供资料与复盘输入 · 业务确认结项</span></div>
<div class="work"><strong>收集项目资料,开展项目复盘并完成结项。</strong>项目Hub整理各阶段已确认成果、必要过程记录、项目进度和成果索引,核对双线验收与遗留问题承接,汇总经验及改进项。</div>
<div class="artifacts"><strong>正式成果</strong><span>结项资料归档<br>形成最终结果的流程文件</span><span>变更记录</span><span>结项报告</span><span>流程闭环总结<br>项目复盘经验与改进项</span></div>
</article>
</div>
<div class="crosscut">
<strong>贯穿全流程:变更申请(需求变更申请)</strong>
<p>任何角色都可提出变更;项目Hub组织影响评估,产品评估范围,技术负责人评估总体方案,嵌入式应用层、嵌入式底层和硬件分别评估实现与工作量,测试评估验证成本,业务批准后更新对应基线,并从受影响阶段继续推进。</p>
</div>
<div class="crosscut">
<strong>成果适用性:成果豁免(成果文件豁免)</strong>
<p>正式任务的阶段成果默认由主责角色输出;确认不适用时,由主责角色说明原因、影响和替代证据,项目Hub完成必要确认并记录豁免。验证期确需跳过时,记录缺失项、风险和后续补齐安排,不把跳过写成成果已完成。</p>
</div>
</section>
<div class="if-atlas" id="information-flow-atlas">
<section class="if-intro">
<div class="if-eyebrow">STAGE INFORMATION FLOW ATLAS · V0.15 · REVIEW</div>
<h2>各阶段角色信息流图谱</h2>
<p>以下内容直接承接总流程图,展示每条会影响成果、决策、门禁、返工或版本的正式信息流,并说明触发条件、发送方、接收方、载荷、确认要求和阻塞约束。</p>
<div class="if-quicknav">
<a href="#rules">通用规则</a><a href="#traceability">成果追踪矩阵</a><a href="#stage1">01 业务需求</a><a href="#stage2">02 产品定义</a><a href="#stage3">03 方案设计</a><a href="#stage4">04 项目规划</a><a href="#stage5">05 软硬件实现</a><a href="#stage6">06 测试验证</a><a href="#stage7">07 平台/客户验收</a><a href="#stage8">08 复盘结项</a><a href="#change">变更与异常</a><a href="#waiver">成果豁免</a>
</div>
<div class="if-artifact-legend"><em class="if-artifact-tag">绿色:正式成果、候选成果或正式基线</em><em class="if-artifact-tag process">黄色:过程记录、关联成果或修订对象</em></div>
</section>
<section class="if-section" id="rules">
<div class="if-section-head">
<div class="if-section-no">00 / RULES</div>
<div><h2>所有阶段共同遵守的流转规则</h2><p>成员 Agent 的跨角色任务、问题和结论仍经项目Hub定向中继、校验和登记。阶段 7 测试资料由测试负责人直接交付产品负责人,产品向项目Hub确认接收,文件不由项目Hub转发。</p></div>
</div>
<div class="if-callout">正式任务流转路径:触发事件 → 主责角色与本角色真人负责人对齐 → 完成指定文件、专业自审与负责人确认 → 向项目Hub提交成果及确认信息 → 项目Hub检查文件或已约定的交付索引、版本、证据、确认、依赖和冲突 → 定向路由目标角色 → 目标角色完成任务后返回项目Hub → 项目Hub留档并安排下游。信息流图只使用正式角色名称,不单列角色内部的 AI 会话与人工确认过程。阶段 7 文件直接交付与接收确认按该阶段约定执行,不要求大文件经过项目Hub传输。</div>
<div class="if-callout" style="margin-top: 14px">正式任务默认要求主责角色输出约定成果;确认不适用时记录原因、影响和替代证据。验证期可由负责人决定跳转、回退或暂缓,但必须保留缺失项、风险和补齐安排,不能把跳过写成已通过,也不能静默删除已有文件。</div>
<div class="if-role-legend">
<span class="if-actor if-center">项目Hub</span><span class="if-actor if-business">业务</span><span class="if-actor if-product">产品</span><span class="if-actor if-tech">技术负责人</span><span class="if-actor if-app">嵌入式应用层</span><span class="if-actor if-low">嵌入式底层</span><span class="if-actor if-hardware">硬件</span><span class="if-actor if-test">测试</span>
</div>
<div class="if-table-wrap" style="margin-bottom: 22px"><table><thead><tr><th>主体</th><th>是否为项目职能角色</th><th>定义</th><th>主要确认权限</th><th>不能做什么</th></tr></thead><tbody>
<tr><td>各专业角色</td><td>是</td><td>图中的正式角色名称统一代表该角色完成 AI 辅助自审与人工确认后的责任主体;内部审查过程不作为跨角色信息流单列。</td><td>以角色名义确认并发出本角色专业结论、正式成果、现实工期承诺、风险接受和正式交付;阶段 4 的资源与排期基线由产品确认。</td><td>不能替其他角色作出专业确认。</td></tr>
<tr><td>业务</td><td>是;同时承担项目级组织授权</td><td>业务节点同时包含业务专业判断和项目级组织授权的内部确认。</td><td>除业务成果外,负责确认预算、采购/打样、对外承诺日期、暂停/取消和高影响成果豁免,以及客户验收和项目结项;阶段 4 的计划与排期可由项目Hub同步知会业务,平台验收由产品确认而不经业务批准。</td><td>不替代产品、技术负责人、硬件或测试等角色给出专业结论。</td></tr>
<tr><td>项目Hub</td><td>是</td><td>项目Hub运行中心 AI,是项目唯一正式信息中心、任务路由器、成果校验器、阶段门禁执行者和项目状态内部记录维护者。</td><td>可依据证据更新项目状态、按角色需要分发状态快照、完成普通项目级审查和低影响豁免;高影响事项必须升级给业务。</td><td>不能自行承诺真实资源、预算、范围、日期或专业结论,也不能以推测代替角色提供的状态证据。</td></tr>
</tbody></table></div>
<div class="if-callout" style="margin: 0 0 14px"><strong>角色与成员配置:</strong>图中的八个角色是当前默认基线,不是永久封闭的角色集合。新增自定义角色前先定义目标、职责边界、参与阶段、正式成果、上下游依赖和确认权限,再由 Hub 真人负责人在 Etunel 中手动添加。项目Hub使用 <code>etunel_list_roles</code> 读取实际 <code>role</code>、<code>display_name</code> 和 <code>relationship</code>;各角色会话不向负责人重复确认成员 ID、会话 ID 或其他未由工具提供的字段。阶段 4 再通过《角色分工》将实际任务主责和交接关系正式基线化。</div>
<div class="if-callout" style="margin: 0 0 14px"><strong>项目成员清单:</strong>项目创建完成后、首个正式任务派发前,项目Hub从同一次 <code>etunel_list_roles</code> 结果生成 JSON 版和全中文 HTML 版《项目成员清单》。两份清单只记录项目名称、版本、导出时间及工具实际返回的 <code>role</code>、<code>display_name</code>、<code>relationship</code>,不虚构成员、会话或人员编号。角色变化后生成新版本,不覆盖历史版本;该清单不替代阶段 4 的《角色分工》。</div>
<div class="if-callout" style="margin: 0 0 14px"><strong>任务与状态规则:</strong>每项任务只有一个主责角色;依赖已经满足的多项任务可以形成任务波次,同一角色的内聚工作可以组成一个任务包。项目模式、任务结果、成果状态、阶段门禁、测试结论和业务验收含义不同,不得相互替代。对负责人使用“通过、失败、阻塞、不适用、延期”等自然中文;机器枚举只在工具字段明确要求时使用。</div>
<div class="if-callout" style="margin: 0 0 22px"><strong>项目文件与进度留档:</strong>项目Hub按 <code>项目资料/00-项目管理</code> 和八个阶段目录整理资料,维护《项目概览》《项目进度》《成果索引》及必要的《阶段记录》。正式成果放入对应阶段的角色目录,重要草稿、退回原因、决定和阻塞放入过程记录;正式文件不覆盖,回退不删除历史。阶段交接和钉钉里程碑通知前先完成留档,但目录排版本身不是新的专业门禁。阶段 7 直接交付的测试资料以文件索引和产品接收确认为留档依据,项目Hub无需复制大文件。</div>
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-business">任意角色</div><div class="if-arrow"><span class="if-flow-id">G.1</span><strong>提交已完成内部审查确认的消息、成果或请求</strong><small>说明完成情况、负责人确认、成果路径、版本、证据和待处理事项</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">G.2</span><strong>形式校验、跨角色冲突检查、登记并路由</strong><small>不替角色判断专业内容质量</small></div><div class="if-actor if-product">目标角色</div></div>
<div class="if-exchange"><div class="if-actor if-product">目标角色</div><div class="if-arrow"><span class="if-flow-id">G.3</span><strong>完成内部审查后返回结构化结果</strong><small>角色内部确认不单列;禁止转发完整聊天记录</small></div><div class="if-actor if-center">项目Hub</div></div>
</div>
<div class="if-callout" style="margin: 22px 0 14px"><strong>项目进度与按需同步:</strong>项目Hub持续维护 <code>项目资料/00-项目管理/项目进度.md</code>,并在对应阶段的《阶段记录》中追加重要事件。创建项目、启动任务波次、接收正式成果、重要退回、阻塞与解除、决定与变更、阶段切换/跳转/回退/暂缓和结项时更新;普通消息、队列状态和空确认不逐条留档。关键变化只向实际受影响角色推送,也响应角色按阶段或任务发起的查询。</div>
<div class="if-flow-board">
<div class="if-exchange if-conditional"><div class="if-actor if-business">任意角色</div><div class="if-arrow"><span class="if-flow-id">S.1 · 按需查询</span><strong>请求与本角色职责相关的最新项目状态</strong><small>说清关注阶段或任务、需要的信息和用途</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">S.2 · 自动或按需</span><strong>生成并分发角色化项目状态快照</strong><small>关键状态变化时主动推送;收到 S.1 后按查询范围返回</small></div><div class="if-actor if-product">请求角色及受影响角色</div></div>
<div class="if-exchange"><div class="if-actor if-product">接收角色</div><div class="if-arrow"><span class="if-flow-id">S.3</span><strong>确认状态或携带证据提出纠正</strong><small>不得仅凭口头判断覆盖已登记状态</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-conditional"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">S.4 · 状态纠正</span><strong>校验依据、更新内部记录并重新分发</strong><small>保留旧状态、变更原因、证据引用和生效时间</small></div><div class="if-actor if-product">全部受影响角色</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>对项目执行的影响</th></tr></thead><tbody>
<tr><td>S.1</td><td>角色需要了解当前阶段、任务、依赖、风险或门禁状态,但现有上下文不足或可能已过期。</td><td>任意角色 → 项目Hub</td><td>查询范围、关注事项、所需详细度、期望时点和用途。</td><td>只能查询项目授权范围内的信息;请求角色无需知道项目的内部存储结构。</td><td>创建一次按需状态查询。</td></tr>
<tr><td>S.2</td><td>收到 S.1;或阶段/门禁、任务分派、依赖、阻塞、风险、决策、成果基线或期限发生关键变化。</td><td>项目Hub → 请求角色及受影响角色</td><td>项目状态快照:当前阶段与门禁、相关任务、依赖、阻塞、风险、决定、成果引用、下一步、期限和证据。</td><td>按最小必要原则裁剪为角色化上下文;禁止转发无关角色的完整会话或未确认专业判断;所有状态必须有证据来源。</td><td>角色获得可执行的最新上下文。</td></tr>
<tr><td>S.3</td><td>角色收到状态快照。</td><td>接收角色 → 项目Hub</td><td>确认可以继续;或说明需要纠正的内容、正确值、原因、证据和负责人确认。</td><td>没有证据的异议不得直接覆盖状态;存在争议时进入 E.1–E.4。</td><td>确认可继续执行,或触发状态纠正。</td></tr>
<tr><td>S.4</td><td>纠正请求通过版本、证据及跨角色一致性检查。</td><td>项目Hub → 全部受影响角色</td><td>变更内容、旧值与新值、原因、证据、生效时间及受影响任务。</td><td>保留状态历史,不覆盖旧版本;改变正式基线时必须转入变更申请。</td><td>相关角色切换到新的有效状态快照。</td></tr>
</tbody></table></div>
<div class="if-callout" style="margin: 22px 0 14px"><strong>异常协同补充机制:</strong>条件流、阻塞流、跨角色冲突或无法按时收敛的问题进入 E.1–E.4。项目Hub分别提醒实际相关角色并提供完整问题包;问题复杂时建议各角色真人负责人线下沟通。讨论结果由当前主责角色的负责人带回本角色会话,完成本角色任务后再提交项目Hub;角色 Agent 之间仍不直接通信。</div>
<div class="if-flow-board">
<div class="if-exchange if-conditional"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">E.1 · 异常触发</span><strong>主动提醒当前主责角色及全部关联角色</strong><small>发送问题、证据、冲突点、影响范围、原流程位置和响应时限</small></div><div class="if-actor if-product">当前主责角色及关联角色</div></div>
<div class="if-exchange if-conditional"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">E.2 · 复杂问题</span><strong>建议由当前主责角色组织线下会议</strong><small>提供建议参会角色、议题、待决策项、证据包和结论模板</small></div><div class="if-actor if-product">当前主责角色及关联角色</div></div>
<div class="if-exchange"><div class="if-actor if-product">当前主责角色</div><div class="if-arrow"><span class="if-flow-id">E.3</span><strong>提交参与角色统一确认的会议结论</strong><small>包含结论、分歧处理、变更项、责任角色、期限、版本和确认状态</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">E.4</span><strong>校验、登记结论并恢复原异常流程</strong><small>只恢复被阻塞的原流程,不以会议记录替代正式成果</small></div><div class="if-actor if-product">原流程及关联角色</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>对原流程的影响</th></tr></thead><tbody>
<tr><td>E.1</td><td>条件流或阻塞流被触发;出现跨角色冲突、依赖异常、证据矛盾、任务逾期或结果无法被下游使用。</td><td>项目Hub → 当前主责角色及实际关联角色</td><td>问题摘要、证据与版本引用、冲突点、影响范围、所需角色和期望处理时间。</td><td>项目Hub必须主动提醒,不得只更新状态;各角色依据正式问题包分别确认。</td><td class="if-block">原流程保持阻塞,等待问题关闭。</td></tr>
<tr><td>E.2</td><td>涉及多个专业角色且结论冲突,影响范围/架构/接口/成本/进度/质量,或在要求时限内无法通过异步消息收敛。</td><td>项目Hub → 当前主责角色及关联角色</td><td>建议参会名单、会议目的、议题、冲突矩阵、证据包、待决策项、结论模板和完成时限。</td><td>项目Hub只建议会议和准备输入,不主持专业裁决;当前主责角色负责组织,关联角色共同参与确认。</td><td class="if-block">会议结论回传前,不恢复原流程。</td></tr>
<tr><td>E.3</td><td>线下讨论完成并形成统一结论。</td><td>当前主责角色 → 项目Hub</td><td>会议决定记录:参与角色、统一结论、保留分歧、变更项、责任角色、期限、成果版本、证据和负责人确认。</td><td>禁止只上传录音、聊天记录或未经参与角色确认的纪要;仍有分歧时继续保持阻塞并明确升级项。</td><td>形成可登记的异常处置结论。</td></tr>
<tr><td>E.4</td><td>统一结论通过项目Hub的形式、版本、证据和跨角色一致性检查。</td><td>项目Hub → 原流程及关联角色</td><td>登记结果、受影响成果或任务、恢复点、后续动作和新时限。</td><td>项目Hub不改写专业结论;若结论改变正式基线,必须转入变更申请。</td><td class="if-pass">从原来被阻塞的位置恢复当前流程。</td></tr>
</tbody></table></div>
<div class="if-table-wrap"><table><thead><tr><th>通用约束</th><th>执行要求</th><th>不满足时</th></tr></thead><tbody>
<tr><td>Etunel 消息</td><td>Hub 使用工具实际提供的 <code>role</code>、<code>kind</code>、<code>text</code>、可选附件路径和关联字段;需要完成、阻塞或结算时,只从入站消息读取真实 <code>message_id</code>。机器字段不抄进给负责人的正文。</td><td class="if-block">字段不符合当前工具 schema 时停止调用并说明能力缺口,不得发明参数。</td></tr>
<tr><td>成果版本</td><td>必须写清成果名称、当前版本、状态、替代关系和证据引用。</td><td class="if-block">作为草稿退回,并说明缺少内容。</td></tr>
<tr><td>成果责任</td><td>原则上由流程图指定的主责角色创建、更新并提交对应成果。</td><td class="if-block">其他角色不能代签;项目Hub返回主责角色。</td></tr>
<tr><td>角色内部审查</td><td>每个角色必须完成专业自查并取得当前真人负责人确认;跨角色流转时统一以正式角色名称表示。</td><td class="if-block">没有自查或负责人确认的成果不能作为正式成果提交项目Hub。</td></tr>
<tr><td>专业发起权</td><td>专业活动由对应主责角色判断并发起;项目Hub只负责格式校验、任务路由、状态跟踪和结果登记。</td><td class="if-block">项目Hub不得越权替角色发起专业决策。</td></tr>
<tr><td>项目Hub审查边界</td><td>仅做必填结构、文件、版本、证据、负责人确认,以及多个角色正式信息之间的重复、冲突和依赖一致性检查。</td><td class="if-block">不得替业务、产品、技术负责人、嵌入式应用层、嵌入式底层、硬件或测试判断本专业内容是否充分。</td></tr>
<tr><td>成果豁免</td><td>仅主责角色可提出不适用申请;经项目Hub审查及必要确认后记录为已豁免。</td><td class="if-block">未批准时仍需要该成果;验证期跳转则记录缺失、风险和补齐安排。</td></tr>
<tr><td>角色确认</td><td>专业结论由对应角色内部形成并确认;阶段 4 的资源与排期由产品确认,预算、采购及对外承诺等项目级组织授权仍由业务内部完成。信息流图只显示统一的正式角色主体。</td><td class="if-block">未完成负责人确认时不得作为正式结果发出。</td></tr>
<tr><td>项目状态同步</td><td>项目Hub维护有版本和证据的项目状态内部记录,并在关键变化时主动向受影响角色推送,或按 S.1–S.4 响应角色查询与纠正。</td><td class="if-block">状态来源、版本或时点不明时不得作为任务执行依据。</td></tr>
<tr><td>异常协同</td><td>项目对异常主动提醒关联角色;复杂问题建议当前主责角色组织线下会议,统一确认后提交结构化结论。</td><td class="if-block">未按 E.1–E.4 闭环,不得恢复原流程或推进门禁。</td></tr>
<tr><td>跨角色沟通</td><td>成员 Agent 之间不直接通信;任务、问题、最终结论、约束和影响都通过项目Hub定向中继。阶段 7 测试报告及已提供的提测佐证可由测试负责人直接交付产品负责人,接收确认回传项目Hub登记。</td><td class="if-block">未经确认或未登记的信息不能作为正式下游输入;已按阶段 7 确认接收的文件不要求项目Hub重新转交。</td></tr>
<tr><td>门禁</td><td>正常顺序推进时,只有必需成果完整、版本正确、证据可访问、确认齐全才能通过;阶段 7 直接交付的测试资料以产品确认收到为交接依据,不要求项目Hub接收大文件。跳转、回退或暂缓按负责人决定另行记录。</td><td class="if-block">未满足且没有明确跳转决定时,阶段保持阻塞;接收确认不等于验收通过。</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="traceability">
<div class="if-section-head"><div class="if-section-no">00B / ARTIFACT TRACEABILITY</div><div><h2>正式成果—信息流追踪矩阵</h2><p>流程图规划的每项正式成果都必须能够追踪到首次形成、评审或修订、正式确认以及下游分发。表中流程 ID 与各阶段信息流图和说明表一一对应。</p></div></div>
<div class="if-callout" style="margin-bottom:18px">判定原则:正式成果必须由指定主责角色输出;过程记录只能解释校验、评审、冲突、变更和确认,不得替代正式成果。阶段 3 的总体技术方案、架构决策记录,以及阶段 6 的可靠性测试报告为选填成果,未提交不阻塞推进,也无需另行豁免;已提交时仍须完成版本登记和相应确认。若其他必需成果获准豁免,则以下对应流转中的成果引用改为豁免记录和替代证据。</div>
<div class="if-table-wrap"><table><thead><tr><th>阶段</th><th>正式成果</th><th>主责角色</th><th>首次形成/提交</th><th>评审、修订与确认</th><th>正式分发/下游使用</th></tr></thead><tbody>
<tr><td>1 业务需求</td><td>项目背景说明</td><td>业务</td><td>F1.1</td><td>F1.2 条件修订;F1.4 产品与业务确认</td><td>F1.3 评审分发;F1.5 正式基线给产品</td></tr>
<tr><td>1 业务需求</td><td>客户里程碑要求</td><td>业务</td><td>F1.1</td><td>F1.2 条件修订;F1.4 产品与业务确认</td><td>F1.3 评审分发;F1.5 正式基线给产品</td></tr>
<tr><td>2 产品定义</td><td>立项资料</td><td>产品</td><td>F2.2</td><td>F2.3–F2.6 专业评审与修订;F2.7–F2.8 业务批准</td><td>F3.1 方案设计输入;F4.1 项目规划输入</td></tr>
<tr><td>2 产品定义</td><td>测试验收标准</td><td>产品</td><td>F2.2</td><td>F2.3–F2.6 测试评审;F2.7–F2.8 业务批准</td><td>F3.7 测试计划 输入;F6.1 测试输入;F7.1 验收输入</td></tr>
<tr><td>2 产品定义</td><td>里程碑要求</td><td>产品</td><td>F2.2</td><td>F2.3–F2.6 专业评审;F2.7–F2.8 业务批准</td><td>F4.1 项目计划 输入;S.2 状态同步</td></tr>
<tr><td>3 方案设计</td><td>总体技术方案(选填)</td><td>技术负责人</td><td>F3.2(提供时)</td><td>F3.4–F3.8 修订;F3.9–F3.10 确认</td><td>F4.1 项目规划输入;F5.1 实现输入;F8.2 收集、F8.6 归档</td></tr>
<tr><td>3 方案设计</td><td>软硬件接口契约</td><td>技术负责人</td><td>F3.2</td><td>F3.4–F3.8 多角色修订;F3.9–F3.10 确认</td><td>F4.1 项目规划输入;F5.1 实现输入;F5.7 冲突回溯</td></tr>
<tr><td>3 方案设计</td><td>架构决策记录(选填)</td><td>技术负责人</td><td>提供时于 F3.2 形成;F3.4–F3.6 持续补充</td><td>F3.8–F3.10 确认;X 流程变更时追加</td><td>F4.1 项目规划输入;F5.1 实现约束;F8.2 收集、F8.6 归档</td></tr>
<tr><td>3 方案设计</td><td>测试计划</td><td>测试</td><td>F3.3/F3.7<br>明确测试标准、测试用例范围和测试项</td><td>F3.8–F3.10 多角色确认</td><td>F4.1 测试任务规划输入;F6.1 测试任务输入</td></tr>
<tr><td>4 项目规划</td><td>项目计划</td><td>项目Hub</td><td>F4.1</td><td>F4.2 技术负责人确认;F4.3–F4.5 定向修订;F4.6–F4.7 产品确认资源与排期</td><td>F4.8 分发相关执行角色,可同步业务;F5.1 实现任务输入;后续由 X 流程变更</td></tr>
<tr><td>4 项目规划</td><td>项目风险</td><td>项目Hub</td><td>F4.1,汇总阶段 2 已识别风险和阶段 3 方案风险</td><td>F4.2–F4.7 更新与确认;E/X 流程持续更新</td><td>F4.8 分发;F5.1 实现风险输入;S.2 按角色同步</td></tr>
<tr><td>4 项目规划</td><td>角色分工</td><td>项目Hub</td><td>F4.1</td><td>F4.2 技术负责人确认;F4.3–F4.5 问题任务修订</td><td>F4.8 随正式任务分发;F5.1 实现责任输入</td></tr>
<tr><td>4 项目规划</td><td>产品资料整合</td><td>项目Hub</td><td>F4.1</td><td>F4.2 技术负责人检查产品与方案输入引用</td><td>F4.8 按角色裁剪分发;F5.1 实现输入</td></tr>
<tr><td>4 项目规划</td><td>项目状态内部记录</td><td>项目Hub</td><td>F4.1 初始执行记录</td><td>S.3–S.4 证据化纠正;E/X 流程更新</td><td>F4.8 初始执行快照;S.2 自动或按需分发</td></tr>
<tr><td>5 软硬件实现</td><td>硬件设计包</td><td>硬件</td><td>F5.2(所需输入资料齐备后)</td><td>F5.2 硬件负责人确认;F5.3 技术负责人及受影响角色确认;F5.7 冲突修订</td><td>F5.2 硬件实现依据;F5.3 定向分发;F8.2 收集、F8.6 归档</td></tr>
<tr><td>5 软硬件实现</td><td>硬件实现资料</td><td>硬件</td><td>F5.2(硬件设计包确认后)</td><td>F5.7 冲突修订;F5.8–F5.10 版本匹配确认</td><td>F6.1 测试输入;F8.2 收集、F8.6 归档</td></tr>
<tr><td>5 软硬件实现</td><td>嵌入式底层实现资料</td><td>嵌入式底层</td><td>F5.4(WiFi 设备定频测试固件选填)</td><td>F5.5 BSP/PSP 交嵌入式应用层合版;F5.7/F5.10 确认版本关系</td><td>BSP/PSP 通过 F5.6 集成进统一固件;F8.2 提交归档资料</td></tr>
<tr><td>5 软硬件实现</td><td>嵌入式应用层固件包</td><td>嵌入式应用层</td><td>F5.6 候选;F5.9 最终提测版</td><td>F5.7 冲突修订;F5.8–F5.10 技术负责人确认</td><td>F6.1 交测试;F6.8 回归版;F8.2 归档已验收版本</td></tr>
<tr><td>6 测试验证</td><td>功能测试报告</td><td>测试</td><td>F6.2</td><td>F6.3–F6.9 缺陷/回归更新;F6.10 确认</td><td>F7.1 测试直接交付产品并确认接收;F8.2/F8.6 归档索引</td></tr>
<tr><td>6 测试验证</td><td>可靠性测试报告(选填)</td><td>测试</td><td>F6.2(提供时)</td><td>已提供时按 F6.3–F6.9 更新缺陷/回归;F6.10 确认</td><td>已提供时由测试直接交付产品,F7.1 确认接收;F8.2/F8.6 归档索引</td></tr>
<tr><td>6 测试验证</td><td>专项测试报告(选填)</td><td>测试</td><td>F6.2(提供时)</td><td>已提供时按 F6.3–F6.9 更新缺陷/回归;F6.10 确认</td><td>已提供时由测试直接交付产品,F7.1 确认接收;F8.2/F8.6 归档索引</td></tr>
<tr><td>6 测试验证</td><td>提测佐证(选填)</td><td>测试</td><td>F6.2 登记索引(提供时)</td><td>已提供时按 F6.3–F6.9 补充;F6.10 确认版本与索引</td><td>F7.1 测试直接交付、产品确认接收;F7.2/F7.4 按需用于验收;F8.2/F8.6 归档索引</td></tr>
<tr><td>6 测试验证</td><td>缺陷清单</td><td>测试</td><td>F6.2/F6.3</td><td>F6.3 相关负责人共同确定责任人;F6.4–F6.9 修复与测试回归;F6.10 确认</td><td>F7.1 验收限制输入;F8.2 收集、F8.6 归档</td></tr>
<tr><td>7 平台/客户验收</td><td>平台验收报告或结论</td><td>产品</td><td>F7.3(二选一即可)</td><td>产品确认;F7.8–F7.9 返工后重新确认;无需业务确认</td><td>F7.10 双线门禁;F8.2 收集、F8.3 结项核对</td></tr>
<tr><td>7 平台/客户验收</td><td>客户验收通过报告</td><td>产品</td><td>F7.5 草案</td><td>F7.6–F7.7 业务确认客户结果;F7.8–F7.9 返工后重新确认</td><td>F7.10 双线门禁;F8.2 收集、F8.3 结项核对</td></tr>
<tr><td>7 平台/客户验收</td><td>遗留问题清单</td><td>产品</td><td>F7.3/F7.5</td><td>F7.8–F7.10 更新处置结果、责任人与期限</td><td>F8.3 关闭或确认承接;写入结项报告</td></tr>
<tr><td>8 复盘结项</td><td>结项资料归档</td><td>项目Hub</td><td>F8.2 收集;F8.6 汇总</td><td>F8.3 核对;F8.7 完整性与结项确认</td><td>项目关闭后锁定归档</td></tr>
<tr><td>8 复盘结项</td><td>变更记录</td><td>项目Hub</td><td>X.1–X.5 持续记录;F8.6 汇总</td><td>每次变更决定更新;F8.7 结项检查</td><td>随结项资料归档锁定</td></tr>
<tr><td>8 复盘结项</td><td>结项报告</td><td>项目Hub</td><td>F8.6</td><td>F8.2–F8.5 提供输入;F8.7 业务确认结项</td><td>项目关闭依据与归档入口</td></tr>
<tr><td>8 复盘结项</td><td>流程闭环总结</td><td>项目Hub</td><td>F8.4–F8.5 复盘输入;F8.6 汇总</td><td>F8.7 结项确认</td><td>项目经验、改进项跟进与后续复用</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="stage1">
<div class="if-section-head"><div class="if-section-no">01 / BUSINESS</div><div><h2>阶段 1:业务需求信息流</h2><p>把客户背景、业务目标和关键里程碑转换成经产品与业务确认的需求基线。</p></div></div>
<div class="if-stage-summary"><div class="if-summary-card"><b>主责</b><span>业务</span></div><div class="if-summary-card"><b>核心成果</b><span>项目背景说明、客户里程碑要求</span></div><div class="if-summary-card"><b>门禁</b><span>产品与业务确认同一需求基线后进入产品定义</span></div></div>
<div class="if-callout" style="margin-bottom: 18px; font-size: 14px">业务完成原始信息收集、成果自查和负责人确认后,以统一的“业务”主体提交成果。项目Hub完成文件、版本、证据和跨角色冲突检查后,在 F1.3 将业务成果评审版本路由给产品。产品与业务通过项目Hub澄清待确认项,并分别完成本角色负责人确认,确认同一需求基线。双方确认后,项目Hub登记留档并向产品分发正式业务基线,即可开启产品定义。</div>
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-business">业务</div><div class="if-arrow"><span class="if-flow-id">F1.1</span><strong>提交完成内部审查的项目背景与客户里程碑要求草案</strong><small>附负责人确认、来源引用和实际成果文件</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-conditional if-blocking"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F1.2 · 条件触发</span><strong>仅在发现形式错误或跨来源冲突时返回问题</strong><small>触发范围仅限文件结构、版本、证据和已登记信息冲突;无异常则不启用此流</small></div><div class="if-actor if-business">业务</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F1.3</span><strong>分发已通过形式校验的业务成果评审版本</strong><small>附成果版本、证据引用、状态和待确认项</small></div><div class="if-actor if-product">产品</div></div>
<div class="if-exchange"><div class="if-actor if-business">产品 / 业务</div><div class="if-arrow"><span class="if-flow-id">F1.4</span><strong>产品与业务确认需求基线</strong><small>经项目Hub中转,双方分别确认同一版本</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F1.5</span><strong>向产品分发正式业务基线并开启产品定义</strong><small>双方确认后留档,分发当前有效版本即可进入阶段 2</small></div><div class="if-actor if-product">产品</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>对阶段的影响</th></tr></thead><tbody>
<tr><td>F1.1</td><td>收到新的客户需求或业务机会,且业务已完成原始信息收集、自查和负责人确认。</td><td>业务 → 项目Hub</td><td><b>正式成果草案:</b>项目背景说明、客户里程碑要求。<br><b>附带内容:</b>负责人确认、来源引用、成果版本和实际文件。</td><td>项目Hub不重复判断业务内容质量,只检查形式和跨来源一致性。</td><td>进入中心登记。</td></tr>
<tr><td>F1.2(条件流)</td><td>仅当文件结构、版本、证据不合规,或与已登记正式信息发生冲突时触发;不存在上述问题时跳过。</td><td>项目Hub → 业务</td><td><b>过程记录:</b>形式校验问题清单或冲突清单。<br><b>关联成果:</b>受影响的项目背景说明/客户里程碑要求及其字段、版本、冲突来源和修正要求。</td><td>项目Hub不能生成业务缺失项或替业务补写事实;无错误或冲突时不得发起此流。</td><td class="if-block">触发后,错误或冲突关闭前阻塞登记;未触发则直接进入 F1.3。</td></tr>
<tr><td>F1.3</td><td>业务成果通过项目Hub的文件、版本、证据和跨角色冲突检查并完成登记。</td><td>项目Hub → 产品</td><td><b>评审分发成果:</b>待评审的项目背景说明、客户里程碑要求。<br><b>附带内容:</b>成果版本、状态、证据、待确认项和回复时限。</td><td>标明待评审状态;经产品与业务确认并留档后,才可作为阶段 2 输入。</td><td>产品与业务通过项目Hub进入 F1.4 需求基线确认。</td></tr>
<tr><td>F1.4</td><td>F1.3 已分发评审版本,业务内部审查和中心形式校验已完成。</td><td>产品 ↔ 项目Hub ↔ 业务</td><td><b>确认成果:</b>经产品与业务各自负责人确认的项目背景说明、客户里程碑要求。<br><b>附带内容:</b>确认状态、确认时间、确认条件和版本。</td><td>待确认项经项目Hub中转澄清;记录双方各自负责人确认状态、时间和版本,双方须确认同一版本。</td><td class="if-pass">双方确认后通过门禁,进入 F1.5 并开启产品定义。</td></tr>
<tr><td>F1.5</td><td>产品与业务确认同一需求基线,项目Hub已登记并留档正式版本且阶段门禁通过。</td><td>项目Hub → 产品</td><td><b>正式基线:</b>项目背景说明、客户里程碑要求的当前有效版本。<br><b>附带内容:</b>成果版本、基线与证据引用、阶段 2 任务和确认时限。</td><td>只允许分发已经确认并留档的当前有效版本;分发事件和接收状态必须登记,草稿或过期版本不得作为产品定义输入。</td><td class="if-pass">产品接收后开启阶段 2。</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="stage2">
<div class="if-section-head"><div class="if-section-no">02 / PRODUCT</div><div><h2>阶段 2:产品定义信息流</h2><p>产品形成完整立项资料,并让技术负责人、嵌入式应用层、嵌入式底层、硬件和测试从各自专业角度完成可行性确认。</p></div></div>
<div class="if-stage-summary"><div class="if-summary-card"><b>主责</b><span>产品;业务批准范围</span></div><div class="if-summary-card"><b>核心成果</b><span>立项资料、测试验收标准、里程碑要求</span></div><div class="if-summary-card"><b>门禁</b><span>产品确认方案,业务批准范围,约束和测试标准完整</span></div></div>
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F2.1</span><strong>下发产品定义任务</strong><small>附产品与业务已确认的阶段 1 基线及已知约束</small></div><div class="if-actor if-product">产品</div></div>
<div class="if-exchange"><div class="if-actor if-product">产品</div><div class="if-arrow"><span class="if-flow-id">F2.2</span><strong>提交立项资料草案与专业评审请求</strong><small>产品明确评审角色、问题、范围和期望输出</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F2.3</span><strong>校验请求并并行路由专业评审</strong><small>按产品指定范围裁剪上下文,不新增专业问题</small></div><div class="if-actor if-tech">技术负责人 / 嵌入式应用层 / 嵌入式底层 / 硬件 / 测试</div></div>
<div class="if-exchange"><div class="if-actor if-tech">评审角色</div><div class="if-arrow"><span class="if-flow-id">F2.4</span><strong>返回可行性、缺口和约束</strong><small>每条意见必须关联具体成果字段</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-blocking"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F2.5</span><strong>汇总跨角色冲突并返回产品裁决/修订</strong><small>项目Hub只指出冲突,不替产品作内容决定</small></div><div class="if-actor if-product">产品</div></div>
<div class="if-exchange"><div class="if-actor if-product">产品</div><div class="if-arrow"><span class="if-flow-id">F2.6</span><strong>提交内部确认后的产品方案</strong><small>关闭评审问题并标明保留风险</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F2.7</span><strong>请求业务批准范围</strong><small>呈现范围、里程碑、成本/风险影响</small></div><div class="if-actor if-business">业务</div></div>
<div class="if-exchange"><div class="if-actor if-business">业务</div><div class="if-arrow"><span class="if-flow-id">F2.8</span><strong>批准、驳回或附条件批准</strong><small>附条件项必须有责任人与期限</small></div><div class="if-actor if-center">项目Hub</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>对阶段的影响</th></tr></thead><tbody>
<tr><td>F2.1–2.2</td><td>阶段 2 启动。</td><td>项目Hub ↔ 产品</td><td><b>输入基线:</b>项目背景说明、客户里程碑要求。<br><b>产品提交的正式成果草案:</b>立项资料、测试验收标准、里程碑要求。<br><b>参考输入(非阶段成果):</b>项目已有的器件规格、板框约束、平台 SDK、串号表、平台对接文档和开发规范。</td><td>产品先自审,所有资料必须引用阶段 1 基线;专业评审由产品发起。</td><td>进入专业评审路由。</td></tr>
<tr><td>F2.3</td><td>产品提交可评审草案和评审请求。</td><td>项目Hub → 技术负责人 / 嵌入式应用层 / 嵌入式底层 / 硬件 / 测试</td><td><b>评审分发成果:</b>按角色裁剪上述三类产品定义成果草案。<br><b>参考输入:</b>只附与评审问题相关的现有器件、板框和平台资料;另含成果版本、基线引用、评审范围、问题和时限。</td><td>项目Hub只校验和路由;技术负责人看总体,嵌入式应用层看功能,嵌入式底层看 BSP/HAL,硬件看器件/板框,测试看可测性。</td><td>并行评审。</td></tr>
<tr><td>F2.4</td><td>各角色完成评审。</td><td>技术负责人 / 嵌入式应用层 / 嵌入式底层 / 硬件 / 测试 → 项目Hub</td><td><b>过程记录:</b>角色评审结果(角色评审结论)。<br><b>关联成果:</b>三类产品定义成果的具体字段;提交结论、缺失、风险、证据、建议和是否阻塞。</td><td>不得只回复“可行/不可行”。</td><td>形成冲突矩阵。</td></tr>
<tr><td>F2.5–2.6</td><td>存在冲突或缺口。</td><td>项目Hub ↔ 产品</td><td><b>修订成果:</b>受影响的 立项资料、测试验收标准、里程碑要求 新版本。<br><b>附带内容:</b>字段级修订清单、变更影响和关闭说明。</td><td>产品在内部确认最终版本后统一发出。</td><td class="if-block">问题未关闭则暂缓推进。</td></tr>
<tr><td>F2.7–2.8</td><td>产品方案专业评审完成。</td><td>项目Hub ↔ 业务</td><td><b>批准成果包:</b>三类产品定义成果的负责人确认候选版本。<br><b>附带内容:</b>范围、验收、里程碑、风险、附条件事项、版本和确认状态。</td><td>范围批准由业务完成内部授权后统一给出。</td><td class="if-pass">批准并留档后作为正式基线进入阶段 3。</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="stage3">
<div class="if-section-head"><div class="if-section-no">03 / DESIGN</div><div><h2>阶段 3:方案设计信息流</h2><p>技术负责人依据产品定义基线,结合阶段 2 已有评审结论组织总体方案;产品、嵌入式应用层、嵌入式底层、硬件和测试围绕同一份软硬件接口契约完成多轮确认。</p></div></div>
<div class="if-stage-summary"><div class="if-summary-card"><b>主责</b><span>技术负责人主责接口契约及选填的方案、决策记录;硬件确认接口与约束;测试主责测试计划</span></div><div class="if-summary-card"><b>核心成果</b><span>软硬件接口契约、测试计划;总体技术方案、架构决策记录为选填</span></div><div class="if-summary-card"><b>门禁</b><span>方案确认、接口可实施、需求不偏离、测试可验证</span></div></div>
<div class="if-callout" style="margin-bottom:18px">总体技术方案、架构决策记录为选填,未提供不阻塞阶段推进,也无需另行豁免;必要的技术决定仍须写入软硬件接口契约或角色确认记录。硬件在本阶段完成接口与约束确认,硬件设计包在阶段 5 形成并确认。</div>
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F3.1</span><strong>下发总体方案设计任务</strong><small>附产品定义基线、阶段 2 已有评审记录和现有技术参考资料</small></div><div class="if-actor if-tech">技术负责人</div></div>
<div class="if-exchange"><div class="if-actor if-tech">技术负责人</div><div class="if-arrow"><span class="if-flow-id">F3.2</span><strong>提交接口契约草案</strong><small>含边界、关键决策、非功能和风险;附已提供的总体技术方案、架构决策记录</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F3.3</span><strong>并行分发角色化设计任务</strong><small>每个角色在同一契约版本上工作</small></div><div class="if-actor if-app">产品 / 嵌入式应用层 / 嵌入式底层 / 硬件 / 测试</div></div>
<div class="if-exchange if-conditional"><div class="if-actor if-app">嵌入式应用层</div><div class="if-arrow"><span class="if-flow-id">F3.4</span><strong>提出 HAL、资源和应用接口需求</strong><small>接口新增或资源不足时触发</small></div><div class="if-actor if-center">项目Hub → 嵌入式底层 / 技术负责人</div></div>
<div class="if-exchange if-conditional"><div class="if-actor if-low">嵌入式底层</div><div class="if-arrow"><span class="if-flow-id">F3.5</span><strong>提出引脚、电平、时序和器件约束</strong><small>HAL 与硬件设计存在依赖时</small></div><div class="if-actor if-center">项目Hub → 硬件 / 技术负责人</div></div>
<div class="if-exchange if-conditional"><div class="if-actor if-hardware">硬件</div><div class="if-arrow"><span class="if-flow-id">F3.6</span><strong>反馈器件、PCB、电源、空间与热约束</strong><small>影响接口、成本或性能时</small></div><div class="if-actor if-center">项目Hub → 技术负责人 / 嵌入式底层 / 产品</div></div>
<div class="if-exchange if-blocking"><div class="if-actor if-test">测试</div><div class="if-arrow"><span class="if-flow-id">F3.7</span><strong>提交不可测试项和环境/治具缺口</strong><small>验收标准无法验证时</small></div><div class="if-actor if-center">项目Hub → 相关角色</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F3.8</span><strong>汇总冲突并要求修订相关设计成果</strong><small>形成决策清单和待关闭问题</small></div><div class="if-actor if-tech">技术负责人</div></div>
<div class="if-exchange"><div class="if-actor if-tech">技术负责人</div><div class="if-arrow"><span class="if-flow-id">F3.9</span><strong>提交内部确认的接口契约基线</strong><small>所有阻塞问题关闭后,附已提供的选填成果</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F3.10</span><strong>请求各角色确认接口可实施</strong><small>嵌入式应用层、嵌入式底层、硬件、产品、测试分别确认</small></div><div class="if-actor if-product">产品 / 嵌入式应用层 / 嵌入式底层 / 硬件 / 测试</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>对阶段的影响</th></tr></thead><tbody>
<tr><td>F3.1–3.3</td><td>阶段 2 门禁通过,产品定义基线有效。</td><td>项目Hub ↔ 技术负责人/协作角色</td><td><b>按主责角色分别形成的正式成果草案:</b>技术负责人输出 软硬件接口契约;总体技术方案、架构决策记录为选填。测试输出 测试计划,包含测试标准、测试用例范围、测试项。<br><b>协作输入:</b>硬件完成接口与约束确认。<br><b>输入内容:</b>阶段2三类产品成果、现有技术参考资料、阶段 2 已有的可行性与风险评审记录(如有)、设计范围和时限。</td><td>方案设计不得依赖尚未形成的 项目计划;所有设计必须引用同一产品基线。</td><td>开启并行方案设计。</td></tr>
<tr><td>F3.4</td><td>嵌入式应用层需要新的资源、HAL 或协议。</td><td>嵌入式应用层 → 项目Hub → 嵌入式底层 / 技术负责人</td><td><b>修订对象:</b>软硬件接口契约;已提供的总体技术方案、架构决策记录。<br><b>提交内容:</b>接口需求、调用频率、性能、资源指标、理由和受影响功能。</td><td>不得绕过契约直接约定。</td><td>可能触发契约修订。</td></tr>
<tr><td>F3.5</td><td>嵌入式底层依赖引脚、电平、器件或时序。</td><td>嵌入式底层 → 项目Hub → 硬件 / 技术负责人</td><td><b>修订对象:</b>软硬件接口契约;已提供的架构决策记录。<br><b>提交内容:</b>HAL、引脚表、时序、电气约束、板卡依赖和证据。</td><td>涉及既有板卡时引用明确版本;新设计注明约束版本。</td><td class="if-block">冲突时阻塞相关设计。</td></tr>
<tr><td>F3.6</td><td>器件、PCB、电源、空间或热约束影响方案。</td><td>硬件 → 项目Hub → 技术负责人 / 嵌入式底层 / 产品</td><td><b>关联或修订成果:</b>软硬件接口契约;必要时同步修订已提供的 总体技术方案、架构决策记录。<br><b>过程记录:</b>硬件约束与接口确认。<br><b>提交内容:</b>限制、替代方案、成本、性能和交期影响。</td><td>器件替换不得静默发生。</td><td>更新接口与约束确认;改变正式基线时走变更申请。</td></tr>
<tr><td>F3.7</td><td>测试无法验证某项需求或缺环境/治具。</td><td>测试 → 项目Hub → 相关角色</td><td><b>修订对象:</b>测试计划(测试标准、测试用例范围、测试项)、软硬件接口契约;必要时回溯 测试验收标准。<br><b>过程记录:</b>可测性缺口清单,包含不可测项、证据要求、环境和治具需求。</td><td>必须在实现前关闭,或由负责人明确记录验证期跳转决定。</td><td class="if-block">正常推进时门禁保持阻塞。</td></tr>
<tr><td>F3.8–3.10</td><td>专业评审完成。</td><td>各相关角色 → 项目Hub;项目Hub分别定向中继</td><td><b>最终确认成果:</b>软硬件接口契约、测试计划的内部确认版本,以及已提供的选填成果(总体技术方案、架构决策记录)。<br><b>附带内容:</b>角色确认、保留风险、证据引用和统一版本关系。</td><td>每个确认绑定同一版本;选填成果未提供不阻塞本阶段;成员角色之间不直接通信。</td><td class="if-pass">全部确认并登记为正式基线后进入阶段 4 项目规划。</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="stage4">
<div class="if-section-head"><div class="if-section-no">04 / PLANNING</div><div><h2>阶段 4:项目规划信息流</h2><p>项目Hub根据产品基线和已确认的方案设计成果生成实际任务计划,先由技术负责人确认整体任务结构、技术顺序和依赖;仅对存在疑点的任务,定向向对应执行角色补充确认。资源与排期由产品确认,计划与排期可由项目Hub同步给业务。</p></div></div>
<div class="if-stage-summary"><div class="if-summary-card"><b>主责</b><span>项目Hub;技术负责人确认技术结构,产品确认资源与排期</span></div><div class="if-summary-card"><b>核心成果</b><span>项目计划、风险登记、角色分工、产品资料整合、项目状态内部记录</span></div><div class="if-summary-card"><b>门禁</b><span>技术负责人确认技术任务结构、顺序和依赖;问题任务完成定向确认;产品确认资源与排期基线</span></div></div>
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F4.1</span><strong>提交任务计划与正式角色分工草案,请求整体确认</strong><small>附产品/方案基线、角色清单、任务拆分、技术顺序、依赖、初始排期和风险</small></div><div class="if-actor if-tech">技术负责人</div></div>
<div class="if-exchange"><div class="if-actor if-tech">技术负责人</div><div class="if-arrow"><span class="if-flow-id">F4.2</span><strong>确认整体任务计划或返回调整意见</strong><small>确认任务结构、技术顺序、依赖关系、专业角色覆盖和关键风险</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-conditional"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F4.3 · 问题任务</span><strong>仅对存在疑点的任务发起定向确认</strong><small>缺少责任、输入输出、依赖、估算、资源、日期、证据或存在冲突时触发</small></div><div class="if-actor if-product">对应执行角色</div></div>
<div class="if-exchange if-conditional"><div class="if-actor if-product">对应执行角色</div><div class="if-arrow"><span class="if-flow-id">F4.4</span><strong>只确认被询问任务的工期、资源和风险</strong><small>不得要求执行角色重复确认整份任务计划</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-blocking"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F4.5</span><strong>提醒关联角色并协调剩余冲突、重排计划</strong><small>问题仍未关闭或日期不可达时按 E.1–E.4 处理</small></div><div class="if-actor if-product">技术负责人及受影响角色</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F4.6</span><strong>请求资源与排期基线确认</strong><small>真实人员、资源安排和排期由产品负责人确认</small></div><div class="if-actor if-product">产品</div></div>
<div class="if-exchange"><div class="if-actor if-product">产品</div><div class="if-arrow"><span class="if-flow-id">F4.7</span><strong>确认或要求调整资源与排期基线</strong><small>记录产品负责人确认状态、范围、条件和版本</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F4.8</span><strong>向相关执行角色发布基线计划和正式任务</strong><small>执行角色取得充分任务输入;计划与排期可同步业务(仅知会);后续按 S.1–S.4 同步</small></div><div class="if-actor if-product">相关执行角色<br>业务(可同步知会)</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>对阶段的影响</th></tr></thead><tbody>
<tr><td>F4.1–4.2</td><td>阶段 3 方案设计门禁通过,项目Hub已依据产品基线、方案设计成果和项目创建期角色清单形成任务计划草案。</td><td>项目Hub ↔ 技术负责人</td><td><b>正式成果草案:</b>项目计划、项目风险、角色分工、产品资料整合、项目状态内部记录 初始版。《角色分工》列出 Etunel 实际 <code>role</code> 和 <code>display_name</code>、职责边界、任务主责、协作关系和交接要求。<br><b>输入基线:</b>阶段 2 产品成果、阶段 3 已确认的必需成果及已提供的选填成果和角色清单;另含任务拆分、关键路径、输入输出、依赖、初始排期和风险。</td><td>技术负责人确认技术任务结构、顺序、依赖、版本关系、专业角色覆盖和技术风险;项目Hub不向全部执行角色征求整份计划确认。每项任务只设一个主责角色。</td><td>形成技术结构与角色覆盖已确认的任务计划草案。</td></tr>
<tr><td>F4.3–4.4(条件流)</td><td>项目Hub发现任务缺少责任角色、输入、输出、依赖、估算、资源、日期或证据;任务之间存在冲突;或技术负责人明确标记待确认项。</td><td>项目Hub ↔ 对应执行角色</td><td><b>修订对象:</b>项目计划、项目风险、角色分工、项目状态内部记录 中的问题任务。<br><b>过程记录:</b>任务澄清请求/任务澄清回复,包含方案成果引用、上下游依赖、工期、资源、风险和负责人确认。</td><td>必须定向发送给该任务的执行角色,不得广播给全部角色,也不得要求执行角色重复确认无疑点任务。</td><td>补齐或修正问题任务;未触发时直接跳过。</td></tr>
<tr><td>F4.5</td><td>定向确认后仍存在资源冲突、关键路径冲突或日期不可达。</td><td>项目Hub ↔ 技术负责人及受影响角色</td><td><b>修订成果:</b>项目计划、项目风险、角色分工、项目状态内部记录 新版本。<br><b>过程记录:</b>冲突解决记录,包含冲突点、方案约束、可选排法、阶段影响和响应时限。</td><td>项目Hub必须主动提醒,不得静默覆盖技术负责人或执行角色的确认;复杂冲突按 E.1–E.4 闭环。</td><td class="if-block">保持计划草案,冲突关闭前不得基线化。</td></tr>
<tr><td>F4.6–4.7</td><td>技术负责人已确认整体计划,问题任务和剩余冲突均已关闭,资源安排与排期候选基线已形成。</td><td>项目Hub ↔ 产品</td><td><b>待确认成果:</b>项目计划、项目风险、项目状态内部记录 候选基线。<br><b>附带内容:</b>人员与资源安排、工时评估、排期、里程碑、风险、确认范围、条件和状态。</td><td>项目Hub不能代替产品确认资源与排期;产品完成负责人确认后统一回复。本环节不替代预算、采购/打样及对外承诺所需的业务授权。</td><td class="if-pass">产品确认后可基线化。</td></tr>
<tr><td>F4.8</td><td>技术负责人确认有效、问题任务已关闭且产品确认资源与排期基线。</td><td>项目Hub → 相关执行角色;可另行同步业务</td><td><b>正式基线:</b>项目计划、项目风险、角色分工、产品资料整合。<br><b>执行角色状态快照:</b>只包含该角色相关任务、充分输入、依赖、方案成果引用、门禁、风险、时限、成果文件和完成条件。<br><b>业务同步(按需):</b>项目计划、实际项目排期和关键里程碑。</td><td>每个角色只接收与自身任务和依赖相关的计划内容;后续角色加入、退出、替换或变化必须登记并交接,改变基线时走变更申请;执行状态按 S.1–S.4 同步;业务同步为知会,不等待业务确认,也不新增门禁。</td><td class="if-pass">相关角色接收任务,开启阶段 5。</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="stage5">
<div class="if-section-head"><div class="if-section-no">05 / IMPLEMENT</div><div><h2>阶段 5:嵌入式软硬件实现信息流</h2><p>三条实现流依据阶段3方案设计基线和阶段4项目任务计划并行推进;硬件先取得并核对器件规格书和结构板框图,形成并确认硬件设计包后再据此实施;固件只有一条正式出口:嵌入式底层先提供可消费版本,嵌入式应用层完成合版并提交统一固件,项目Hub维护其与硬件版本的唯一映射。</p></div></div>
<div class="if-stage-summary"><div class="if-summary-card"><b>并行主责</b><span>嵌入式应用层、嵌入式底层、硬件</span></div><div class="if-summary-card"><b>核心成果</b><span>硬件设计包、硬件实现资料、嵌入式底层实现资料、嵌入式应用层提交的统一固件包</span></div><div class="if-summary-card"><b>门禁</b><span>嵌入式应用层提交最终固件,技术负责人确认固件与硬件版本匹配并可提测</span></div></div>
<div class="if-callout" style="margin-bottom:18px; font-size:14px">
<strong>F5.2 硬件资料要求</strong><br>
<b>资料需求:</b><br>1、外设器件和关键器件(主控、flash、sensor、复位按键、指示灯、WiFi模块、音频功放驱动芯片、IR-CUT驱动芯片、电机达林顿管驱动芯片)规格书。<br>2、结构板框图(包含主要器件位置和禁止限制区域)。<br>
<b>硬件设计资料(纳入硬件设计包):</b><br>1、原理图。<br>2、PCB 源文档。<br>3、贴片资料(PCBA_BOM、器件位置图 PDF、贴片坐标)。<br>4、接口定义。<br>
<b>执行前提:</b>硬件先核对项目实际使用器件的规格书,以及结构板框图的来源、适用范围和版本。结构板框图在阶段 2 可选填,但进入 F5.2 前须补齐;资料缺失或冲突时,经项目Hub向对应资料责任角色补齐,不以假设替代输入,仅阻塞依赖这些资料的硬件任务。
</div>
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F5.1</span><strong>并行下发三类实现任务</strong><small>附方案设计基线、项目任务计划、角色分工、风险和任务边界;硬件另附器件规格书、结构板框图</small></div><div class="if-actor if-app">嵌入式应用层 / 嵌入式底层 / 硬件</div></div>
<div class="if-exchange"><div class="if-actor if-hardware">硬件</div><div class="if-arrow"><span class="if-flow-id">F5.2</span><strong>取得所需资料后提交硬件设计包及硬件实现资料</strong><small>器件规格书、结构板框图齐备后设计;设计包确认后形成实现资料</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F5.3</span><strong>定向分发硬件设计包、实现版本及约束变化</strong><small>设计包先完成技术及接口确认,后续只向受影响角色分发完整影响包</small></div><div class="if-actor if-low">技术负责人 / 嵌入式底层 / 嵌入式应用层 / 测试</div></div>
<div class="if-exchange"><div class="if-actor if-low">嵌入式底层</div><div class="if-arrow"><span class="if-flow-id">F5.4</span><strong>提交嵌入式底层实现资料</strong><small>硬件功能测试报告、BSP 输出路径、PSP 输出路径<br>WiFi 设备定频测试固件(选填)</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F5.5</span><strong>将已登记的嵌入式底层版本交给嵌入式应用层合版</strong><small>按已登记的 BSP/PSP 输出路径交付;定频测试固件仅用于专项测试</small></div><div class="if-actor if-app">嵌入式应用层</div></div>
<div class="if-exchange"><div class="if-actor if-app">嵌入式应用层</div><div class="if-arrow"><span class="if-flow-id">F5.6</span><strong>集成底层版本并提交统一固件候选</strong><small>绑定应用、底层、板卡和契约版本,包含 MD5、分区、自测和 Changelog</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-blocking"><div class="if-actor if-app">任一实现角色</div><div class="if-arrow"><span class="if-flow-id">F5.7</span><strong>报告接口、器件或资源冲突</strong><small>契约不一致、资源超限或 ECO 影响时</small></div><div class="if-actor if-center">项目Hub → 技术负责人</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F5.8</span><strong>创建软硬件联调与版本矩阵确认任务</strong><small>统一固件候选和硬件候选版本均可用时</small></div><div class="if-actor if-app">嵌入式应用层 / 硬件 / 技术负责人</div></div>
<div class="if-exchange"><div class="if-actor if-app">嵌入式应用层</div><div class="if-arrow"><span class="if-flow-id">F5.9</span><strong>提交最终提测固件版本</strong><small>最终固件只能由嵌入式应用层提交,附完整版本链、自测和偏离说明</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-tech">技术负责人</div><div class="if-arrow"><span class="if-flow-id">F5.10</span><strong>确认最终固件与硬件版本匹配并可提测</strong><small>板卡、BOM、统一固件及其应用/底层版本链完全匹配</small></div><div class="if-actor if-center">项目Hub</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>对阶段的影响</th></tr></thead><tbody>
<tr><td>F5.1</td><td>阶段 4 项目规划门禁通过。</td><td>项目Hub → 嵌入式应用层 / 嵌入式底层 / 硬件</td><td><b>待产出成果:</b>嵌入式应用层固件包、嵌入式底层实现资料、硬件设计包、硬件实现资料。<br><b>输入与任务:</b>阶段3已确认的必需成果及已提供的选填成果、阶段4 项目计划(项目任务计划)、角色分工、项目风险,以及任务、输出格式、依赖和期限。<br><b>硬件额外输入:</b>F5.2 所列器件规格书和结构板框图。</td><td>三方必须使用相同契约和项目计划版本;硬件输入未齐时先补齐资料,不阻塞其他依赖已满足的任务。</td><td>依赖已满足的实现任务并行启动。</td></tr>
<tr><td>F5.2–5.3</td><td>硬件已取得并核对 F5.2 所列输入资料,形成或修订硬件设计包;后续发布样机、板卡、BOM 或 ECO。</td><td>硬件 → 项目Hub → 技术负责人 / 嵌入式底层 / 嵌入式应用层 / 测试</td><td><b>前置输入:</b>项目实际使用的外设器件和关键器件规格书、结构板框图(主要器件位置和禁止限制区域),具体清单见本阶段 F5.2 硬件资料要求。<br><b>正式成果:</b>硬件设计包与硬件实现资料,分别登记版本。<br><b>硬件设计资料(纳入硬件设计包):</b>原理图;PCB 源文档;贴片资料(PCBA_BOM、器件位置图 PDF、贴片坐标);接口定义。先由硬件负责人确认,再经项目Hub中继技术负责人及受影响角色完成技术与接口确认。<br><b>实现资料:</b>引用已确认的设计包;正式原理图源文件与 PDF、PCB 源文件;Gerber、钻孔、拼板、层叠/阻抗和工艺说明(如适用);PCBA_BOM、器件位置图 PDF、贴片坐标、极性、DNI/NC;维修原理图、关键测试点、接口和生产测试定义;`hardware_version`、原理图/PCB/BOM/ECO 修订号、板卡/样机/批次标识;板级调试、静态/测量证据;软件、配置和契约版本关系;限制、风险、返修/回退和 `supersedes`。</td><td>所需输入资料未齐备或版本未核对时,先经项目Hub补齐,不得提交正式硬件设计包或硬件实现资料;设计包确认前不得投板或以未确认设计推进样机制作;没有影响分析不得切换硬件版本;禁止使用“最新板”或“当前 BOM”替代明确版本组合。</td><td class="if-block">输入缺失时阻塞相关硬件任务;影响接口、底层或应用固件时阻塞受影响任务。</td></tr>
<tr><td>F5.4–5.5</td><td>嵌入式底层已形成硬件功能测试报告,BSP 与 PSP 输出路径可访问且版本明确。</td><td>嵌入式底层 → 项目Hub → 嵌入式应用层</td><td><b>正式成果:</b>嵌入式底层实现资料 当前版本。<br><b>必需内容:</b>硬件功能测试报告;BSP 输出路径;PSP 输出路径。<br><b>选填内容:</b>WiFi 设备定频测试固件。<br><b>附带信息:</b>输出版本、适配板卡、BOM/ECO、配置和接口契约版本,以及必要的应用层集成说明、已知限制和风险。</td><td>BSP/PSP 路径必须指向可访问的实际输出;硬件功能测试报告记录底层已执行的硬件功能测试,不代替测试角色的整机质量结论。WiFi 设备定频测试固件为非必选项,未提供不阻塞合版、提测或阶段推进,也无需另行豁免;提供时标明 TEST_UTILITY_ONLY,仅用于专项测试,不得作为最终提测或发布固件。</td><td>项目Hub登记必需成果后,将 BSP/PSP 可消费版本交嵌入式应用层合版。</td></tr>
<tr><td>F5.6</td><td>嵌入式应用层收到已登记的嵌入式底层可消费版本。</td><td>嵌入式应用层 → 项目Hub</td><td><b>正式成果候选:</b>嵌入式应用层固件包。<br><b>提交内容:</b>正式/升级/烧写固件、自测用例、分区表、MD5、zn_debug文件、Changelog、串口使能证书,以及应用/底层/板卡/契约版本链。</td><td>必须形成可追溯的应用层+底层统一版本;禁止提交无法复现的单一二进制。</td><td>进入软硬件联调候选。</td></tr>
<tr><td>F5.7</td><td>引脚、时序、资源、器件或协议冲突。</td><td>角色 → 项目Hub → 技术负责人</td><td><b>过程记录:</b>实现冲突记录。<br><b>关联成果:</b>受影响的 硬件设计包、硬件/底层/应用实现成果 和 接口契约;提交冲突、证据、版本、影响和建议。</td><td>项目Hub立即冻结受影响版本。</td><td class="if-block">等待技术裁决或契约新版本。</td></tr>
<tr><td>F5.8–5.10</td><td>统一固件候选和硬件候选均已提交,联调问题已经关闭。</td><td>项目Hub ↔ 嵌入式应用层 / 硬件 / 技术负责人</td><td><b>最终确认成果:</b>嵌入式应用层固件包、硬件实现资料;引用已确认的 硬件设计包 和已集成的 嵌入式底层实现资料。<br><b>过程记录:</b>版本矩阵、集成记录、集成批准;包含最终固件、应用/底层版本链、板卡/BOM/ECO、自测和偏离说明。</td><td>最终提测固件只能由嵌入式应用层提交;嵌入式底层和硬件不得直接向测试提交固件。技术负责人确认版本矩阵匹配。</td><td class="if-pass">确认后由项目Hub将该唯一固件版本交给测试。</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="stage6">
<div class="if-section-head"><div class="if-section-no">06 / TEST</div><div><h2>阶段 6:测试验证与缺陷返工信息流</h2><p>测试提交测试报告和缺陷清单,由测试与实际相关角色负责人共同商议缺陷责任人;项目Hub按确认分工安排修复和重新提测。</p></div></div>
<div class="if-stage-summary"><div class="if-summary-card"><b>主责</b><span>测试</span></div><div class="if-summary-card"><b>核心成果</b><span>功能测试报告、缺陷清单;可靠性测试报告、专项测试报告、提测佐证(均选填)</span></div><div class="if-summary-card"><b>门禁</b><span>阻断缺陷清零,必需成果及其测试依据完整,测试完成内部确认并提交质量结论</span></div></div>
<div class="if-callout" style="margin-bottom:18px">可靠性测试报告、专项测试报告和提测佐证均为选填。未提供这些选填成果不阻塞阶段 6 交付、后续验收或归档,也无需另行豁免;已提供时确认对应版本和测试负责人意见。可靠性测试报告包括高低温测试、跌落测试(选填)、防水测试(选填)。选填设置不改变已确认的测试范围和质量门禁。</div>
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F6.1</span><strong>下发测试任务、最终固件和版本矩阵</strong><small>只允许测试由嵌入式应用层提交并经技术负责人批准的统一固件</small></div><div class="if-actor if-test">测试</div></div>
<div class="if-exchange"><div class="if-actor if-test">测试</div><div class="if-arrow"><span class="if-flow-id">F6.2</span><strong>提交功能测试报告和缺陷清单</strong><small>可靠性测试报告、专项测试报告和提测佐证选填;缺陷关联版本、用例和证据</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F6.3</span><strong>分发缺陷清单,协调相关负责人商议责任人</strong><small>测试与实际相关角色负责人共同确定每项缺陷的责任人</small></div><div class="if-actor if-app">产品 / 技术负责人 / 嵌入式应用层 / 嵌入式底层 / 硬件 / 测试</div></div>
<div class="if-exchange"><div class="if-actor if-app">责任角色</div><div class="if-arrow"><span class="if-flow-id">F6.4</span><strong>返回确认的责任分工、原因分析和修复计划</strong><small>责任人、协作关系、处理时限和影响范围经对应负责人确认</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-blocking"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F6.5</span><strong>按确认分工创建修复或专业澄清任务</strong><small>责任争议由相关负责人协调解决,项目Hub不自行归责</small></div><div class="if-actor if-tech">责任角色</div></div>
<div class="if-exchange"><div class="if-actor if-app">责任角色</div><div class="if-arrow"><span class="if-flow-id">F6.6</span><strong>提交应用修复、底层修复或硬件 ECO</strong><small>必须生成新版本并声明替代关系和影响范围</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-conditional"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F6.7</span><strong>将固件相关修复交给嵌入式应用层重新合版</strong><small>底层修复必须合版;硬件变化由嵌入式应用层确认固件兼容性</small></div><div class="if-actor if-app">嵌入式应用层</div></div>
<div class="if-exchange"><div class="if-actor if-app">嵌入式应用层</div><div class="if-arrow"><span class="if-flow-id">F6.8</span><strong>提交统一回归固件或确认原固件继续有效</strong><small>最终回归固件仍只能由嵌入式应用层提交</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F6.9</span><strong>下发定向回归任务和统一固件</strong><small>附修复范围、受影响用例和新版本矩阵</small></div><div class="if-actor if-test">测试</div></div>
<div class="if-exchange"><div class="if-actor if-test">测试</div><div class="if-arrow"><span class="if-flow-id">F6.10</span><strong>提交内部确认的最终质量结论和剩余风险</strong><small>功能测试报告和缺陷清单完整,已提供的选填成果完成确认后</small></div><div class="if-actor if-center">项目Hub</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>对阶段的影响</th></tr></thead><tbody>
<tr><td>F6.1–6.2</td><td>技术负责人批准嵌入式应用层提交的最终固件与硬件集成版本。</td><td>项目Hub ↔ 测试</td><td><b>测试输入:</b>嵌入式应用层固件包、硬件实现资料、已集成的 嵌入式底层实现资料、版本矩阵、测试计划。<br><b>必需成果草案:</b>功能测试报告、缺陷清单。<br><b>选填成果:</b>可靠性测试报告、专项测试报告、提测佐证。<br><b>提测佐证内容(选填):</b>平台要求的视频、截图、log材料。<br><b>佐证提交方式:</b>提供时只向项目Hub登记文件索引、版本和交付状态;文件由测试直接交付产品,F7.1 确认接收。</td><td>测试只能接收嵌入式应用层提交且经技术负责人批准的最终固件;缺陷必须关联可复现环境和版本。</td><td>启动测试并更新测试状态。</td></tr>
<tr><td>F6.3</td><td>测试发现缺陷或测试异常并形成可追踪记录。</td><td>测试 → 项目Hub → 实际相关角色</td><td><b>提交与更新成果:</b>测试主责的《缺陷清单》。<br><b>分发内容:</b>缺陷编号、现象、状态、模块、版本、环境、用例、复现、证据、影响、风险、优先级和回归要求。<br><b>商议结果:</b>缺陷责任人、主责角色、协作角色及处理时限。</td><td>测试与实际相关角色的负责人共同商议解决缺陷的责任人,每项缺陷明确一名责任人和一个主责角色。项目Hub只登记已确认的分工并路由,不自行指定责任人;跨层技术问题由技术负责人提供判断依据,需求含义由产品澄清。分歧未收敛时按 E.1–E.4 协调。</td><td>确认缺陷责任分工后,建立定向修复或专业澄清任务。</td></tr>
<tr><td>F6.4–6.5</td><td>相关负责人已共同确认缺陷责任人,责任角色收到缺陷任务。</td><td>责任角色 / 技术负责人 / 产品 → 项目Hub → 测试</td><td><b>过程记录:</b>确认的责任人、主责与协作角色、原因分析、修复计划或技术/产品决定,包含影响、修复方案、风险、修复成果计划、期限、需重测范围和证据。<br><b>测试动作:</b>引用已确认的责任分工与修复输入,更新《缺陷清单》的责任人、状态和回归要求。</td><td>实现角色不直接替换或关闭测试主责的《缺陷清单》;“无法复现”“符合设计”或“不修复”必须带理由与证据;责任人调整仍需相关负责人共同确认。</td><td class="if-block">阻断缺陷使阶段阻塞;等待修复成果和目标版本复验。</td></tr>
<tr><td>F6.6–6.8</td><td>应用修复、嵌入式底层修复或硬件 ECO 已提交。</td><td>责任角色 → 项目Hub → 嵌入式应用层 → 项目Hub → 测试</td><td><b>实现角色修订成果:</b>嵌入式应用层固件包、嵌入式底层实现资料或硬件实现资料。<br><b>提交给测试的缺陷输入:</b>原因分析、修复计划、修复成果与版本、实现角色自测、变更记录、证据、影响范围、版本链和建议回归范围;测试引用后更新《缺陷清单》。<br><b>硬件 ECO 额外内容:</b>新旧板卡/PCB/BOM/ECO 差异、受影响批次、返工/回退方式、板级验证证据、底层驱动/HAL 兼容评估、应用固件有效性确认和新版本矩阵。</td><td>实现角色无权直接替换或关闭《缺陷清单》。嵌入式底层修复不得直接交给测试;必须由嵌入式应用层重新合版。硬件 ECO 先经底层兼容评估;即使不修改固件,也必须由嵌入式应用层确认原固件继续有效。技术负责人按需确认版本矩阵,测试在目标组合上复验并独立给出“已验证”或“已关闭”结论。</td><td>形成唯一可回归的固件与硬件版本矩阵,并由测试复验。</td></tr>
<tr><td>F6.9</td><td>统一回归固件和硬件版本矩阵通过项目Hub校验,必要时由技术负责人确认。</td><td>项目Hub → 测试</td><td><b>回归输入:</b>更新后的 嵌入式应用层固件包、相关 嵌入式底层实现资料/硬件实现资料、缺陷清单、版本矩阵。<br><b>过程记录:</b>回归任务,包含修复范围、受影响用例和时限。</td><td>旧版本不得覆盖;测试不得接收嵌入式底层单独提交的固件。</td><td>执行定向回归。</td></tr>
<tr><td>F6.10</td><td>阻断缺陷清零且必需成果及其测试依据齐全。</td><td>测试 → 项目Hub</td><td><b>最终确认成果:</b>功能测试报告、缺陷清单的负责人确认版本。<br><b>已提供时一并确认:</b>可靠性测试报告、专项测试报告、提测佐证。<br><b>附带内容:</b>质量结论、覆盖率、未关闭缺陷、剩余风险和接受方。</td><td>测试内部确认状态必须记录;剩余风险必须有接受方;选填成果未提供不作为门禁阻塞项。提测佐证提供时只登记索引、版本和测试负责人确认,无需向项目Hub上传大文件。</td><td class="if-pass">门禁通过并留档后开启验收。</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="stage7">
<div class="if-section-head"><div class="if-section-no">07 / ACCEPT</div><div><h2>阶段 7:平台验收与客户验收信息流</h2><p>平台验收在前、客户验收在后;各自输入就绪时可并行开展。平台结果由产品确认,客户结果由业务确认,两部分均通过后才完成阶段 7。</p></div></div>
<div class="if-stage-summary"><div class="if-summary-card"><b>主责</b><span>产品组织两部分验收;平台由产品确认,客户由业务确认;项目Hub登记与协调</span></div><div class="if-summary-card"><b>核心成果</b><span>平台验收报告或结论、客户验收通过报告、遗留问题清单</span></div><div class="if-summary-card"><b>总门禁</b><span>平台验收通过 + 客户验收通过,两项缺一不可</span></div></div>
<div class="if-callout" style="margin-bottom:18px; font-size:14px"><strong>资料交接:</strong>测试负责人直接向产品负责人交付测试报告及已提供的提测佐证,文件不经项目Hub转发。产品只需确认收到对应资料;项目Hub登记文件名称、版本和接收确认,不要求大文件上传或重复转交。提测佐证仍为选填,未提供不阻塞验收;收到材料不等于验收通过。</div>
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-product">产品</div><div class="if-arrow"><span class="if-flow-id">F7.1</span><strong>确认收到测试报告及已提供的提测佐证</strong><small>测试直接交付文件;项目Hub仅登记产品接收确认</small></div><div class="if-actor if-center">项目Hub</div></div>
</div>
<h3 style="margin:24px 0 12px; font-size:20px">第一部分:平台验收</h3>
<div class="if-flow-board" id="stage7-platform">
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F7.2</span><strong>组织平台验收,明确验收对象和依据</strong><small>优先启动平台验收;产品使用已收到的测试资料</small></div><div class="if-actor if-product">产品</div></div>
<div class="if-exchange"><div class="if-actor if-product">产品</div><div class="if-arrow"><span class="if-flow-id">F7.3</span><strong>出具平台验收报告或结论</strong><small>产品负责人确认通过或不通过;无需业务确认</small></div><div class="if-actor if-center">项目Hub</div></div>
</div>
<h3 style="margin:24px 0 12px; font-size:20px">第二部分:客户验收</h3>
<div class="if-flow-board" id="stage7-customer">
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F7.4</span><strong>组织客户验收,准备客户验收资料</strong><small>客户验收输入就绪时,可与平台验收并行,不必等待平台先通过</small></div><div class="if-actor if-product">产品</div></div>
<div class="if-exchange"><div class="if-actor if-product">产品</div><div class="if-arrow"><span class="if-flow-id">F7.5</span><strong>提交客户验收报告和遗留问题清单</strong><small>客户反馈由业务或产品负责人按联络边界取得</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F7.6</span><strong>请求业务确认客户验收结果</strong><small>只确认客户验收部分,不追加平台验收审批</small></div><div class="if-actor if-business">业务</div></div>
<div class="if-exchange"><div class="if-actor if-business">业务</div><div class="if-arrow"><span class="if-flow-id">F7.7</span><strong>确认客户验收通过或退回整改</strong><small>明确客户反馈、结论、版本及遗留问题承接</small></div><div class="if-actor if-center">项目Hub</div></div>
</div>
<h3 style="margin:24px 0 12px; font-size:20px">共用返工与验收总门禁</h3>
<div class="if-flow-board" id="stage7-join">
<div class="if-exchange if-blocking"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F7.8</span><strong>定向路由平台或客户验收未通过的问题</strong><small>只处理实际受影响部分;需要测试时返回阶段 6</small></div><div class="if-actor if-app">实际相关责任角色</div></div>
<div class="if-exchange"><div class="if-actor if-app">责任角色</div><div class="if-arrow"><span class="if-flow-id">F7.9</span><strong>提交整改成果、说明及必要复验结果</strong><small>平台返回 F7.2–F7.3;客户返回 F7.4–F7.7,分别更新结论</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F7.10</span><strong>核对平台通过 + 客户通过,登记验收基线</strong><small>平台有产品确认,客户有业务确认;两项均通过后进入阶段 8</small></div><div class="if-actor if-center">项目Hub</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>对阶段的影响</th></tr></thead><tbody>
<tr><td>F7.1</td><td>测试门禁通过,测试已向产品交付必需测试报告。</td><td>测试负责人 → 产品负责人(直接交付文件);产品 → 项目Hub(接收确认)</td><td><b>接收确认:</b>产品确认已收到测试报告及已提供的提测佐证,说明对应文件名称和版本。<br><b>验收输入:</b>功能测试报告、缺陷清单及已提供的选填成果(可靠性测试报告、专项测试报告、提测佐证),以及嵌入式应用层固件包、版本矩阵和已知限制。</td><td>项目Hub只登记交付索引与产品接收确认,不中转文件,不以大文件上传为交接条件;选填成果未提供无需补交。接收确认不替代后续验收结论。</td><td>产品取得平台与客户验收所需输入。</td></tr>
<tr><td>F7.2–7.3</td><td>平台验收所需输入就绪。</td><td>项目Hub → 产品 → 项目Hub</td><td><b>正式成果:</b>平台验收报告或结论,二选一即可。<br><b>内容:</b>验收对象与版本、测试或平台结果引用、通过/不通过、问题和限制、产品负责人确认。</td><td>平台验收由产品出具报告或明确结论并确认,无需业务确认;项目Hub只登记,不代产品判断。</td><td>平台通过后登记该分支完成;不通过进入 F7.8–F7.9。</td></tr>
<tr><td>F7.4–7.5</td><td>客户验收所需资料与客户联络条件就绪,不要求平台已经通过。</td><td>项目Hub → 产品 → 项目Hub</td><td><b>正式成果草案:</b>客户验收通过报告、遗留问题清单。<br><b>内容:</b>客户验收对象、版本、反馈、结果、问题、责任人和期限。</td><td>客户验收可以与平台验收并行;客户信息由业务或产品负责人按联络边界取得并回传,不虚构客户 Agent 或客户确认。</td><td>形成提交业务确认的客户验收材料。</td></tr>
<tr><td>F7.6–7.7</td><td>客户验收材料与反馈齐备。</td><td>项目Hub → 业务 → 项目Hub</td><td><b>待确认成果:</b>客户验收通过报告及客户相关遗留问题。<br><b>确认内容:</b>客户验收通过或退回整改、对应版本、反馈依据和负责人确认。</td><td>业务确认仅针对客户验收,不作为平台验收的批准环节;未确认、未完成或退回整改均不计为客户通过。</td><td>客户通过后登记该分支完成;否则进入 F7.8–F7.9。</td></tr>
<tr><td>F7.8–7.9</td><td>平台或客户验收未通过、资料缺口或结论需要修订。</td><td>项目Hub → 实际相关责任角色 → 项目Hub</td><td><b>过程记录:</b>验收问题与定向返工记录。<br><b>修订内容:</b>受影响的上游成果、整改说明、必要复验结果,以及对应平台/客户验收结论和遗留问题清单。</td><td>需要测试时返回阶段 6,由测试独立复验;责任分工按已确认规则协调。完成后回对应验收分支;版本变化影响另一分支时,该分支也需更新确认。</td><td class="if-block">未通过的分支保持处理中,不重启整个项目。</td></tr>
<tr><td>F7.10</td><td>平台验收通过,且客户验收通过。</td><td>项目Hub登记双线结果</td><td><b>门禁依据:</b>产品确认的平台验收报告或结论、业务确认的客户验收通过报告,以及遗留问题清单。<br><b>登记内容:</b>两部分结论、验收对象与版本、确认人、未关闭问题的承接人和期限。</td><td>总条件为平台通过 + 客户通过;任一未通过、未完成或待确认均不得进入阶段 8。两部分结论应对应一致的验收对象与有效版本,不再追加平台的业务确认。</td><td class="if-pass">登记双线验收基线,进入阶段 8 资料归档与复盘结项。</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="stage8">
<div class="if-section-head"><div class="if-section-no">08 / CLOSE</div><div><h2>阶段 8:资料归档与复盘结项信息流</h2><p>项目Hub组织收集各阶段已确认资料,核对验收与遗留问题承接,开展项目复盘并完成结项。本阶段不安排测试或发布验证任务。</p></div></div>
<div class="if-stage-summary"><div class="if-summary-card"><b>协调</b><span>项目Hub组织;实际参与角色提供资料和复盘输入;业务确认结项</span></div><div class="if-summary-card"><b>核心成果</b><span>结项资料归档、变更记录、结项报告、流程闭环总结(项目复盘)</span></div><div class="if-summary-card"><b>门禁</b><span>双线验收通过、资料归档完整、复盘完成、遗留问题已关闭或落实承接</span></div></div>
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F8.1</span><strong>下发资料收集与项目复盘任务</strong><small>只面向实际参与、持有成果或承担遗留事项的角色</small></div><div class="if-actor if-product">实际相关角色</div></div>
<div class="if-exchange"><div class="if-actor if-product">实际相关角色</div><div class="if-arrow"><span class="if-flow-id">F8.2</span><strong>提交各阶段最终资料与成果索引</strong><small>沿用已确认版本,附变更记录、必要过程记录及资料位置</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F8.3</span><strong>核对双线验收结果与遗留问题承接</strong><small>平台采用产品确认,客户采用业务确认;遗留问题落实责任人与期限</small></div><div class="if-actor if-product">产品 / 业务</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F8.4</span><strong>组织项目复盘,收集经验与改进建议</strong><small>围绕目标完成、计划偏差、协作、质量问题和改进措施</small></div><div class="if-actor if-product">实际相关角色</div></div>
<div class="if-exchange"><div class="if-actor if-product">实际相关角色</div><div class="if-arrow"><span class="if-flow-id">F8.5</span><strong>提交复盘结论与改进项</strong><small>说明经验、问题原因、改进措施、责任人和跟进安排</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">F8.6</span><strong>汇总资料归档、变更记录、复盘总结与结项报告</strong><small>核对资料索引、有效版本、确认记录及遗留事项承接</small></div><div class="if-actor if-center">归档库</div></div>
<div class="if-exchange"><div class="if-actor if-business">业务</div><div class="if-arrow"><span class="if-flow-id">F8.7</span><strong>确认项目结项或要求补充</strong><small>依据归档完整性、项目复盘和遗留事项承接进行结项确认</small></div><div class="if-actor if-center">项目Hub</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>对阶段的影响</th></tr></thead><tbody>
<tr><td>F8.1–8.2</td><td>阶段 7 平台验收和客户验收均已通过。</td><td>项目Hub ↔ 实际相关角色</td><td><b>收集资料:</b>各阶段正式成果的当前有效版本、必要过程记录、变更记录、项目进度、成果索引和对应确认。<br><b>实现资料:</b>已验收的应用层统一固件、被集成的底层版本、硬件设计包、硬件实现资料及匹配版本关系。</td><td>沿用已确认成果,不重新要求制作同内容文件;实际未参与的角色不虚构成果。测试直接交付产品的资料保留文件索引和产品接收确认,项目Hub无需收存或重复转交大文件。</td><td>形成结项资料清单与缺口清单。</td></tr>
<tr><td>F8.3</td><td>各阶段资料与验收记录已收集。</td><td>项目Hub ↔ 产品 / 业务</td><td><b>核对内容:</b>产品确认的平台验收报告或结论、业务确认的客户验收通过报告、遗留问题清单。<br><b>承接信息:</b>未关闭问题、风险、责任人、期限和后续跟进方式。</td><td>只核对已有双线验收结果,不重新给平台增加业务批准;遗留事项必须已关闭或有明确承接。</td><td>确认结项范围与后续责任。</td></tr>
<tr><td>F8.4–8.5</td><td>项目事实、阶段成果及主要问题已整理。</td><td>项目Hub → 实际相关角色 → 项目Hub</td><td><b>复盘输入:</b>目标完成情况、计划与实际偏差、协作与质量问题、有效经验和改进建议。<br><b>输出:</b>各角色确认的复盘结论与改进项,汇入《流程闭环总结》。</td><td>复盘基于已有事实和记录,不把未执行的验证写成已完成;改进项说明责任人和跟进安排。</td><td>完成项目复盘并形成可跟进的改进项。</td></tr>
<tr><td>F8.6</td><td>资料收集、验收核对和项目复盘完成。</td><td>项目Hub → 归档库</td><td><b>正式成果:</b>结项资料归档、变更记录、结项报告、流程闭环总结。<br><b>汇总内容:</b>最终资料索引、有效版本、阶段确认、验收结论、复盘经验、改进项与遗留责任。</td><td>保留历史版本和引用,不以完整聊天记录代替项目档案;选填成果未提供不作为归档阻塞项。</td><td>形成可追溯的结项包。</td></tr>
<tr><td>F8.7</td><td>结项包完整且遗留事项已有承接。</td><td>业务 → 项目Hub</td><td><b>确认对象:</b>结项报告、流程闭环总结和结项资料归档完整性。<br><b>结项决定:</b>确认结项或补充清单、负责人确认与时间。</td><td>待补充的结项必需项未完成时不关闭;确认结项不代表新增测试、发布或生产验证已经执行。</td><td class="if-pass">确认后锁定四类结项成果,关闭项目并按安排跟进遗留与改进项。</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="change">
<div class="if-section-head"><div class="if-section-no">X / CROSS-CUTTING</div><div><h2>贯穿全阶段:变更、阻塞与超时信息流</h2><p>变更申请 和异常升级不属于某个单一阶段;项目Hub必须暂停受影响任务,组织并行影响评估,再决定是否重开阶段。</p></div></div>
<div class="if-cross-flow">
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-product">任意角色</div><div class="if-arrow"><span class="if-flow-id">X.1</span><strong>提交变更申请或阻塞记录</strong><small>附原因、证据、受影响版本和紧急度</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">X.2</span><strong>冻结受影响任务并并行征询影响</strong><small>产品/技术负责人/嵌入式应用层/嵌入式底层/硬件/测试</small></div><div class="if-actor if-tech">产品 / 技术负责人 / 嵌入式应用层 / 嵌入式底层 / 硬件 / 测试</div></div>
<div class="if-exchange"><div class="if-actor if-tech">评估角色</div><div class="if-arrow"><span class="if-flow-id">X.3</span><strong>返回内部确认的范围、方案、工期、成本和测试影响</strong><small>现实承诺由角色内部确认后统一发出</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">X.4</span><strong>提交综合影响和建议</strong><small>列出批准/拒绝/延期的差异</small></div><div class="if-actor if-business">业务</div></div>
<div class="if-exchange"><div class="if-actor if-business">业务</div><div class="if-arrow"><span class="if-flow-id">X.5</span><strong>批准或拒绝变更</strong><small>内部授权后生成新基线,不覆盖旧版本</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-blocking"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">X.6</span><strong>超时提醒与升级</strong><small>专业事项升级给对应角色;项目级组织授权升级给业务</small></div><div class="if-actor if-product">对应角色</div></div>
</div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>提交内容(对应正式成果)</th><th>约束</th><th>状态结果</th></tr></thead><tbody>
<tr><td>X.1</td><td>范围、接口、器件、版本、资源或日期发生变化;或出现无法继续的阻塞。</td><td>任意角色 → 项目Hub</td><td><b>过程记录:</b>变更申请或阻塞记录。<br><b>关联成果:</b>当前基线、受影响成果及版本、任务、原因、证据和紧急程度;批准后写入变更记录。</td><td>必须关联当前基线和受影响任务。</td><td>创建变更或阻塞记录。</td></tr>
<tr><td>X.2–X.3</td><td>中心确认变更可能影响正式成果。</td><td>项目Hub ↔ 产品 / 技术负责人 / 嵌入式应用层 / 嵌入式底层 / 硬件 / 测试</td><td><b>过程记录:</b>角色影响评估。<br><b>提交内容:</b>对受影响正式成果逐项给出范围、方案、工期、成本、测试、返工和版本影响,并列出建议修订的成果和版本。</td><td>各角色只评估自己的责任范围;现实承诺在角色内部确认后统一发出。</td><td class="if-block">受影响任务冻结。</td></tr>
<tr><td>X.4–X.5</td><td>影响评估齐全。</td><td>项目Hub ↔ 业务</td><td><b>过程记录:</b>变更决定记录。<br><b>成果影响:</b>综合影响清单、批准/拒绝/延期建议和新基线候选;批准后更新变更记录、相关正式成果和项目状态内部记录。</td><td>不得隐藏已完成工作损失、成本或里程碑影响。</td><td>批准:新基线并重开受影响阶段;拒绝:维持原基线。</td></tr>
<tr><td>X.6</td><td>确认或任务超过约定时间。</td><td>项目Hub → 对应角色;项目级组织授权事项发给业务</td><td><b>过程记录:</b>升级通知。<br><b>提交内容:</b>逾期对象、受影响任务与正式成果、逾期时长、证据、影响、替代方案和新的期望时间。</td><td>接收角色在内部完成确认后统一回复。</td><td class="if-block">保持等待确认或阻塞。</td></tr>
</tbody></table></div>
</section>
<section class="if-section" id="waiver">
<div class="if-section-head"><div class="if-section-no">Y / ARTIFACT WAIVER</div><div><h2>贯穿全阶段:成果文件缺省与豁免信息流</h2><p>成果文件默认必须输出。只有主责角色能够发起“不适用”申请;项目Hub负责项目级审查、影响确认、批准登记和门禁更新,禁止任何角色静默跳过。</p></div></div>
<div class="if-stage-summary"><div class="if-summary-card"><b>发起者</b><span>该成果在流程中的主责角色</span></div><div class="if-summary-card"><b>项目Hub确认</b><span>项目Hub;高影响豁免还需相关角色和业务完成内部确认</span></div><div class="if-summary-card"><b>门禁结果</b><span>需要成果 → 审查豁免 → 已豁免或仍需成果</span></div></div>
<div class="if-flow-board">
<div class="if-exchange"><div class="if-actor if-product">成果主责角色</div><div class="if-arrow"><span class="if-flow-id">Y.1</span><strong>提交成果豁免申请</strong><small>说明为何本项目不适用,并附证据和替代信息</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-blocking"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">Y.2</span><strong>校验发起资格与可豁免性</strong><small>非主责角色、无证据或不可豁免成果直接退回</small></div><div class="if-actor if-product">主责角色</div></div>
<div class="if-exchange if-conditional"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">Y.3</span><strong>向下游角色征询影响</strong><small>成果有下游消费者、接口或验收影响时触发</small></div><div class="if-actor if-tech">受影响角色</div></div>
<div class="if-exchange"><div class="if-actor if-tech">受影响角色</div><div class="if-arrow"><span class="if-flow-id">Y.4</span><strong>返回同意、反对或附条件意见</strong><small>必须说明替代证据和门禁影响</small></div><div class="if-actor if-center">项目Hub</div></div>
<div class="if-exchange if-conditional"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">Y.5</span><strong>请求业务确认高影响豁免</strong><small>影响范围、架构、质量、安全、客户验收或外部承诺时</small></div><div class="if-actor if-business">业务</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">Y.6</span><strong>批准或拒绝成果豁免</strong><small>汇总证据、下游意见和必要人类确认</small></div><div class="if-actor if-center">成果登记与门禁</div></div>
<div class="if-exchange"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">Y.7A</span><strong>批准:记录已豁免并分发豁免记录</strong><small>当前门禁视为已满足,但保留完整审计</small></div><div class="if-actor if-product">全部受影响角色</div></div>
<div class="if-exchange if-blocking"><div class="if-actor if-center">项目Hub</div><div class="if-arrow"><span class="if-flow-id">Y.7B</span><strong>拒绝:仍需该成果</strong><small>返回主责角色生成文件或补充证据</small></div><div class="if-actor if-product">成果主责角色</div></div>
</div>
<div class="if-table-wrap"><table><thead><tr><th>ID</th><th>触发条件</th><th>发送 → 接收</th><th>正式载荷</th><th>约束/确认</th><th>门禁与版本结果</th></tr></thead><tbody>
<tr><td>Y.1</td><td>主责角色判断某个阶段成果在本项目范围、架构或交付模式下不适用。</td><td>主责角色 → 项目Hub</td><td>成果类型、阶段、原因、事实证据、适用范围、替代成果、下游影响、风险和负责人确认。</td><td>只有该成果主责角色可发起;“暂时来不及”不属于不适用。</td><td>进入豁免审查,此时仍需要该成果。</td></tr>
<tr><td>Y.2</td><td>中心收到豁免申请。</td><td>项目Hub → 主责角色</td><td>资格校验、结构校验、补充问题或拒绝理由。</td><td>安全、法规和核心验收证据可明确为不可豁免。</td><td class="if-block">校验失败则退回,门禁保持阻塞。</td></tr>
<tr><td>Y.3–Y.4</td><td>成果存在下游消费者,或缺省可能影响接口、测试、验收、制造和归档。</td><td>项目Hub ↔ 受影响角色</td><td>豁免摘要、替代证据、影响项、同意/反对/附条件意见。</td><td>反对意见必须带具体依赖;项目Hub不得静默忽略。</td><td>形成项目级影响结论。</td></tr>
<tr><td>Y.5</td><td>豁免影响业务范围、外部承诺、总体架构、质量、安全、客户验收或组织责任。</td><td>项目Hub → 业务</td><td>申请、影响、下游意见、风险和建议。</td><td>项目Hub无权单独批准高影响豁免;业务须完成内部授权。</td><td class="if-block">等待业务确认期间保持等待确认。</td></tr>
<tr><td>Y.6</td><td>证据、影响意见及必要确认齐全。</td><td>项目Hub → 成果登记/门禁</td><td>成果类型、项目范围、基线引用、决定、确认人、确认时间、附加条件和失效条件。</td><td>豁免只对当前项目、阶段和基线版本有效,不得作为全局永久规则。</td><td>批准或拒绝。</td></tr>
<tr><td>Y.7A</td><td>豁免批准。</td><td>项目Hub → 全部受影响角色</td><td>已豁免状态、豁免记录、替代成果和附加条件。</td><td>不能删除原必需项;保留豁免记录。项目范围或输入基线变化时自动失效并重新评估。</td><td class="if-pass">已豁免可满足当前门禁。</td></tr>
<tr><td>Y.7B</td><td>豁免拒绝或附加条件未满足。</td><td>项目Hub → 主责角色</td><td>拒绝理由、必须生成的成果、补充证据和期限。</td><td>主责角色仍须输出正式文件。</td><td class="if-block">仍需该成果,阶段继续阻塞。</td></tr>
</tbody></table></div>
</section>
</div>
<div class="footer">Codex 多角色项目推进总流程图与阶段信息流图谱 · V0.15 · REVIEW</div>
</main>
<script>
(() => {
const stage3Section = document.getElementById("stage3");
const stage4Section = document.getElementById("stage4");
if (stage3Section && stage4Section && stage4Section.previousElementSibling !== stage3Section) {
stage4Section.parentNode.insertBefore(stage3Section, stage4Section);
}
const flowLabels = {
"F1.1": ["artifact", "提交成果草案:项目背景说明 / 客户里程碑要求"],
"F1.2": ["process", "过程记录:形式校验问题清单 / 冲突清单;关联业务阶段成果"],
"F1.3": ["artifact", "评审分发:项目背景说明 / 客户里程碑要求(待评审)"],
"F1.4": ["artifact", "产品与业务确认:项目背景说明 / 客户里程碑要求"],
"F1.5": ["artifact", "正式基线:项目背景说明 / 客户里程碑要求"],
"F2.1": ["process", "输入:阶段1业务基线;待产出:立项资料 / 测试验收标准 / 里程碑要求"],
"F2.2": ["artifact", "提交成果草案:立项资料 / 测试验收标准 / 里程碑要求"],
"F2.3": ["process", "评审分发:三类产品定义成果 + 与问题相关的现有参考资料"],
"F2.4": ["process", "过程记录:角色评审结论;关联三类产品定义成果"],
"F2.5": ["process", "修订对象:立项资料 / 测试验收标准 / 里程碑要求"],
"F2.6": ["artifact", "提交修订成果:立项资料 / 测试验收标准 / 里程碑要求"],
"F2.7": ["process", "待业务批准:立项资料 / 测试验收标准 / 里程碑要求"],
"F2.8": ["artifact", "业务批准成果包:立项资料 / 测试验收标准 / 里程碑要求"],
"F3.1": ["process", "输入:产品定义基线 / 阶段 2 已有评审记录;必需成果:软硬件接口契约 / 测试计划;选填:总体技术方案 / 架构决策记录"],
"F3.2": ["artifact", "提交成果草案:软硬件接口契约;选填:总体技术方案 / 架构决策记录"],
"F3.3": ["process", "设计任务:测试计划(测试标准 / 测试用例范围 / 测试项)及各角色接口、硬件约束确认"],
"F3.4": ["process", "修订对象:软硬件接口契约;已提供的总体技术方案 / 架构决策记录"],
"F3.5": ["process", "修订对象:软硬件接口契约;已提供的架构决策记录;协作输入:硬件接口与约束"],
"F3.6": ["process", "过程记录:硬件约束与接口确认;关联/修订:软硬件接口契约及已提供的总体技术方案 / 架构决策记录"],
"F3.7": ["process", "提交/修订:测试计划(测试标准 / 测试用例范围 / 测试项);过程记录:可测性缺口"],
"F3.8": ["process", "过程记录:设计冲突矩阵;修订相关必需成果及已提供的选填成果"],
"F3.9": ["artifact", "技术负责人确认:软硬件接口契约及已提供的总体技术方案 / 架构决策记录"],
"F3.10": ["artifact", "多角色确认:软硬件接口契约 / 测试计划;选填成果已提供时一并确认"],
"F4.1": ["artifact", "提交成果草案:项目计划 / 项目风险 / 角色分工 / 产品资料整合 / 项目状态内部记录"],
"F4.2": ["artifact", "技术负责人确认:项目计划草案 / 项目风险 / 角色分工"],
"F4.3": ["process", "修订对象:项目计划 / 项目风险 / 角色分工 / 项目状态内部记录"],
"F4.4": ["process", "过程记录:问题任务定向确认结果"],
"F4.5": ["process", "过程记录:计划冲突处置;修订项目计划与风险"],
"F4.6": ["process", "待产品确认资源与排期:项目计划 / 项目风险 / 项目状态内部记录"],
"F4.7": ["artifact", "产品确认成果:项目计划 / 项目风险 / 项目状态内部记录"],
"F4.8": ["artifact", "正式基线分发:项目计划 / 项目风险 / 角色分工 / 产品资料整合 + 状态快照;业务可同步计划与排期"],
"F5.1": ["process", "输入:阶段3必需成果及已提供的选填成果 / 项目任务计划 / 角色分工 / 项目风险;待产出:硬件设计包 / 硬件实现资料 / 嵌入式底层实现资料 / 嵌入式应用层固件包"],
"F5.2": ["artifact", "资料齐备后提交确认:硬件设计包;设计确认后提交:硬件实现资料"],
"F5.3": ["process", "定向分发与确认:硬件设计包 / 硬件实现资料 / 软硬件接口契约"],
"F5.4": ["artifact", "提交成果:嵌入式底层实现资料;WiFi 设备定频测试固件选填"],
"F5.5": ["process", "分发:已登记的 BSP/PSP 可消费版本 → 嵌入式应用层合版"],
"F5.6": ["artifact", "提交候选成果:嵌入式应用层固件包(应用+底层统一版本)"],
"F5.7": ["process", "过程记录:实现冲突记录;关联硬件设计包、三类实现成果与接口契约"],
"F5.8": ["process", "过程记录:版本矩阵 / 软硬件联调记录"],
"F5.9": ["artifact", "提交正式成果:嵌入式应用层固件包(最终提测版本)"],
"F5.10": ["process", "过程记录:集成版本批准;关联应用固件包、硬件设计包与硬件实现资料"],
"F6.1": ["process", "测试输入:应用固件包 / 底层实现资料 / 硬件实现资料 / 测试计划"],
"F6.2": ["artifact", "必需:功能测试报告 / 缺陷清单;选填:可靠性报告 / 专项报告 / 提测佐证"],
"F6.3": ["artifact", "提交/更新:缺陷清单;相关负责人共同确定责任人"],
"F6.4": ["process", "确认责任分工与修复计划;由测试更新缺陷清单"],
"F6.5": ["process", "过程记录:按确认分工派发修复或专业澄清任务;关联缺陷清单"],
"F6.6": ["process", "修订对象:应用固件包 / 底层实现资料 / 硬件实现资料 / 缺陷清单"],
"F6.7": ["process", "关联成果:底层修复 / 硬件变化 → 应用固件包重新合版"],
"F6.8": ["artifact", "提交修订成果:嵌入式应用层固件包(统一回归版本)"],
"F6.9": ["process", "回归输入:统一固件 / 版本矩阵 / 缺陷清单"],
"F6.10": ["artifact", "最终确认:功能测试报告 / 缺陷清单;已提供的选填成果一并确认"],
"F7.1": ["process", "接收确认:测试直接交付报告及已提供的提测佐证;产品确认收到"],
"F7.2": ["process", "平台验收输入:已接收测试资料 / 验收标准 / 版本"],
"F7.3": ["artifact", "平台验收报告或结论:产品确认,无需业务确认"],
"F7.4": ["process", "客户验收任务:输入就绪可与平台验收并行"],
"F7.5": ["artifact", "提交客户验收通过报告草案 / 遗留问题清单"],
"F7.6": ["process", "请求确认:客户验收结果;不包含平台审批"],
"F7.7": ["artifact", "业务确认客户验收通过或退回整改"],
"F7.8": ["process", "过程记录:平台或客户验收问题及定向返工任务"],
"F7.9": ["process", "修订对应分支成果与结论;必要测试返回阶段 6"],
"F7.10": ["process", "总门禁:平台通过(产品确认)+ 客户通过(业务确认)"],
"F8.1": ["process", "过程记录:资料收集与项目复盘任务"],
"F8.2": ["process", "收集:各阶段已确认成果 / 版本 / 索引 / 必要记录"],
"F8.3": ["process", "核对:平台产品确认 / 客户业务确认 / 遗留问题承接"],
"F8.4": ["process", "项目复盘:目标 / 计划偏差 / 协作 / 质量问题 / 改进"],
"F8.5": ["process", "复盘输入:经验 / 改进项 / 责任人 / 跟进安排"],
"F8.6": ["artifact", "汇总:结项资料归档 / 变更记录 / 结项报告 / 流程闭环总结"],
"F8.7": ["artifact", "确认:项目结项 / 归档完整性 / 复盘与遗留承接"]
};
document.querySelectorAll("section[id^='stage'] .if-flow-id").forEach((node) => {
const flowId = node.textContent.split("·")[0].trim();
const spec = flowLabels[flowId];
if (!spec) return;
const arrow = node.closest(".if-arrow");
if (!arrow || arrow.querySelector(".if-artifact-tag")) return;
const tag = document.createElement("em");
tag.className = `if-artifact-tag${spec[0] === "process" ? " process" : ""}`;
tag.textContent = spec[1];
arrow.appendChild(tag);
});
})();
</script>
</body>
</html>