Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
- 一节课程从“规划”变为“可在线学习”前,必须同时具备本课专属的互动学习界面和在线测试入口;不能把课程目录页当作已完成的在线课程。
- 互动学习界面必须围绕本课学习目标设计可操作的学习活动、最小示例或过程演示,且必须包含动手编写代码的微练习(初期 1~5 行),杜绝纯点击流转;并提供继续学习、完成反馈和资源不可用时的明确说明。
- 视频课件由仓库外的制作流程负责。本仓库不生成、存储、转码或播放视频资产;如需关联外部交付物,只记录课程 ID、外部资产标识、章节定位和来源状态,不能伪造视频可用性。
- 在线测试只可从已审校的问题库随机组卷。每道题必须关联课程 ID、至少一个学习目标、难度、题型、正确答案和解析。
- 在线测试只可从已通过校验的问题库随机组卷。每道题必须关联课程 ID、至少一个学习目标、难度、题型、正确答案和解析。
- 每一次组卷中的选择题数量必须严格多于非选择题;随机过程必须保留可复现的种子或等价试卷标识,同一次尝试不得重复出题。
- 作答完成后必须给出得分、逐题正误、解析和复习出口;题库为空、题目无效、网络资源不可用或提交中断时,必须明确告知并保持可恢复状态。
- 正式试题、答案与解析必须留下可追溯的校验证据(独立盲解 + 规则校验,证据写在 `docs/review/question-verification.json`,并由 `tests/question-verification.test.ts` 绑到题目内容上:题目一改,证据作废);页面与文档不得宣称“人工审校”或“已审校”,只能写“已通过校验”。逐题人工阅读是可选的加强项,不是发布前置条件(2026-09-21 由项目负责人确认)。引入第三方题目时仍必须记录授权或来源。
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ lessons/s5-08/
每一节课程最终都应成为一个独立、可在线学习的单元,包含:

- 与本课目标对应的网页互动学习界面;
- 可重复参加的在线测试,从经审校题库中随机组卷,并以选择题为主;
- 可重复参加的在线测试,从已通过校验的题库中随机组卷,并以选择题为主;
- 作答结果、解析和下一步复习建议。

每节课还有对应的视频课件,但视频由仓库外的制作流程实现和交付;本仓库不制作、存储或渲染视频资产,只维护课程 ID、目标与外部视频交付的对齐约定。
Expand Down Expand Up @@ -250,17 +250,17 @@ bun run e2e:typed # 一次跑完上面全部 39 课,659 项检查
整课推进(从 `0 / N 已推进` 走到 `N / N`,外加小测本身)另有 `bun run e2e:flow`:

```bash
bun run e2e:flow # S1-02 至 S5-08 全部 39 课,741 项检查(每课 19 项)
bun run e2e:flow # S1-02 至 S5-08 全部 39 课,780 项检查(每课 20 项)
bun run e2e:flow:s3 # 只跑第三阶段八课
CSP_E2E_LESSONS=s3-07 bun tests/e2e/flow-cdp.ts # 只跑一课
```

走完 `N / N` 之后,脚本还会确认页面自己把「继续学习」入口打开:写明下一课是 `Sx-xx` 与课名、先练的那件事,
链接直达下一课的 `index.html` 且真的可达(用 `HEAD` 请求验过),并且入口在没做完之前是隐藏的,不会把学习者
中途引走。S5-08 是最后一课,入口改成课程收尾:说明五阶段 40 课已走完、建议怎么复盘、题目与解析仍待人工
审校,并指回课程路线,不给成绩评定或能力认证的说法。
中途引走。S5-08 是最后一课,入口改成课程收尾:说明五阶段 40 课已走完、建议怎么复盘、题目与解析已通过校
验,并指回课程路线,不给成绩评定或能力认证的说法。

它验的是「这节课整段路走得通不通」:跳步会被拦住并说明要先完成前一个任务、每一步都经过真实浏览器点击、完成时给出与本节目标对应的完成文案、刷新后进度仍在、清掉本地存储就回到起点;趁小测面板可见时再量一遍「每题把检查目标绑到本课学习目标原文并另起一行给出本题检查、一次抽出的三题互不重复且都是选择题、没答完不能提交、提交后才给解析与得分、没考住时按学习目标汇总错题并指回本节讲解且不倒退进度」。它与 `e2e:typed` 共用 [`tests/e2e/lesson-flows.ts`](./tests/e2e/lesson-flows.ts) 里的答案表,改一处两边同时生效;步骤与仍需人工确认的部分见 [`tests/e2e/flow-manual-checklist.md`](./tests/e2e/flow-manual-checklist.md)。
它验的是「这节课整段路走得通不通」:跳步会被拦住并说明要先完成前一个任务、每一步都经过真实浏览器点击、完成时给出与本节目标对应的完成文案、刷新后进度仍在、清掉本地存储就回到起点;趁小测面板可见时再量一遍「每题把检查目标绑到本课学习目标原文并另起一行给出本题检查、一次抽出的三题互不重复且都是选择题、没答完不能提交、提交后才给解析与得分、没考住时按学习目标汇总错题且不倒退进度、复习出口真点一次就切到讲这条目标的任务并聚焦它的标题」。它与 `e2e:typed` 共用 [`tests/e2e/lesson-flows.ts`](./tests/e2e/lesson-flows.ts) 里的答案表,改一处两边同时生效;步骤与仍需人工确认的部分见 [`tests/e2e/flow-manual-checklist.md`](./tests/e2e/flow-manual-checklist.md)。

## 键盘可达与焦点可见复验

Expand Down
Loading
Loading