@namewta/speculo 0.8.11 → 1.0.1
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/README.md +10 -6
- package/dist/src/cli.js +12 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/doctor.d.ts +10 -0
- package/dist/src/doctor.js +70 -0
- package/dist/src/doctor.js.map +1 -0
- package/dist/src/index.js +105 -56
- package/dist/src/index.js.map +1 -1
- package/dist/src/kernel.d.ts +98 -0
- package/dist/src/kernel.js +29 -0
- package/dist/src/kernel.js.map +1 -0
- package/dist/src/refresh.js +55 -24
- package/dist/src/refresh.js.map +1 -1
- package/dist/src/structured.d.ts +2 -2
- package/dist/src/structured.js +114 -241
- package/dist/src/structured.js.map +1 -1
- package/package.json +3 -2
- package/template/.speculo/README.md +1 -1
- package/template/.speculo/capabilities.json +14 -0
- package/template/.speculo/kernel/README.md +10 -0
- package/template/.speculo/kernel/capability-profile.schema.json +14 -0
- package/template/.speculo/kernel/checkpoint.schema.json +7 -0
- package/template/.speculo/kernel/trace-event.schema.json +8 -0
- package/template/.speculo/kernel/workflow-manifest.schema.json +13 -0
- package/template/.speculo/kernel.json +10 -0
- package/template/.speculo/refresh-contract.json +4 -1
- package/template/AGENTS.md +0 -3
- package/template/canonical/canonical-specdev-goal-plan.md +13 -7
- package/template/canonical/canonical-specdev-grill-with-docs.md +1 -1
- package/template/canonical/canonical-specdev-orchestrate-implementation.md +29 -11
- package/template/canonical/canonical-specdev-spec.md +1 -1
- package/template/canonical/canonical-specdev-tickets.md +38 -4
- package/template/commands/archive-and-consolidate.md +13 -40
- package/template/commands/status.md +3 -3
- package/template/skills/engineering-standards-builder/README.md +6 -28
- package/template/skills/engineering-standards-builder/SKILL.md +88 -163
- package/template/skills/engineering-standards-builder/examples/README.md +2 -0
- package/template/skills/engineering-standards-builder/manifest.txt +4 -0
- package/template/skills/engineering-standards-builder/references/rules/00-governance-and-precedence.md +22 -29
- package/template/skills/engineering-standards-builder/references/rules/01-project-discovery.md +26 -59
- package/template/skills/engineering-standards-builder/references/rules/02-evidence-topology-and-scope.md +28 -55
- package/template/skills/engineering-standards-builder/references/rules/03-interview-and-decisions.md +4 -3
- package/template/skills/engineering-standards-builder/references/rules/14-generation-contract.md +64 -80
- package/template/skills/engineering-standards-builder/references/rules/15-validation-contract.md +24 -47
- package/template/skills/engineering-standards-builder/references/rules/16-language-adapter-contract.md +11 -48
- package/template/skills/engineering-standards-builder/references/rules/README.md +3 -3
- package/template/skills/engineering-standards-builder/scripts/self-test.mjs +51 -5
- package/template/skills/engineering-standards-builder/scripts/validate-builder.mjs +16 -4
- package/template/skills/engineering-standards-builder/scripts/validate-generated-skill.mjs +166 -64
- package/template/skills/engineering-standards-builder/templates/README.md +12 -3
- package/template/skills/engineering-standards-builder/templates/domain-skill/SKILL.md.template +32 -0
- package/template/skills/engineering-standards-builder/templates/project-skill/SKILL.md.template +16 -11
- package/template/skills/engineering-standards-builder/templates/project-skill/generated-skill-set.json.template +7 -0
- package/template/skills/engineering-standards-builder/templates/project-skill/references/project/00-project-profile.md.template +3 -1
- package/template/skills/engineering-standards-builder/templates/project-skill/references/project/01-module-map.md.template +4 -0
- package/template/skills/engineering-standards-builder/templates/project-skill/references/project/02-decisions-and-exceptions.md.template +1 -1
- package/template/skills/engineering-standards-builder/templates/project-skill/references/project/03-skill-map.md.template +19 -0
- package/template/skills/engineering-standards-builder/templates/project-skill/references/project/04-source-and-template-map.md.template +22 -0
- package/template/skills/engineering-standards-builder/templates/project-skill/references/project/review-checklist.md.template +2 -0
- package/template/skills/git-history-squash/SKILL.md +100 -0
- package/template/skills/git-history-squash/assets/request-template.json +18 -0
- package/template/skills/git-history-squash/references/recovery-contract.md +50 -0
- package/template/skills/git-history-squash/references/rewrite-contract.md +123 -0
- package/template/skills/git-history-squash/references/submodule-contract.md +54 -0
- package/template/skills/git-history-squash/scripts/git-history-squash.mjs +1171 -0
- package/template/workflows/learning/A-archive/A-archive.md +25 -0
- package/template/workflows/learning/A-assess-and-plan/A-assess-and-plan.md +17 -23
- package/template/workflows/learning/A-assess-and-plan/background-template.md +13 -0
- package/template/workflows/learning/A-assess-and-plan/change-status-template.json +21 -14
- package/template/workflows/learning/A-assess-and-plan/course-template.md +28 -0
- package/template/workflows/learning/C-consolidate/C-consolidate.md +33 -0
- package/template/workflows/learning/H-homework/H-homework.md +31 -0
- package/template/workflows/learning/H-homework/homework-template.md +63 -0
- package/template/workflows/learning/I-init-setup/I-init-setup.md +14 -19
- package/template/workflows/learning/I-init-setup/context-index-template.md +3 -3
- package/template/workflows/learning/I-init-setup/learner-profile-template.md +12 -10
- package/template/workflows/learning/I-init-setup/review-index-template.md +1 -1
- package/template/workflows/learning/INDEX.md +7 -9
- package/template/workflows/learning/L-lesson/L-lesson.md +32 -0
- package/template/workflows/learning/L-lesson/lesson-template.md +51 -0
- package/template/workflows/learning/R-review/R-review.md +13 -18
- package/template/workflows/learning/R-review/review-template.md +13 -6
- package/template/workflows/learning/README.md +86 -81
- package/template/workflows/learning/_state/status.json +1 -1
- package/template/workflows/learning/common/rules/artifact-contract.md +11 -25
- package/template/workflows/learning/common/rules/assessment-policy.md +9 -4
- package/template/workflows/learning/common/rules/knowledge-organization.md +4 -6
- package/template/workflows/learning/common/rules/mastery-policy.md +3 -19
- package/template/workflows/learning/common/rules/path-reference-contract.md +3 -5
- package/template/workflows/learning/common/rules/teaching-policy.md +9 -9
- package/template/workflows/learning/common/schemas/change-status.schema.json +46 -18
- package/template/workflows/learning/common/schemas/status.schema.json +25 -24
- package/template/workflows/learning/common/skills/topic-synthesis/SKILL.md +17 -0
- package/template/workflows/learning/common/skills/topic-synthesis/claim-template.md +15 -0
- package/template/workflows/learning/common/tools/relocate-learning.mjs +208 -0
- package/template/workflows/learning/common/tools/validate-learning.mjs +195 -297
- package/template/workflows/learning/manifest.json +1 -0
- package/template/workflows/learning/runtime-contract.json +3 -2
- package/template/workflows/ops/manifest.json +1 -0
- package/template/workflows/person/manifest.json +1 -0
- package/template/workflows/specdev/I-implement/I-implement.md +12 -4
- package/template/workflows/specdev/I-implement/execution-preflight.md +4 -0
- package/template/workflows/specdev/README.md +1 -1
- package/template/workflows/specdev/T-tickets/T-tickets.md +16 -3
- package/template/workflows/specdev/T-tickets/ticket-readiness.md +3 -0
- package/template/workflows/specdev/T-tickets/ticket-template.md +3 -0
- package/template/workflows/specdev/T-tickets/tickets-map-template.md +15 -0
- package/template/workflows/specdev/common/rules/artifact-contract.md +1 -1
- package/template/workflows/specdev/common/skills/subagent-delivery/SKILL.md +4 -2
- package/template/workflows/specdev/common/skills/subagent-delivery/references/external-web-subagent.md +2 -1
- package/template/workflows/specdev/common/skills/subagent-delivery/references/native-subagent.md +2 -1
- package/template/workflows/specdev/common/skills/subagent-delivery/references/source-package.md +4 -2
- package/template/workflows/specdev/common/tools/validate-specdev.mjs +143 -3
- package/template/workflows/specdev/manifest.json +1 -0
- package/template/workflows/workflow-manifest.schema.json +14 -0
- package/template/workflows/learning/A-archive-and-consolidate/A-archive-and-consolidate.md +0 -38
- package/template/workflows/learning/A-archive-and-consolidate/promotion-plan-template.md +0 -23
- package/template/workflows/learning/A-assess-and-plan/learning-plan-template.md +0 -28
- package/template/workflows/learning/E-eli5/E-eli5.md +0 -37
- package/template/workflows/learning/E-eli5/lesson-template.md +0 -31
- package/template/workflows/learning/P-practice/P-practice.md +0 -34
- package/template/workflows/learning/P-practice/practice-template.md +0 -16
- package/template/workflows/learning/Q-quiz/Q-quiz.md +0 -34
- package/template/workflows/learning/Q-quiz/quiz-artifact-template.md +0 -16
- package/template/workflows/learning/common/skills/knowledge-promotion/SKILL.md +0 -46
- package/template/workflows/learning/common/skills/knowledge-promotion/domain-index-template.md +0 -6
- package/template/workflows/learning/common/skills/knowledge-promotion/domain-overview-template.md +0 -19
- package/template/workflows/learning/common/skills/knowledge-promotion/knowledge-template.md +0 -25
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: learning/archive
|
|
3
|
+
type: workflow-entry
|
|
4
|
+
workflow: learning
|
|
5
|
+
name: 冷归档
|
|
6
|
+
description: 用户明确关闭后移动整个 Change 树到日期目录;不做知识综合或掌握判断。
|
|
7
|
+
keywords: [archive, cold-archive, close]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 冷归档
|
|
11
|
+
|
|
12
|
+
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path>`。
|
|
13
|
+
|
|
14
|
+
## 流程
|
|
15
|
+
|
|
16
|
+
1. 用户明确指定 root Change 并写入 close/confirm;没有确认只输出待归档清单。
|
|
17
|
+
2. 检查 root 没有 active Work 或活动子树;未完成 Homework、未做 R 或未掌握不构成阻塞,证据随树保留。
|
|
18
|
+
3. 以整棵树所有节点 `updated_at` 的最大值作为 `YYYY-MM`,在锁内 stage 并移动 `changes/<root>` 到 `archive/YYYY-MM/<root>`,更新 locations/status projection。
|
|
19
|
+
4. 验证旧路径不存在、新路径存在、哈希和索引完整;失败回滚。归档树只读,后续纠正通过新 Change;A 不写 context。
|
|
20
|
+
|
|
21
|
+
## 完成标准
|
|
22
|
+
|
|
23
|
+
- 没有静默删除或改写原始课程、作业、答案、Review 或 synthesis;
|
|
24
|
+
- archive 是用户关闭的历史容器,不等同于 mastered;
|
|
25
|
+
- 归档日期以最新源更新时间为准,原始时间和 relocation history 仍可追溯。
|
|
@@ -2,38 +2,32 @@
|
|
|
2
2
|
id: learning/assess-and-plan
|
|
3
3
|
type: workflow-entry
|
|
4
4
|
workflow: learning
|
|
5
|
-
name:
|
|
6
|
-
description:
|
|
7
|
-
keywords: [评估, baseline,
|
|
5
|
+
name: 评估背景并设计课程
|
|
6
|
+
description: 以目标和证据为起点建立课程、背景、基线、来源和可变 Lesson 地图。
|
|
7
|
+
keywords: [评估, baseline, course-design, objectives, background]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
#
|
|
10
|
+
# 评估背景并设计课程
|
|
11
11
|
|
|
12
|
-
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path
|
|
13
|
-
|
|
14
|
-
本 Work 拥有 intake、baseline、learning plan 和初始 sources。它不开始正式教学,也不根据用户自信度直接宣称掌握。
|
|
12
|
+
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path>`。
|
|
15
13
|
|
|
16
14
|
## 流程
|
|
17
15
|
|
|
18
|
-
1. 确认 I
|
|
19
|
-
2.
|
|
20
|
-
3. 写 `
|
|
21
|
-
4.
|
|
22
|
-
5.
|
|
23
|
-
6.
|
|
24
|
-
7. 写 `sources.md`,区分项目事实、权威外部来源、类比和未知。外部 URL 在使用时验证;无法验证的结论不进入关键目标答案。
|
|
25
|
-
8. 运行 Learning validator。成功后把 phase 设置为 `assessment`,完成本 Work,并路由 E-eli5;失败时保留 blocker 和当前 Work。
|
|
16
|
+
1. 确认 I 已完成,收集学习目标、期望效果、受众、范围、时间、表达基线和深度。缺少会改变课程设计的选择时,一次只问一个问题。
|
|
17
|
+
2. 创建或恢复 `YYYY-MM-DD-<kebab-topic>[-NN]` Change,生成 `.status.json`,设置 `current_work=learning/assess-and-plan`。
|
|
18
|
+
3. 写 `course.md`:可观察 OBJ、先决条件、课程地图、每节 Lesson 的 30–40 分钟预算、可选路径、Homework 映射和成功证据。章节顺序是参考方案,不是强制教学模型。
|
|
19
|
+
4. 写 `background/foundation.md`:主题宏观背景、概念关系、术语、历史/上下文和学习前置知识;另写 `baseline.md` 保存学习者原始基线,不将“听说过”当作能力。
|
|
20
|
+
5. 写 `sources.md`:搜索范围、权威来源、source id、URL/定位、访问日期、支持的 claim、未决冲突和不确定性。项目事实、外部证据、类比和未知分开。
|
|
21
|
+
6. 创建 `INDEX.md`、`lessons/INDEX.md`、`homework/INDEX.md` 和 `learning-log.md`,运行 validator;完成后清空 `current_work`,不自动激活 L/H。
|
|
26
22
|
|
|
27
23
|
## 完成标准
|
|
28
24
|
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
- 已有知识来自精确 Markdown 文件,不来自索引摘要推测;
|
|
33
|
-
- rubric 没有因基线表现而降低目标;
|
|
34
|
-
- 所有输入、状态和下一路由可恢复。
|
|
25
|
+
- 每个 OBJ 有可观察证据、前置关系、Lesson 估时和来源计划;
|
|
26
|
+
- background 与 baseline 分离,所有原始回答保持不改写;
|
|
27
|
+
- 后续新问题写入 `notes/`,实质范围变化创建新 Lesson 或新 Change,并保留 revision。
|
|
35
28
|
|
|
36
|
-
##
|
|
29
|
+
## 子文件
|
|
37
30
|
|
|
38
31
|
- Change seed:`<Path>{roots.workflows}/learning/A-assess-and-plan/change-status-template.json</Path>`
|
|
39
|
-
-
|
|
32
|
+
- Course 模板:`<Path>{roots.workflows}/learning/A-assess-and-plan/course-template.md</Path>`
|
|
33
|
+
- Background 模板:`<Path>{roots.workflows}/learning/A-assess-and-plan/background-template.md</Path>`
|
|
@@ -1,28 +1,35 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schema_version":
|
|
2
|
+
"schema_version": 2,
|
|
3
3
|
"artifact": "learning-change-status",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
4
|
+
"change_id": "<YYYY-MM-DD-kebab-topic>",
|
|
5
|
+
"kind": "learning",
|
|
6
|
+
"domain": "<domain-id>",
|
|
7
|
+
"domain_type": "subject",
|
|
8
|
+
"topic_id": "<topic-id>",
|
|
9
|
+
"parent_change": null,
|
|
10
|
+
"root_change": "<YYYY-MM-DD-kebab-topic>",
|
|
11
|
+
"locator": "changes/<YYYY-MM-DD-kebab-topic>",
|
|
12
|
+
"lifecycle": "active",
|
|
13
|
+
"phase": "planning",
|
|
10
14
|
"current_work": "learning/assess-and-plan",
|
|
11
15
|
"works_run": [],
|
|
12
|
-
"created_at": "
|
|
13
|
-
"updated_at": "
|
|
14
|
-
"
|
|
16
|
+
"created_at": "<ISO-8601>",
|
|
17
|
+
"updated_at": "<ISO-8601>",
|
|
18
|
+
"closed_at": null,
|
|
15
19
|
"archived_at": null,
|
|
20
|
+
"closure_reason": null,
|
|
16
21
|
"archive_path": null,
|
|
22
|
+
"homework": {"status": "none", "latest_id": null, "submitted_at": null},
|
|
17
23
|
"mastery": {
|
|
24
|
+
"overall": "unverified",
|
|
18
25
|
"immediate": "not_attempted",
|
|
19
|
-
"retention": "
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"transfer_passed": false,
|
|
26
|
+
"retention": "not_scheduled",
|
|
27
|
+
"critical_objectives": "not_attempted",
|
|
28
|
+
"transfer": "not_attempted",
|
|
23
29
|
"blocking_misconceptions": [],
|
|
24
30
|
"evidence": [],
|
|
25
31
|
"next_review_at": null
|
|
26
32
|
},
|
|
33
|
+
"children": [],
|
|
27
34
|
"blockers": []
|
|
28
35
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# 课程设计:<主题>
|
|
2
|
+
|
|
3
|
+
## 目标与期望效果
|
|
4
|
+
|
|
5
|
+
## 学习者与表达/深度配置
|
|
6
|
+
|
|
7
|
+
| 字段 | 值 |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| expression_level | `eli5` |
|
|
10
|
+
| coverage_depth | `standard` |
|
|
11
|
+
| Lesson 时长 | `35` 分钟 |
|
|
12
|
+
|
|
13
|
+
## 目标合同
|
|
14
|
+
|
|
15
|
+
| ID | 可观察目标 | 关键性 | 前置 OBJ | 证据类型 | Lesson | Homework |
|
|
16
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
17
|
+
| OBJ-01 | `<能做什么>` | 是 | `<none>` | `<解释/应用/产出>` | L-001 | HW-001 |
|
|
18
|
+
|
|
19
|
+
## 课程地图
|
|
20
|
+
|
|
21
|
+
可按主题采用问题驱动、机制驱动、历史脉络、案例驱动或其他适合的结构;这里记录宏观路线和替代路线,不冻结每章模板。
|
|
22
|
+
|
|
23
|
+
## 成功证据与范围外
|
|
24
|
+
|
|
25
|
+
## Revision 记录
|
|
26
|
+
|
|
27
|
+
| 时间 | 变化 | 原因 | 是否重新生成 Lesson |
|
|
28
|
+
| --- | --- | --- | --- |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: learning/consolidate
|
|
3
|
+
type: workflow-entry
|
|
4
|
+
workflow: learning
|
|
5
|
+
name: 主题整合
|
|
6
|
+
description: 将选定 Change 物理嵌入父 Change,生成带 claim 级 provenance 的可迭代主题综合。
|
|
7
|
+
keywords: [consolidate, synthesis, provenance, topic, relocate]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 主题整合
|
|
11
|
+
|
|
12
|
+
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path>`。
|
|
13
|
+
|
|
14
|
+
## 流程
|
|
15
|
+
|
|
16
|
+
1. 用户指定目标 domain/topic 和 source Change IDs。允许 active/closed 的未归档根 Change;已归档内容必须先显式恢复。已有综合子树只能整棵选择,不得拆分。
|
|
17
|
+
2. 读取每个 source 的 current locator、旧 locator、时间、内容哈希、Lesson/Homework/Review 索引和关系;若祖先/后代循环、重复 ID、活动锁或路径越界则阻塞。
|
|
18
|
+
3. 输出 dry-run:目标父 Change、子目录、effective date、移动清单、哈希、未掌握 evidence、冲突/空白和 context 写入计划。用户未确认前不移动、不改状态。
|
|
19
|
+
4. 用户确认后由 `<Path>{roots.workflows}/learning/common/tools/relocate-learning.mjs</Path>` 在父根锁内 stage、移动整个目录到 `children/<child-id>/`、更新 locations/status projection,并在失败时回滚。现有 Markdown 字节必须保持一致;子 owner 仍写自己的子目录,父负责路由和锁。
|
|
20
|
+
5. 生成 `synthesis/` 的 source-manifest、overview、claim-matrix、concept-map、conflicts-and-gaps 和带版本的 revisions。每个 claim 带 source Change/Lesson/Homework anchor、外部 source id、evidence status 和验证时间。
|
|
21
|
+
6. 用户再次确认后才发布 `context/domains/<domain>/topics/<topic-id>/`;发布不删除原料、不改变 immediate/retention 掌握结论。C 完成后不自动激活 A/R。
|
|
22
|
+
|
|
23
|
+
## 完成标准
|
|
24
|
+
|
|
25
|
+
- 物理移动可证明、可回滚、可由稳定 Change ID 解析;
|
|
26
|
+
- 原始工件不被综合覆盖,后续综合以新 revision 记录;
|
|
27
|
+
- active 子 Change 的后续 L/H 仍写子目录,不能绕过父根锁;
|
|
28
|
+
- synthesis 能明确支持、争议、未决 claim,并保留引用。
|
|
29
|
+
|
|
30
|
+
## 子文件
|
|
31
|
+
|
|
32
|
+
- 综合规则:`<Path>{roots.workflows}/learning/common/skills/topic-synthesis/SKILL.md</Path>`
|
|
33
|
+
- 迁移工具:`<Path>{roots.workflows}/learning/common/tools/relocate-learning.mjs</Path>`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: learning/homework
|
|
3
|
+
type: workflow-entry
|
|
4
|
+
workflow: learning
|
|
5
|
+
name: 课程作业与评审
|
|
6
|
+
description: 以单一 Markdown 文件生成题目、接收显式提交并追加逐题评审;不与 Lesson 混写。
|
|
7
|
+
keywords: [homework, assignment, questions, grading, explain]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 课程作业与评审
|
|
11
|
+
|
|
12
|
+
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path>`。
|
|
13
|
+
|
|
14
|
+
## 流程
|
|
15
|
+
|
|
16
|
+
1. 用户指定一个或多个 Lesson/OBJ 和题数(默认 5)。读取课程正文、目标、来源和背景;不得把题目答案提前写入作业。
|
|
17
|
+
2. 创建 `homework/HW-<NNN>-<slug>-attempt-01.md`,写元数据、Q1…、空白 A1… 和 `Submission: pending`,更新 `homework/INDEX.md`。
|
|
18
|
+
3. 用户填写 A1…并在文件中加入精确行 `Submission: ready` 后再次激活 H。H 校验回答原文和提交标记,冻结问题/答案内容。
|
|
19
|
+
4. 只在同一文件末尾追加 `## Review`:每题给出 `correct|partial|incorrect|uncertain`、证据覆盖、中文详细讲解、`Explain (English)`、误区和下一步,并记录引用的 Lesson/source anchor。
|
|
20
|
+
5. 评审完成后更新 homework/immediate 投影;不写 mastered、不自动启动 R/C/A。重新作答必须创建新的 attempt 文件并链接旧 attempt,旧文件不可改写。
|
|
21
|
+
|
|
22
|
+
## 完成标准
|
|
23
|
+
|
|
24
|
+
- 一个作业文件包含问题、学习者答案、提交标记和 AI 评审;
|
|
25
|
+
- 评审不会改写学习者答案,答案不完整时按 evidence/uncertain 处理;
|
|
26
|
+
- H 的分类结论可结束当前学习轮次,R 才是延迟掌握证据。
|
|
27
|
+
|
|
28
|
+
## 子文件
|
|
29
|
+
|
|
30
|
+
- 作业模板:`<Path>{roots.workflows}/learning/H-homework/homework-template.md</Path>`
|
|
31
|
+
- 评审规则:`<Path>{roots.workflows}/learning/common/rules/assessment-policy.md</Path>`
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
homework_id: HW-<NNN>
|
|
3
|
+
attempt: 01
|
|
4
|
+
lesson_ids: [L-001]
|
|
5
|
+
objective_ids: [OBJ-01]
|
|
6
|
+
question_count: 5
|
|
7
|
+
created_at: <ISO-8601>
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 作业:<课程标题>
|
|
11
|
+
|
|
12
|
+
## 引用课程
|
|
13
|
+
|
|
14
|
+
- Lesson:`<stable lesson id and current locator>`
|
|
15
|
+
- 目标:`<OBJ ids>`
|
|
16
|
+
|
|
17
|
+
## Questions
|
|
18
|
+
|
|
19
|
+
### Q1 — 回忆与定义
|
|
20
|
+
|
|
21
|
+
<问题>
|
|
22
|
+
|
|
23
|
+
### Q2 — 机制与为什么
|
|
24
|
+
|
|
25
|
+
<问题>
|
|
26
|
+
|
|
27
|
+
### Q3 — 变式应用
|
|
28
|
+
|
|
29
|
+
<问题>
|
|
30
|
+
|
|
31
|
+
### Q4 — 全新情境迁移
|
|
32
|
+
|
|
33
|
+
<问题>
|
|
34
|
+
|
|
35
|
+
### Q5 — 误区辨析
|
|
36
|
+
|
|
37
|
+
<问题>
|
|
38
|
+
|
|
39
|
+
## Learner Answers
|
|
40
|
+
|
|
41
|
+
### A1
|
|
42
|
+
|
|
43
|
+
<在此填写,不要改写 Q1>
|
|
44
|
+
|
|
45
|
+
### A2
|
|
46
|
+
|
|
47
|
+
<在此填写,不要改写 Q2>
|
|
48
|
+
|
|
49
|
+
### A3
|
|
50
|
+
|
|
51
|
+
<在此填写,不要改写 Q3>
|
|
52
|
+
|
|
53
|
+
### A4
|
|
54
|
+
|
|
55
|
+
<在此填写,不要改写 Q4>
|
|
56
|
+
|
|
57
|
+
### A5
|
|
58
|
+
|
|
59
|
+
<在此填写,不要改写 Q5>
|
|
60
|
+
|
|
61
|
+
Submission: pending
|
|
62
|
+
|
|
63
|
+
<!-- H 在 Submission: ready 后只能追加 Review;不得改写以上内容。 -->
|
|
@@ -3,34 +3,29 @@ id: learning/init-setup
|
|
|
3
3
|
type: workflow-entry
|
|
4
4
|
workflow: learning
|
|
5
5
|
name: 初始化学习系统
|
|
6
|
-
description:
|
|
7
|
-
keywords: [初始化, learner-profile, context
|
|
6
|
+
description: 初始化 Learning v2 的教学偏好、空索引、位置登记和可验证状态。
|
|
7
|
+
keywords: [初始化, learner-profile, context, learning-v2]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# 初始化学习系统
|
|
11
11
|
|
|
12
|
-
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path
|
|
13
|
-
|
|
14
|
-
本 Work 只建立恢复所需骨架。它不评估能力、不创建已掌握知识,也不把用户年龄写成领域水平。
|
|
12
|
+
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path>`。
|
|
15
13
|
|
|
16
14
|
## 流程
|
|
17
15
|
|
|
18
|
-
1. 读取 `<Path>{roots.state}/learning/status.json</Path
|
|
19
|
-
2. 读取 `<Path>{roots.workflows}/learning/I-init-setup/learner-profile-template.md</Path
|
|
20
|
-
3.
|
|
21
|
-
4.
|
|
22
|
-
5. 运行 `<Path>{roots.workflows}/learning/common/tools/validate-learning.mjs</Path>` 的 state 校验;重读所有新建文件。
|
|
23
|
-
6. 初始化不创建 change,也不写 `works_run`。返回 A-assess-and-plan 作为正常下一路由。
|
|
16
|
+
1. 读取 `<Path>{roots.state}/learning/status.json</Path>`。不存在时从 `_state/status.json` 原子创建;存在 v1 或未知 schema 时停止并返回 `learning-reset-required`,不修复旧文件。
|
|
17
|
+
2. 读取 `<Path>{roots.workflows}/learning/I-init-setup/learner-profile-template.md</Path>`。只询问无法从环境发现的语言、表达基线、深度、图像/图解偏好、默认 Lesson 时长、Homework 题数和 R 偏好;保留已有字段。
|
|
18
|
+
3. 创建 `changes/`、`archive/`、`context/domains/`,并初始化 `locations.json`、`context/INDEX.md`、`context/REVIEW.md`;不写任何知识条目。
|
|
19
|
+
4. 运行 `<Path>{roots.workflows}/learning/common/tools/validate-learning.mjs</Path>` 的 state 校验并重读新文件。
|
|
24
20
|
|
|
25
21
|
## 完成标准
|
|
26
22
|
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
- 没有新增 mastered 条目、active change 或外部副作用。
|
|
23
|
+
- 状态、位置登记和 profile 是合法 v2;
|
|
24
|
+
- 没有 active Change、mastered 条目或外部副作用;
|
|
25
|
+
- 空索引可导航,后续 Work 可恢复。
|
|
31
26
|
|
|
32
|
-
##
|
|
27
|
+
## 子文件
|
|
33
28
|
|
|
34
|
-
- Profile
|
|
35
|
-
-
|
|
36
|
-
-
|
|
29
|
+
- Profile:`<Path>{roots.workflows}/learning/I-init-setup/learner-profile-template.md</Path>`
|
|
30
|
+
- 总目录:`<Path>{roots.workflows}/learning/I-init-setup/context-index-template.md</Path>`
|
|
31
|
+
- 复习目录:`<Path>{roots.workflows}/learning/I-init-setup/review-index-template.md</Path>`
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
# 学习者偏好
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本文件只记录表达和交互偏好;能力必须由 Lesson/Homework/Review 证据支持。
|
|
4
4
|
|
|
5
|
-
| 字段 |
|
|
5
|
+
| 字段 | 默认值或用户选择 |
|
|
6
6
|
| --- | --- |
|
|
7
7
|
| 交互语言 | `<待确认>` |
|
|
8
|
-
|
|
|
9
|
-
|
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
13
|
-
|
|
|
8
|
+
| expression_level | `eli5`(通俗但完整) |
|
|
9
|
+
| coverage_depth | `standard`;需要时 `deep` |
|
|
10
|
+
| 图解表示 | `ASCII + Markdown table + 可选 Mermaid/外链图片` |
|
|
11
|
+
| 图片无障碍 | 每个外链图片必须有 alt、caption、source、访问日期和文字等价物 |
|
|
12
|
+
| 标准 Lesson 时长 | `35` 分钟(允许 30–40) |
|
|
13
|
+
| 默认 Homework 题数 | `5` |
|
|
14
|
+
| R 保持复习 | 用户主动激活,默认不自动安排 |
|
|
15
|
+
| 复习间隔偏好 | `<待确认>` |
|
|
14
16
|
|
|
15
|
-
##
|
|
17
|
+
## 表达规则
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
ELI5 只改变词汇、句法、脚手架和类比比例,不删除技术事实、机制、边界、反例或来源。类比后必须说明失效处;外部媒体失效时仍能用文字和文本图理解课程。
|
|
@@ -3,24 +3,22 @@ id: learning
|
|
|
3
3
|
type: workflow
|
|
4
4
|
workflow: learning
|
|
5
5
|
name: Learning Workflow
|
|
6
|
-
description:
|
|
7
|
-
keywords: [learning, 学习, 教学,
|
|
6
|
+
description: 以完整、通俗、多表示的课程,单文件作业评审、可选延迟复习和带溯源的主题综合,持续建立个人 Markdown 知识库。
|
|
7
|
+
keywords: [learning, 学习, 教学, 作业, 复习, 综合, 知识, eli5]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Learning Index
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
本索引只用于被动发现 Learning 和已发布的主题知识;被动读取不得初始化状态、创建 Change 或修改复习状态。需要执行 Work 时必须读取 `<Path>{roots.workflows}/learning/README.md</Path>`。
|
|
13
13
|
|
|
14
|
-
##
|
|
15
|
-
|
|
16
|
-
只读取当前请求需要且实际存在的索引或知识文件;路径不存在时静默跳过。被动读取不得初始化状态、创建 change 或修改复习状态:
|
|
14
|
+
## 永久知识(主题视图)
|
|
17
15
|
|
|
18
16
|
- 总目录:`<Path>{roots.state}/learning/context/INDEX.md</Path>`
|
|
17
|
+
- 主题目录:`<Path>{roots.state}/learning/context/domains/{domain}/topics/{topic-id}/INDEX.md</Path>`
|
|
19
18
|
- 复习目录:`<Path>{roots.state}/learning/context/REVIEW.md</Path>`
|
|
20
|
-
- 领域知识:`<Path>{roots.state}/learning/context/domains/</Path>`
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
主题文件是带 evidence status 和 provenance 的派生视图;原始课程、作业和回答始终回到对应 Change 核对。
|
|
23
21
|
|
|
24
22
|
## Work 激活
|
|
25
23
|
|
|
26
|
-
用户明确激活 Learning
|
|
24
|
+
用户明确激活 Learning 或指定 Work 后,读取 `<Path>{roots.workflows}/learning/README.md</Path>`,按 v2 状态、位置登记和 ownership 合同恢复或创建 Change。Work 的建议下一步不构成自动授权。
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: learning/lesson
|
|
3
|
+
type: workflow-entry
|
|
4
|
+
workflow: learning
|
|
5
|
+
name: 完整课程讲解
|
|
6
|
+
description: 一次输出 30–40 分钟、通俗但完整的 Lesson;不生成作业、不评分、不宣称掌握。
|
|
7
|
+
keywords: [lesson, 教学, eli5, 图文, explanation]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 完整课程讲解
|
|
11
|
+
|
|
12
|
+
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path>`。
|
|
13
|
+
|
|
14
|
+
## 流程
|
|
15
|
+
|
|
16
|
+
1. 确认 Change 有 `course.md`、`background/foundation.md`、`baseline.md`、目标 OBJ 和 `sources.md`;缺失时返回 A-assess-and-plan。
|
|
17
|
+
2. 用户指定 Lesson 主题、OBJ、期望效果和深度;读取精确背景和来源,不遍历无关 context。
|
|
18
|
+
3. 生成一个完整的 `lessons/L-<NNN>-<slug>.md`,元数据包含 `lesson_id`、`objective_ids`、`estimated_minutes` 30–40、`time_budget`(各段可加总)、`expression_level`、`coverage_depth` 和 `source_ids`。
|
|
19
|
+
4. 每个核心目标至少覆盖动机/宏观地图、通俗直觉、精确定义与英文术语、机制/因果链、ASCII/表格/可选外链图之一及文字等价物、正例、反例或边界、变式迁移、常见误区、总结和引用。允许章节顺序变化,不套用固定 5E 或单一路线。
|
|
20
|
+
5. 可加入非评分 pause/self-check,但不写 Q/A、答案、verdict、分数或 mastered。更新 `lessons/INDEX.md` 与 `learning-log.md`,运行 validator,清空 current_work。
|
|
21
|
+
|
|
22
|
+
## 完成标准
|
|
23
|
+
|
|
24
|
+
- Lesson 的活动预算合计 30–40 分钟,内容覆盖矩阵完整,不能用字符数替代时间估计;
|
|
25
|
+
- ELI5 只降低表达门槛,不删去深度、边界、证据或不确定性;
|
|
26
|
+
- 外链图片有 alt/caption/source/访问日期和完整文字替代,链接失效不影响理解;
|
|
27
|
+
- 教学和作业严格分离,用户可稍后主动激活 H。
|
|
28
|
+
|
|
29
|
+
## 子文件
|
|
30
|
+
|
|
31
|
+
- Lesson 模板:`<Path>{roots.workflows}/learning/L-lesson/lesson-template.md</Path>`
|
|
32
|
+
- 教学规则:`<Path>{roots.workflows}/learning/common/rules/teaching-policy.md</Path>`
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
lesson_id: L-<NNN>
|
|
3
|
+
objective_ids: [OBJ-01]
|
|
4
|
+
estimated_minutes: 35
|
|
5
|
+
time_budget:
|
|
6
|
+
- segment: orientation-and-map
|
|
7
|
+
minutes: 4
|
|
8
|
+
- segment: deep-explanation
|
|
9
|
+
minutes: 16
|
|
10
|
+
- segment: visuals-and-worked-examples
|
|
11
|
+
minutes: 9
|
|
12
|
+
- segment: recap-and-transfer
|
|
13
|
+
minutes: 6
|
|
14
|
+
expression_level: eli5
|
|
15
|
+
coverage_depth: standard
|
|
16
|
+
source_ids: [S-001]
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Lesson <NNN>:<主题>
|
|
20
|
+
|
|
21
|
+
## 学完你能做什么
|
|
22
|
+
|
|
23
|
+
## 先把全局地图放在桌上
|
|
24
|
+
|
|
25
|
+
## 核心概念与机制
|
|
26
|
+
|
|
27
|
+
### 直觉讲解
|
|
28
|
+
|
|
29
|
+
### 精确定义与 English term
|
|
30
|
+
|
|
31
|
+
### 机制/因果链
|
|
32
|
+
|
|
33
|
+
### 图、表或文本图
|
|
34
|
+
|
|
35
|
+
图后必须有完整的文字等价物和图的边界说明。
|
|
36
|
+
|
|
37
|
+
### 正例、反例与边界
|
|
38
|
+
|
|
39
|
+
## 变式与迁移
|
|
40
|
+
|
|
41
|
+
## 常见误区
|
|
42
|
+
|
|
43
|
+
## 非评分暂停
|
|
44
|
+
|
|
45
|
+
## 总结、词汇表与下一步
|
|
46
|
+
|
|
47
|
+
## 来源与引用
|
|
48
|
+
|
|
49
|
+
| Source ID | 来源 | 支持的 claim/段落 | 定位 | 访问日期 |
|
|
50
|
+
| --- | --- | --- | --- | --- |
|
|
51
|
+
| S-001 | `<title and URL>` | `<claim>` | `<page/section>` | `<YYYY-MM-DD>` |
|
|
@@ -3,33 +3,28 @@ id: learning/review
|
|
|
3
3
|
type: workflow-entry
|
|
4
4
|
workflow: learning
|
|
5
5
|
name: 延迟保持与周期复习
|
|
6
|
-
description:
|
|
7
|
-
keywords: [复习, retention, spaced-review, transfer
|
|
6
|
+
description: 用户主动指定后,用真实时间间隔验证回忆、机制和迁移,并更新 retention evidence。
|
|
7
|
+
keywords: [复习, retention, spaced-review, transfer]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# 延迟保持与周期复习
|
|
11
11
|
|
|
12
|
-
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path
|
|
13
|
-
|
|
14
|
-
R 有两个模式:`retention-gate` 处理 awaiting_retention change;`periodic-review` 从 REVIEW 选择已归档知识并创建新的 review change。时间未到时只报告日期,不伪造完成。
|
|
12
|
+
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path>`。
|
|
15
13
|
|
|
16
14
|
## 流程
|
|
17
15
|
|
|
18
|
-
1.
|
|
19
|
-
2.
|
|
20
|
-
3.
|
|
21
|
-
4.
|
|
22
|
-
5. 首次保持门通过:设置 retention=`passed`、phase=`ready_to_archive`、change_status=`completed` 和 `completed_at`;记录即时与保持 result 路径,路由 A-archive。
|
|
23
|
-
6. 周期复习通过:result 成为新证据;调用 `mark-review-state` 更新最近验证和下一复习日期。完成 review change 后仍通过 A-archive 归档本次复习历史。
|
|
16
|
+
1. 用户明确指定 Lesson、Homework、Change 或 topic;读取对应的 sources、目标和过去证据。没有真实间隔时只记录 `due_at`,不伪造通过。
|
|
17
|
+
2. 在 Change 的 `review/INDEX.md` 和 `review/RV-<id>.md` 生成新复习记录。题目必须包含延迟回忆、机制/反例和新的迁移情境,不复制刚看过的示例。
|
|
18
|
+
3. 原样保存回答并给出逐项证据;失败只生成补救范围和 `needs_review`,不删除历史、不改写 archived 原文。
|
|
19
|
+
4. 只有通过真实延迟复习才设置 `mastery.retention=passed`、`mastery.overall=retention_verified`,并在 context topic view 标记 `mastered`。R 完成后不自动激活 A。
|
|
24
20
|
|
|
25
21
|
## 完成标准
|
|
26
22
|
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
- 所有 context 改写有明确确认、精确路径和重读验证。
|
|
23
|
+
- 时间、来源、题目和回答可审计;
|
|
24
|
+
- R 是可选 Work,H 的 immediate 评审可以结束当前学习轮次;
|
|
25
|
+
- 周期复习失败保留原证据并建立新的补救 Change 或 note。
|
|
31
26
|
|
|
32
|
-
##
|
|
27
|
+
## 子文件
|
|
33
28
|
|
|
34
|
-
-
|
|
35
|
-
-
|
|
29
|
+
- Review 模板:`<Path>{roots.workflows}/learning/R-review/review-template.md</Path>`
|
|
30
|
+
- Topic 状态规则:`<Path>{roots.workflows}/learning/common/skills/topic-synthesis/SKILL.md</Path>`
|
|
@@ -1,12 +1,19 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 延迟复习:<Lesson 或 topic>
|
|
2
2
|
|
|
3
|
-
|
|
|
4
|
-
| --- | --- |
|
|
3
|
+
| 字段 | 值 |
|
|
4
|
+
| --- | --- |
|
|
5
|
+
| Review ID | RV-<id> |
|
|
6
|
+
| 引用 Change/Lesson | `<stable id>` |
|
|
7
|
+
| 上次证据 | `<timestamp and path>` |
|
|
8
|
+
| 本次发生时间 | `<timestamp>` |
|
|
9
|
+
| 最短间隔是否满足 | `<yes/no>` |
|
|
5
10
|
|
|
6
|
-
##
|
|
11
|
+
## 新回忆与迁移题
|
|
7
12
|
|
|
8
|
-
##
|
|
13
|
+
## 学习者原始回答
|
|
9
14
|
|
|
10
|
-
##
|
|
15
|
+
## 评审与证据
|
|
16
|
+
|
|
17
|
+
## retention 结论
|
|
11
18
|
|
|
12
19
|
## 下一复习日期
|