acmer-coach 2.3.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish.yml +2 -0
- package/README.md +58 -8
- package/assets/knowledge/COMPETENCIES.yaml +39 -4
- package/assets/knowledge/CONTEST_PROFILES.yaml +61 -0
- package/assets/knowledge/NODE_SCOPES.yaml +201 -0
- package/assets/rules/coach-rules.md +54 -17
- package/dev/catalog-check.mjs +74 -0
- package/dev/coaching-contract-check.mjs +219 -0
- package/dev/curriculum-check.mjs +194 -6
- package/dev/curriculum-evidence-check.mjs +9 -2
- package/dev/parity-check.mjs +23 -5
- package/dev/run-all.sh +9 -2
- package/dev/strategy-check.mjs +179 -11
- package/dev/teaching-check.mjs +191 -0
- package/dev/vp-client-check.mjs +12 -2
- package/dev/vp-sync-check.mjs +122 -0
- package/dev/workspace-migration-check.mjs +92 -20
- package/dev.sh +8 -3
- package/docs//346/257/224/350/265/233/344/270/216/346/225/231/345/255/246/344/276/235/346/215/256.md +79 -0
- package/docs//350/256/276/350/256/241/346/226/271/351/222/210.md +23 -6
- package/docs//351/225/277/346/234/237/350/257/276/347/250/213/346/234/272/345/210/266.md +33 -6
- package/index.js +143 -83
- package/lib/curriculum-evidence.js +16 -2
- package/lib/curriculum-planning.js +75 -6
- package/lib/curriculum.js +44 -16
- package/lib/strategy.js +162 -60
- package/lib/teaching.js +78 -0
- package/lib/vp-client.js +14 -2
- package/lib/workspace-migration.js +38 -0
- package/package.json +8 -2
- package/verify-shape.mjs +35 -5
- package/verify.mjs +35 -16
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
## 一、一句话命题
|
|
9
9
|
|
|
10
|
-
>
|
|
10
|
+
> **教练把比赛目标、当下理解和下一步教学连起来。**
|
|
11
11
|
>
|
|
12
12
|
> 它站在局外、手里有地图、且不投入自尊。
|
|
13
13
|
> 在局里的人看不见河的全貌 —— 这跟聪明程度无关,是位置问题。
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
排优先级需要「什么重要、什么先什么后、哪里是坑」——
|
|
17
17
|
而这些恰好是初学者没有的知识。**这是循环依赖,必须由外部打破。**
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
资料和题目已经很多。教练要选择重点、讲清推理、核对理解,
|
|
20
|
+
根据真实回应调整讲法,并在下次接着教;排顺序只是其中一项。
|
|
20
21
|
|
|
21
22
|
---
|
|
22
23
|
|
|
@@ -65,6 +66,10 @@
|
|
|
65
66
|
而是把相关事实摆到教练眼前(哪些节点放得最久、做过几题、独立几次),让它判断。
|
|
66
67
|
工具只拦**机械上做不到**的事(前置没满足、块和块叠在一起)。
|
|
67
68
|
|
|
69
|
+
目标权重与已确认事件可以产生参考排序,但必须带来源、时间窗口和未知部分;排序不
|
|
70
|
+
等于掌握度或教学命令。观察、待确认假设和已核实结论分开保存,不能从一次 WA 直接
|
|
71
|
+
推出“不会某个算法”,也不能把成功记录数量算成问题数量。
|
|
72
|
+
|
|
68
73
|
> 推论:**别指望工具把教练的活全干了。** 能机械检查的只是一部分,
|
|
69
74
|
> 剩下的写不进代码。(这条后来被证实了 —— 见原则 5 的边界。)
|
|
70
75
|
|
|
@@ -93,6 +98,9 @@ verified = 已验证 过了章节检测,有证据
|
|
|
93
98
|
把 learned 和 verified 合成一个「会/不会」,就等于退回原则 2 要治的那个病。
|
|
94
99
|
`verified` 因此**手标不了** —— 它不是靠自觉,是枚举里就没有这个选项。
|
|
95
100
|
|
|
101
|
+
verified 是有日期和条件的检测结论,不是永久标签。阶段验收另用 exitChecks 检查次数、
|
|
102
|
+
跨日、独立性与限时;陌生混合题与延迟复测用于核对迁移。旧证据不能复用成新阶段成果。
|
|
103
|
+
|
|
96
104
|
### 原则 4:单一真相源,视图必须生成
|
|
97
105
|
|
|
98
106
|
- 地图只有**一份**(YAML),进度只有**一份**
|
|
@@ -109,9 +117,9 @@ verified = 已验证 过了章节检测,有证据
|
|
|
109
117
|
「今天说了明天又忘」不是记忆问题,是**强制力问题**。治法见第五节。
|
|
110
118
|
|
|
111
119
|
**但这条有边界,得说清楚**:结构只能强制**机械可判**的那一半。
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
120
|
+
新知识点的工具可以要求留出讲解预算(`teachMinutes`),但预算只证明有计划,
|
|
121
|
+
不能核实授课完成或学生理解。续课笔记保存教学线索,原话核对也只证明消息存在。
|
|
122
|
+
讲法、重点与复习取舍交给教练;程序约束证据来源、账本写入和任务执行边界。
|
|
115
123
|
|
|
116
124
|
### 原则 6:命名是终点,不是入口(讲题规范)
|
|
117
125
|
|
|
@@ -302,7 +310,7 @@ SCHEDULE.yaml 日程:忙事 + 排的块 + 实际用时
|
|
|
302
310
|
| ❌ 图当主要视图(Mermaid 那类) | 试过,效果差。**技能树是有向图,得专门画** |
|
|
303
311
|
| ❌ 推送作为唯一交付通道 | 死过一次:定时任务报成功,实际零接收 |
|
|
304
312
|
| ❌ 刷题数量当进度单位 | 单位错了,教练管知识点不管题数 |
|
|
305
|
-
| ❌
|
|
313
|
+
| ❌ 永久排除某个专题 | 专题取舍应有对应比赛样本、队伍分工与投入依据;未知先诊断,不因通用印象直接删掉几何等方向 |
|
|
306
314
|
| ❌ 再写一套「更聪明的」分析引擎 | 问题不在不够聪明,在分工反了 |
|
|
307
315
|
| ❌ 大而全的重构 | 大部分代码是**工具**(抓题面 / 检索 / 题库),那些有用 |
|
|
308
316
|
|
|
@@ -323,3 +331,12 @@ SCHEDULE.yaml 日程:忙事 + 排的块 + 实际用时
|
|
|
323
331
|
---
|
|
324
332
|
|
|
325
333
|
*方针变了改这里。实现细节看源码,使用说明看 README。*
|
|
334
|
+
|
|
335
|
+
## 八、比赛目标与知识图的关系
|
|
336
|
+
|
|
337
|
+
知识点是实现能力的工具。长期能力目标、本次比赛目标、当前阶段成果和今天的一个动作
|
|
338
|
+
必须连起来解释,不能把地图后继当作训练目的。近期计划按实际容量与新证据调整;远期
|
|
339
|
+
保留待定项,临时问答不改主线。比赛样本配置声明来源、采样范围和限制,不称官方考纲。
|
|
340
|
+
|
|
341
|
+
教学卡按精确节点提供识别条件、为何成立、失效反例、延伸和陌生题迁移。源资料支持
|
|
342
|
+
技术条件,具体练法由教练承担判断,不能用一份完整字段表证明教学已经有效。
|
|
@@ -61,7 +61,11 @@ assess 最多返回最后 200 条,并给出 `evidenceCount/evidenceTruncated`
|
|
|
61
61
|
|
|
62
62
|
基础字段 `id/title/outcome/nodes/competencies/exitCriteria` 分别标识阶段、能力成果、地图节点、比赛能力和验收方法;一个阶段至少绑定一个真实地图节点或比赛能力,地图节点最多 50 个,整条路线 1–30 个阶段。读题、决策、团队沟通这类没有单一算法节点的阶段直接填 `competencies`。
|
|
63
63
|
|
|
64
|
-
VP
|
|
64
|
+
VP 事实引用包含内容指纹(如 `vp:event:problem:competency:hash`),进入课程时被快照。
|
|
65
|
+
未标能力的同步事实仍可引用,但不能凭空归为某项短板。原始 WA/未知独立性的 AC 和旧文字
|
|
66
|
+
复盘为 observation;明确独立成功为 baseline;复盘 findings=confirmed 引用本场未变化
|
|
67
|
+
事实后才产生能力 gap。hypothesis 和 resolved 不会制造新的成功事件,只有实际成功事实
|
|
68
|
+
能用于验收。程序检查引用存在与事件身份,因果解释仍由模型对照代码/回放核实。
|
|
65
69
|
|
|
66
70
|
还必须提供:
|
|
67
71
|
|
|
@@ -101,6 +105,22 @@ VP 题目里的 `competencies` 和复盘里的 `competencies` 会生成稳定证
|
|
|
101
105
|
|
|
102
106
|
## 执行、验收与调整
|
|
103
107
|
|
|
108
|
+
v3 的 training 阶段必须提供 `exitChecks`,覆盖所有节点和能力。每项且仅有 node 或
|
|
109
|
+
competency,并提供正整数 minEvents;可选 minDistinctDays(不大于 minEvents)、
|
|
110
|
+
independent、maxMinutes、metric 与 maxValue。metric/maxValue 必须成对且有真实数值。
|
|
111
|
+
文字 exitCriteria 描述能力成果,不能替代结构化条件。诊断、待定阶段不要求成功门槛。
|
|
112
|
+
|
|
113
|
+
`exitCheckResults` 返回 target、matchedEvents、distinctDays、passed 和 missing。
|
|
114
|
+
仅符合全部条件的 baseline 计数,按 eventId 去重;缺独立性、分钟数或数值指标不通过。
|
|
115
|
+
修改 exitChecks 会重置进入快照,不能降低或改写条件后复用此前成功。
|
|
116
|
+
`independent=true` 的事实来自明确记录;现有判卷记录缺此字段时不会自动补真,可用
|
|
117
|
+
coach_log 已支持的独立实训记录完成核验。
|
|
118
|
+
|
|
119
|
+
时间必须不早于阶段进入日、不晚于当前日。若有真实 `occurredAt`,还需在 enteredAt 至
|
|
120
|
+
now 之间;同步时间不能冒充发生时间。只有日期的旧记录由日期和进入快照约束,
|
|
121
|
+
`evidencePrecisionWarnings` 明示不能完整核验同日先后。分钟口径也需核对:practice 是
|
|
122
|
+
净做题用时;自动 VP 记录是开赛到该提交的累计分钟,不能混成同一种解题速度。
|
|
123
|
+
|
|
104
124
|
`focusNodes` 只允许来自当前阶段;为空时沿用该阶段全部节点。`focusUntil` 可留空,
|
|
105
125
|
有日期且已到期时先复盘。`weeklyHours=0` 表示尚未确认,不伪造每周可用时间。
|
|
106
126
|
有效课程的普通动作只能沿当前主线,`coach_assign` 带当前 `curriculumRevision`,
|
|
@@ -114,7 +134,7 @@ VP 题目里的 `competencies` 和复盘里的 `competencies` 会生成稳定证
|
|
|
114
134
|
进入阶段时保存 `enteredAt/entryEvidenceRefs/entryEvidenceEvents`。advance 必须同时满足:
|
|
115
135
|
|
|
116
136
|
* diagnostic:每个节点都有进入时未出现、日期不早于进入日的新有效观察。
|
|
117
|
-
* training:地图节点全部 verified
|
|
137
|
+
* training:地图节点全部 verified,所有 exitChecks 都有本阶段的新 baseline 事实满足;一次新 AC 不会代替次数、跨日、独立性或限时条件。
|
|
118
138
|
* 当前阶段没有待完成动作,也没有检测卷等待判定。
|
|
119
139
|
|
|
120
140
|
旧记录改内容或换来源不能替代新事件。诊断阶段不能通过 revise 改成训练或删除待诊断
|
|
@@ -129,12 +149,19 @@ VP 题目里的 `competencies` 和复盘里的 `competencies` 会生成稳定证
|
|
|
129
149
|
|
|
130
150
|
## 旧路线与边界
|
|
131
151
|
|
|
132
|
-
旧 v1 CURRICULUM 可读,显示 `needsReview
|
|
152
|
+
旧 v1/v2 CURRICULUM 可读,显示 `needsReview`,但不能照原有无依据或缺结构化验收的阶段继续布置或推进。
|
|
133
153
|
插件不会在读取时自动重写文件、补造依据或修改训练事实。先 assess,再 revise 为当前
|
|
134
|
-
|
|
154
|
+
及后续阶段补齐上述字段、证据和 exitChecks,明确保存为 v3;已完成阶段保留,不要求改写旧验收。
|
|
155
|
+
|
|
156
|
+
VP 通过已支持的只读连接与同步入口进入,原始记录不直接推定比赛短板。教学资料与比赛
|
|
157
|
+
配置来自包内有出处的目录;没有来源时返回未知或待采样,不编造本届考纲。
|
|
135
158
|
|
|
136
|
-
|
|
137
|
-
|
|
159
|
+
`assess evidenceEventIds=[eventId]` 先按场次筛选再截断200条,旧场次事实仍可引用。
|
|
160
|
+
`coach_vp_import` 的事件级 `measurements` 保存 `competency/metric/value/passed`,并可明确
|
|
161
|
+
`independent/occurredAt`;只有已验收且独立的测量成为 baseline,指标值仍需满足阶段 maxValue。
|
|
162
|
+
同一场次的多条事实仅算一场。小鲸需先核对回放,工具只验证字段与引用,不替它判断原因。
|
|
163
|
+
自动同步保留教练注解;显式导入更新整场时需保留其他题目。分页返回 `hasMore/pageCounts`,
|
|
164
|
+
累计缓存不代表本次新增。个人课程迁移只补缺失文件,冲突版本备份,不覆盖现有主目录账本。
|
|
138
165
|
|
|
139
166
|
## 开发验收
|
|
140
167
|
|