@namewta/speculo 0.8.4 → 0.8.6
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 +4 -3
- package/dist/src/structured.js +162 -4
- package/dist/src/structured.js.map +1 -1
- package/package.json +2 -2
- package/template/.speculo/README.md +7 -6
- package/template/canonical/canonical-specdev-goal-plan.md +0 -1
- package/template/canonical/canonical-specdev-grill-with-docs.md +0 -1
- package/template/canonical/canonical-specdev-spec.md +0 -1
- package/template/canonical/canonical-specdev-tickets.md +0 -1
- package/template/commands/status.md +3 -3
- package/template/skills/archive-and-consolidate/SKILL.md +19 -14
- package/template/workflows/learning/A-archive-and-consolidate/A-archive-and-consolidate.md +38 -0
- package/template/workflows/learning/A-archive-and-consolidate/promotion-plan-template.md +23 -0
- package/template/workflows/learning/A-assess-and-plan/A-assess-and-plan.md +39 -0
- package/template/workflows/learning/A-assess-and-plan/change-status-template.json +28 -0
- package/template/workflows/learning/A-assess-and-plan/learning-plan-template.md +28 -0
- package/template/workflows/learning/E-eli5/E-eli5.md +37 -0
- package/template/workflows/learning/E-eli5/lesson-template.md +31 -0
- package/template/workflows/learning/I-init-setup/I-init-setup.md +36 -0
- package/template/workflows/learning/I-init-setup/context-index-template.md +6 -0
- package/template/workflows/learning/I-init-setup/learner-profile-template.md +17 -0
- package/template/workflows/learning/I-init-setup/review-index-template.md +4 -0
- package/template/workflows/learning/INDEX.md +26 -0
- package/template/workflows/learning/P-practice/P-practice.md +34 -0
- package/template/workflows/learning/P-practice/practice-template.md +16 -0
- package/template/workflows/learning/Q-quiz/Q-quiz.md +34 -0
- package/template/workflows/learning/Q-quiz/quiz-artifact-template.md +16 -0
- package/template/workflows/learning/R-review/R-review.md +35 -0
- package/template/workflows/learning/R-review/review-template.md +12 -0
- package/template/workflows/learning/README.md +121 -0
- package/template/workflows/learning/_state/archive/.gitkeep +1 -0
- package/template/workflows/learning/_state/changes/.gitkeep +1 -0
- package/template/workflows/learning/_state/status.json +6 -0
- package/template/workflows/learning/common/rules/artifact-contract.md +27 -0
- package/template/workflows/learning/common/rules/assessment-policy.md +7 -0
- package/template/workflows/learning/common/rules/knowledge-organization.md +9 -0
- package/template/workflows/learning/common/rules/mastery-policy.md +21 -0
- package/template/workflows/learning/common/rules/path-reference-contract.md +7 -0
- package/template/workflows/learning/common/rules/teaching-policy.md +15 -0
- package/template/workflows/learning/common/schemas/change-status.schema.json +41 -0
- package/template/workflows/learning/common/schemas/status.schema.json +32 -0
- package/template/workflows/learning/common/skills/knowledge-promotion/SKILL.md +46 -0
- package/template/workflows/learning/common/skills/knowledge-promotion/domain-index-template.md +6 -0
- package/template/workflows/learning/common/skills/knowledge-promotion/domain-overview-template.md +19 -0
- package/template/workflows/learning/common/skills/knowledge-promotion/knowledge-template.md +25 -0
- package/template/workflows/learning/common/tools/validate-learning.mjs +356 -0
- package/template/workflows/learning/runtime-contract.json +11 -0
- package/template/workflows/specdev/A-archive-and-consolidate/A-archive-and-consolidate.md +2 -0
- package/template/workflows/specdev/C-code-review/C-code-review.md +2 -0
- package/template/workflows/specdev/D-diagnose-bugs/D-diagnose-bugs.md +2 -0
- package/template/workflows/specdev/G-grill-with-docs/G-grill-with-docs.md +2 -0
- package/template/workflows/specdev/I-implement/I-implement.md +2 -0
- package/template/workflows/specdev/I-init-setup/I-init-setup.md +3 -1
- package/template/workflows/specdev/INDEX.md +9 -241
- package/template/workflows/specdev/P-goal-plan/P-goal-plan.md +2 -0
- package/template/workflows/specdev/P-prototype/P-prototype.md +2 -0
- package/template/workflows/specdev/R-review-architecture/R-review-architecture.md +2 -0
- package/template/workflows/specdev/README.md +244 -0
- package/template/workflows/specdev/S-spec/S-spec.md +2 -0
- package/template/workflows/specdev/T-tickets/T-tickets.md +2 -0
- package/template/workflows/specdev/T-triage/T-triage.md +3 -1
- package/template/workflows/specdev/W-wayfinder/W-wayfinder.md +2 -0
- package/template/workflows/specdev/common/rules/artifact-contract.md +0 -1
- package/template/workflows/specdev/common/tools/validate-specdev.mjs +0 -68
- package/template/canonical/canonical-specdev-engineering-cognitive-mentor.md +0 -1968
- package/template/workflows/specdev/E-eli5/E-eli5.md +0 -95
- package/template/workflows/specdev/E-engineering-cognitive-mentor/E-engineering-cognitive-mentor.md +0 -252
- package/template/workflows/specdev/E-engineering-cognitive-mentor/architecture-guidance.md +0 -90
- package/template/workflows/specdev/E-engineering-cognitive-mentor/bug-guidance.md +0 -80
- package/template/workflows/specdev/E-engineering-cognitive-mentor/codebase-guidance.md +0 -107
- package/template/workflows/specdev/E-engineering-cognitive-mentor/comprehension-and-closure.md +0 -95
- package/template/workflows/specdev/E-engineering-cognitive-mentor/domain-learning-guidance.md +0 -62
- package/template/workflows/specdev/E-engineering-cognitive-mentor/evidence-and-options.md +0 -132
- package/template/workflows/specdev/E-engineering-cognitive-mentor/interaction-protocol.md +0 -116
- package/template/workflows/specdev/E-engineering-cognitive-mentor/mentor-report-template.md +0 -135
- package/template/workflows/specdev/E-engineering-cognitive-mentor/mode-routing.md +0 -47
- package/template/workflows/specdev/E-engineering-cognitive-mentor/persistence-and-resume.md +0 -132
- package/template/workflows/specdev/E-engineering-cognitive-mentor/requirements-guidance.md +0 -92
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @namewta/speculo
|
|
2
2
|
|
|
3
|
-
> Workflow-packaged
|
|
3
|
+
> Workflow-packaged AI collaboration assets with state-safe refresh tooling.
|
|
4
4
|
|
|
5
5
|
Speculo packages AI coding workflows as installable assets — commands, skills, workflow packages — delivered into any project via a unified CLI.
|
|
6
6
|
|
|
@@ -63,11 +63,12 @@ After initialization, the target project gains the following AI agent-callable a
|
|
|
63
63
|
| `engineering-standards-builder` | Interview-driven generator that produces a project-specific TypeScript/JS/React/Node standards skill |
|
|
64
64
|
| `writing-great-skills` | Authoring guidance for agent skills |
|
|
65
65
|
|
|
66
|
-
###
|
|
66
|
+
### 3 Workflow Packages
|
|
67
67
|
|
|
68
68
|
| Workflow | Work Entries | Description |
|
|
69
69
|
|---|---:|---|
|
|
70
|
-
| **
|
|
70
|
+
| **learning** | 7 | Evidence-gated learning for projects, products, subjects, languages, and skills, using plain-language visual teaching, active practice, immediate and delayed quizzes, and book-style Markdown knowledge indexes |
|
|
71
|
+
| **specdev** | 13 | Local-first specification-driven development: archive, code review, diagnosis, grilling, implementation, setup, goal planning, prototyping, architecture review, specs, tickets, triage, and wayfinding |
|
|
71
72
|
| **person** | 2 | Persona-methodology and rigorous deliberation workflows (Mao Zedong Cognitive OS; Bidirectional Steelman Deliberation) |
|
|
72
73
|
|
|
73
74
|
Every workflow ships an `INDEX.md` as its auto-generated work catalog. Work entries follow `<Letter>-<work_name>/<Letter>-<work_name>.md` naming with progressive-disclosure sub-files, and resolve runtime paths via `<Path>{roots.xxx}/...</Path>` pointers in `workspace.json`.
|
package/dist/src/structured.js
CHANGED
|
@@ -225,12 +225,170 @@ async function validatePersonState(stagedRoot) {
|
|
|
225
225
|
throw new Error("Person status must use schema v1 with an active array");
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
|
+
function assertLearningWork(value, label) {
|
|
229
|
+
if (!(value === null || (typeof value === "string" && /^learning\/[a-z0-9]+(?:-[a-z0-9]+)*$/.test(value)))) {
|
|
230
|
+
throw new Error(label + " must be null or a learning work id");
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
function assertLearningWorks(value, label) {
|
|
234
|
+
if (!Array.isArray(value) || value.some((item) => typeof item !== "string" || !/^learning\/[a-z0-9]+(?:-[a-z0-9]+)*$/.test(item)) || new Set(value).size !== value.length) {
|
|
235
|
+
throw new Error(label + " must contain unique learning work ids");
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function assertExactKeys(value, allowed, label) {
|
|
239
|
+
const allowedKeys = new Set(allowed);
|
|
240
|
+
const unknown = Object.keys(value).filter((key) => !allowedKeys.has(key));
|
|
241
|
+
if (unknown.length > 0)
|
|
242
|
+
throw new Error(label + " has unknown fields: " + unknown.join(", "));
|
|
243
|
+
}
|
|
244
|
+
function assertUniqueStrings(value, label) {
|
|
245
|
+
if (!Array.isArray(value) || value.some((item) => typeof item !== "string") || new Set(value).size !== value.length) {
|
|
246
|
+
throw new Error(label + " must contain unique strings");
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
function isDateTime(value) {
|
|
250
|
+
return typeof value === "string" && !Number.isNaN(Date.parse(value));
|
|
251
|
+
}
|
|
252
|
+
function validateLearningChangeStatus(value, change, archived) {
|
|
253
|
+
assertExactKeys(value, [
|
|
254
|
+
"schema_version", "artifact", "change", "domain", "domain_type", "topic",
|
|
255
|
+
"change_status", "phase", "current_work", "works_run", "created_at", "updated_at",
|
|
256
|
+
"completed_at", "archived_at", "archive_path", "mastery", "blockers",
|
|
257
|
+
], "Learning change status");
|
|
258
|
+
if (value.schema_version !== 1 || value.artifact !== "learning-change-status" || value.change !== change) {
|
|
259
|
+
throw new Error("Learning change status has an invalid identity or schema");
|
|
260
|
+
}
|
|
261
|
+
if (typeof value.domain !== "string" || !/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(value.domain)) {
|
|
262
|
+
throw new Error("Learning change status has an invalid domain");
|
|
263
|
+
}
|
|
264
|
+
if (!["project", "product", "subject", "language", "skill"].includes(String(value.domain_type)) || typeof value.topic !== "string" || !value.topic.trim()) {
|
|
265
|
+
throw new Error("Learning change status has an invalid domain type or topic");
|
|
266
|
+
}
|
|
267
|
+
const changeStatus = String(value.change_status);
|
|
268
|
+
if (!["active", "blocked", "awaiting_retention", "completed", "archived"].includes(changeStatus)) {
|
|
269
|
+
throw new Error("Learning change status has an invalid lifecycle value");
|
|
270
|
+
}
|
|
271
|
+
if (!["intake", "assessment", "teaching", "practice", "immediate_quiz", "retention", "ready_to_archive", "archived"].includes(String(value.phase))) {
|
|
272
|
+
throw new Error("Learning change status has an invalid phase");
|
|
273
|
+
}
|
|
274
|
+
assertLearningWork(value.current_work, "Learning change current_work");
|
|
275
|
+
assertLearningWorks(value.works_run, "Learning change works_run");
|
|
276
|
+
assertUniqueStrings(value.blockers, "Learning change blockers");
|
|
277
|
+
if (!isDateTime(value.created_at) || !isDateTime(value.updated_at)) {
|
|
278
|
+
throw new Error("Learning change timestamps must be date-times");
|
|
279
|
+
}
|
|
280
|
+
const mastery = object(value.mastery);
|
|
281
|
+
assertExactKeys(mastery, [
|
|
282
|
+
"immediate", "retention", "score", "critical_objectives_passed", "transfer_passed",
|
|
283
|
+
"blocking_misconceptions", "evidence", "next_review_at",
|
|
284
|
+
], "Learning mastery");
|
|
285
|
+
const results = new Set(["not_attempted", "failed", "passed", "needs_review"]);
|
|
286
|
+
if (!results.has(String(mastery.immediate)) || !results.has(String(mastery.retention))) {
|
|
287
|
+
throw new Error("Learning change mastery is incomplete");
|
|
288
|
+
}
|
|
289
|
+
if (!(mastery.score === null || (typeof mastery.score === "number" && mastery.score >= 0 && mastery.score <= 100))) {
|
|
290
|
+
throw new Error("Learning mastery score must be null or between 0 and 100");
|
|
291
|
+
}
|
|
292
|
+
if (typeof mastery.critical_objectives_passed !== "boolean" || typeof mastery.transfer_passed !== "boolean") {
|
|
293
|
+
throw new Error("Learning mastery objective and transfer projections must be booleans");
|
|
294
|
+
}
|
|
295
|
+
assertUniqueStrings(mastery.blocking_misconceptions, "Learning mastery blocking_misconceptions");
|
|
296
|
+
assertUniqueStrings(mastery.evidence, "Learning mastery evidence");
|
|
297
|
+
if (mastery.evidence.some((item) => !/^<Path>\{roots\.state\}\/learning\/(?:changes\/[^<]+|archive\/[0-9]{4}-[0-9]{2}\/[^<]+)\/quiz\/[^<]+\.md<\/Path>$/.test(item))) {
|
|
298
|
+
throw new Error("Learning mastery evidence contains an invalid path");
|
|
299
|
+
}
|
|
300
|
+
if (!(mastery.next_review_at === null || isDateTime(mastery.next_review_at))) {
|
|
301
|
+
throw new Error("Learning mastery next_review_at must be null or a date-time");
|
|
302
|
+
}
|
|
303
|
+
if (changeStatus === "awaiting_retention" && mastery.immediate !== "passed") {
|
|
304
|
+
throw new Error("Learning awaiting_retention requires an immediate pass");
|
|
305
|
+
}
|
|
306
|
+
if (["completed", "archived"].includes(changeStatus)) {
|
|
307
|
+
if (mastery.immediate !== "passed" || mastery.retention !== "passed" ||
|
|
308
|
+
typeof mastery.score !== "number" || mastery.score < 80 ||
|
|
309
|
+
mastery.critical_objectives_passed !== true || mastery.transfer_passed !== true ||
|
|
310
|
+
mastery.blocking_misconceptions.length > 0 || mastery.evidence.length < 2) {
|
|
311
|
+
throw new Error("Learning completed knowledge does not satisfy the mastery gate");
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
if (["completed", "archived"].includes(changeStatus)) {
|
|
315
|
+
if (!isDateTime(value.completed_at))
|
|
316
|
+
throw new Error("Learning completed knowledge requires completed_at");
|
|
317
|
+
}
|
|
318
|
+
else if (value.completed_at !== null) {
|
|
319
|
+
throw new Error("Learning incomplete change must keep completed_at null");
|
|
320
|
+
}
|
|
321
|
+
if (archived) {
|
|
322
|
+
const expectedPath = `<Path>{roots.state}/learning/archive/${change.slice(0, 7)}/${change}</Path>`;
|
|
323
|
+
if (value.phase !== "archived" || value.current_work !== null || !isDateTime(value.archived_at) || value.archive_path !== expectedPath) {
|
|
324
|
+
throw new Error("Learning archive fields do not match the indexed location");
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
else if (value.archived_at !== null || value.archive_path !== null) {
|
|
328
|
+
throw new Error("Learning active change must keep archive fields null");
|
|
329
|
+
}
|
|
330
|
+
if (archived !== (changeStatus === "archived")) {
|
|
331
|
+
throw new Error("Learning indexed location and change status disagree");
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
async function validateLearningState(stagedRoot) {
|
|
335
|
+
const stateRoot = join(stagedRoot, ".speculo", "learning");
|
|
336
|
+
const statusPath = join(stateRoot, "status.json");
|
|
337
|
+
if (!(await pathExists(statusPath)))
|
|
338
|
+
return;
|
|
339
|
+
const status = await readObject(statusPath, ".speculo/learning/status.json");
|
|
340
|
+
assertExactKeys(status, ["schema_version", "workflow", "active", "archived"], "Learning status");
|
|
341
|
+
if (status.schema_version !== 1 || status.workflow !== "learning" || !Array.isArray(status.active) || !Array.isArray(status.archived)) {
|
|
342
|
+
throw new Error("Learning status must use schema v1 with active and archived arrays");
|
|
343
|
+
}
|
|
344
|
+
const active = status.active.map((entry) => {
|
|
345
|
+
assertJsonObject(entry, "Learning active status entry");
|
|
346
|
+
assertExactKeys(entry, ["change", "domain", "topic", "current_work", "works_run"], "Learning active status entry");
|
|
347
|
+
if (typeof entry.change !== "string" || !CHANGE_NAME.test(entry.change))
|
|
348
|
+
throw new Error("Learning active change name is invalid");
|
|
349
|
+
if (typeof entry.domain !== "string" || !/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(entry.domain) || typeof entry.topic !== "string" || !entry.topic.trim()) {
|
|
350
|
+
throw new Error("Learning active entry has an invalid domain or topic");
|
|
351
|
+
}
|
|
352
|
+
assertLearningWork(entry.current_work, "Learning active current_work");
|
|
353
|
+
assertLearningWorks(entry.works_run, "Learning active works_run");
|
|
354
|
+
return entry;
|
|
355
|
+
});
|
|
356
|
+
const archived = status.archived.map((entry) => {
|
|
357
|
+
if (typeof entry !== "string" || !CHANGE_NAME.test(entry))
|
|
358
|
+
throw new Error("Learning archived change name is invalid");
|
|
359
|
+
return entry;
|
|
360
|
+
});
|
|
361
|
+
const activeNames = new Set(active.map((entry) => String(entry.change)));
|
|
362
|
+
if (activeNames.size !== active.length || new Set(archived).size !== archived.length || archived.some((name) => activeNames.has(name))) {
|
|
363
|
+
throw new Error("Learning status contains duplicate or overlapping change names");
|
|
364
|
+
}
|
|
365
|
+
for (const entry of active) {
|
|
366
|
+
const change = String(entry.change);
|
|
367
|
+
const path = join(stateRoot, "changes", change, ".status.json");
|
|
368
|
+
if (!(await pathExists(path)))
|
|
369
|
+
throw new Error("indexed Learning change is missing " + path);
|
|
370
|
+
const value = await readObject(path, path);
|
|
371
|
+
validateLearningChangeStatus(value, change, false);
|
|
372
|
+
if (value.domain !== entry.domain || value.topic !== entry.topic || value.current_work !== entry.current_work || JSON.stringify(value.works_run) !== JSON.stringify(entry.works_run)) {
|
|
373
|
+
throw new Error("Learning global and change status projections disagree for " + change);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
for (const change of archived) {
|
|
377
|
+
const path = join(stateRoot, "archive", change.slice(0, 7), change, ".status.json");
|
|
378
|
+
if (!(await pathExists(path)))
|
|
379
|
+
throw new Error("indexed Learning archive is missing " + path);
|
|
380
|
+
validateLearningChangeStatus(await readObject(path, path), change, true);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
228
383
|
export async function migrateStructuredRuntime(stagedRoot, selectedWorkflowIds) {
|
|
229
384
|
const changes = [];
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
await
|
|
385
|
+
const handlers = {
|
|
386
|
+
learning: async () => validateLearningState(stagedRoot),
|
|
387
|
+
person: async () => validatePersonState(stagedRoot),
|
|
388
|
+
specdev: async () => { changes.push(...await migrateSpecdevState(stagedRoot)); },
|
|
389
|
+
};
|
|
390
|
+
for (const workflowId of selectedWorkflowIds)
|
|
391
|
+
await handlers[workflowId]?.();
|
|
234
392
|
return changes;
|
|
235
393
|
}
|
|
236
394
|
//# sourceMappingURL=structured.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured.js","sourceRoot":"","sources":["../../src/structured.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structured.js","sourceRoot":"","sources":["../../src/structured.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQxC,MAAM,WAAW,GAAG,uDAAuD,CAAC;AAE5E,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,KAAa;IACnD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,KAAmB;QACrB,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,QAAgB;IACvD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAiB,EAAE,QAAoB;IAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5D,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QAC1B,gBAAgB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,KAAK;QACpE,WAAW,EAAE,cAAc,EAAE,UAAU;KACxC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAElH,MAAM,WAAW,GAAG,eAAe,CACjC,cAAc,CAAC,yBAAyB,IAAI,cAAc,CAAC,YAAY,EACvE,eAAe,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAC/D,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE;YACL,cAAc,EAAE,CAAC;YACjB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,QAAQ,CAAC,oBAAoB;YACjF,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;YACxE,GAAG,EAAE;gBACH,cAAc,EAAE,OAAO,QAAQ,CAAC,cAAc,KAAK,QAAQ,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI;oBAC7F,CAAC,CAAC,QAAQ,CAAC,cAAc;oBACzB,CAAC,CAAC,UAAU,CAAC,cAAc,IAAI,IAAI;aACtC;YACD,SAAS,EAAE;gBACT,yBAAyB,EAAE,WAAW;gBACtC,wBAAwB,EAAE,eAAe,CACvC,cAAc,CAAC,wBAAwB,EACvC,eAAe,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAC9D;gBACD,0BAA0B,EAAE,OAAO,cAAc,CAAC,0BAA0B,KAAK,SAAS;oBACxF,CAAC,CAAC,cAAc,CAAC,0BAA0B;oBAC3C,CAAC,CAAC,gBAAgB,CAAC,0BAA0B;gBAC/C,iBAAiB,EAAE,OAAO,cAAc,CAAC,iBAAiB,KAAK,QAAQ;oBACrE,CAAC,CAAC,cAAc,CAAC,iBAAiB;oBAClC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB;aACvC;YACD,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY;YAC7G,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ;SAC9F;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAkB;IACtD,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC5F,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QACpG,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,CAAC,2BAA2B,EAAE,0BAA0B,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,GAAG,GAAG,6BAA6B,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,0BAA0B,KAAK,SAAS,IAAI,OAAO,SAAS,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QACjH,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAoB,EAAE,WAA8B;IACjF,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,6CAA6C,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,eAAe,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvH,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,IAAI,OAAO,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEnC,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACjD,CAAC,CAAC,QAAQ,CAAC,UAAU;QACrB,CAAC,CAAC,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,IAAI,GAAe,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,cAAc,EAAE,CAAC;QACjB,QAAQ,EAAE,eAAe;QACzB,MAAM;QACN,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;QACtF,UAAU,EAAE,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;QAC/E,UAAU,EAAE,GAAG;QACf,YAAY,EAAE,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;QACtF,QAAQ,EAAE,MAAM,KAAK,UAAU;QAC/B,YAAY,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,uCAAuC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,IAAI;QACzH,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QACnE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACzE,SAAS,EAAE,EAAE;KACd,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEb,MAAM,QAAQ,GAAe,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/D,GAAG,IAAI;QACP,cAAc,EAAE,CAAC;QACjB,YAAY,EAAE,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,IAAI,IAAI;QAC3G,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QAC7E,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;QACpH,uBAAuB,EAAE;YACvB,qBAAqB,EAAE,aAAa,CAAC,+BAA+B,CAAC;YACrE,2BAA2B,EAAE,aAAa,CAAC,gDAAgD,CAAC;YAC5F,cAAc,EAAE,aAAa,CAAC,oCAAoC,CAAC;SACpE;QACD,UAAU,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;KAC/E,CAAC,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,EAAE,GAAG,QAAQ,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,QAAgB;IACrD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,CAAC;IAClH,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,IAAI,GAAG,IAAI;aACR,OAAO,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;aACzD,OAAO,CAAC,2CAA2C,EAAE,kCAAkC,QAAQ,EAAE,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa,EAAE,MAAc,EAAE,OAA2B;IACtG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO;IAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;IAC5E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzJ,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,gBAAgB,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;QACvD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAClI,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACtH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACvI,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;YAChD,cAAc,EAAE,CAAC;YACjB,QAAQ,EAAE,SAAS;YACnB,MAAM;YACN,QAAQ;SACT,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,+CAA+C,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;QAC5E,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,OAAO,GAAsD;QACjE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7G,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KACvH,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACtG,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,sCAAsC,EAAE,OAAO,CAAC,CAAC;QAC/H,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;QAC9D,IAAI,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,gBAAgB,CAAC,YAAY,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;QACjH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAAE,OAAO;IAC5C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACjG,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,KAAa;IACvD,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,qCAAqC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,KAAa;IACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1K,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,wCAAwC,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAiB,EAAE,OAAiB,EAAE,KAAa;IAC1E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,KAAa;IACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACpH,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,8BAA8B,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAiB,EAAE,MAAc,EAAE,QAAiB;IACxF,eAAe,CAAC,KAAK,EAAE;QACrB,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO;QACxE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY;QACjF,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU;KACrE,EAAE,wBAAwB,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,wBAAwB,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACzG,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1J,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACjG,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACnJ,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,8BAA8B,CAAC,CAAC;IACvE,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;IAClE,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,eAAe,CAAC,OAAO,EAAE;QACvB,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,4BAA4B,EAAE,iBAAiB;QAClF,yBAAyB,EAAE,UAAU,EAAE,gBAAgB;KACxD,EAAE,kBAAkB,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QACnH,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,0BAA0B,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC5G,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,mBAAmB,CAAC,OAAO,CAAC,uBAAuB,EAAE,0CAA0C,CAAC,CAAC;IACjG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,mHAAmH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACrK,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,KAAK,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,YAAY,KAAK,oBAAoB,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,IACE,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ;YAChE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,GAAG,EAAE;YACvD,OAAO,CAAC,0BAA0B,KAAK,IAAI,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI;YAC/E,OAAO,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EACzE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC7G,CAAC;SAAM,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,YAAY,GAAG,wCAAwC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,SAAS,CAAC;QACnG,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;YACvI,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC,YAAY,KAAK,UAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAAE,OAAO;IAC5C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAAC;IAC7E,eAAe,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACjG,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtI,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,gBAAgB,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QACxD,eAAe,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACnH,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACnI,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACnJ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,8BAA8B,CAAC,CAAC;QACvE,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACvH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACvI,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,IAAI,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACrL,MAAM,IAAI,KAAK,CAAC,6DAA6D,GAAG,MAAM,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACpF,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,IAAI,CAAC,CAAC;QAC9F,4BAA4B,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,UAAkB,EAAE,mBAA6B;IAC9F,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAwC;QACpD,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB,CAAC,UAAU,CAAC;QACvD,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC;QACnD,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACjF,CAAC;IACF,KAAK,MAAM,UAAU,IAAI,mBAAmB;QAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;IAC7E,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@namewta/speculo",
|
|
3
|
-
"version": "0.8.
|
|
4
|
-
"description": "Workflow-packaged
|
|
3
|
+
"version": "0.8.6",
|
|
4
|
+
"description": "Workflow-packaged AI collaboration assets with state-safe refresh tooling.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"speculo": "./dist/src/cli.js"
|
|
@@ -15,12 +15,13 @@
|
|
|
15
15
|
## 读取顺序
|
|
16
16
|
|
|
17
17
|
1. 读取 `workspace.json`,以当前打开项目为 `project_root` 解析公共 roots。
|
|
18
|
-
2. 从 `../workflows/<workflow>/INDEX.md`
|
|
19
|
-
3.
|
|
20
|
-
4.
|
|
21
|
-
5.
|
|
22
|
-
6.
|
|
23
|
-
7.
|
|
18
|
+
2. 从 `../workflows/<workflow>/INDEX.md` 发现 workflow并按需读取其中声明的永久知识;这一步不读取 Work 条目或运行状态。
|
|
19
|
+
3. 用户明确激活 workflow 或 work 后,读取 INDEX 指向的 workflow 根 `README.md`,从其中的 Work 条目选择目标并读取具体入口文件。
|
|
20
|
+
4. 按激活合同读取 `<Path>{roots.state}/{workflow}/status.json</Path>`,再读取 `<Path>{roots.state}/{workflow}/changes/{change}/.status.json</Path>` 和当前 work 产物。
|
|
21
|
+
5. 历史 change 只从 `<Path>{roots.state}/{workflow}/archive/{YYYY-MM}/{change}/</Path>` 读取。
|
|
22
|
+
6. Command 报告位于 `<Path>{roots.state}/commands/{command}/*.md</Path>`,command state 位于 `<Path>{roots.state}/commands/{command}/state.json</Path>`。
|
|
23
|
+
7. 独立 Skill 的运行记录位于 `<Path>{roots.state}/skills/{skill}/</Path>`,根级 `state.json` 仅在该 Skill 声明持久 checkpoint 时读取。
|
|
24
|
+
8. 首次 docs-sync 确认后读取 `<Path>{roots.state}/{workflow}/docs-sync.json</Path>`;它分列该 workflow 的项目文档和私有 state 更新范围。
|
|
24
25
|
|
|
25
26
|
## 写入边界
|
|
26
27
|
|
|
@@ -559,7 +559,6 @@ SpecDev 通过分层工件避免同一决策被多个模型反复重做。每个
|
|
|
559
559
|
| Evidence | `specdev/changes/{change}/evidence/T-NN.md` | 实际修改、命令、结果、验收映射、偏差、风险和提交引用 | 新的产品或架构决策 |
|
|
560
560
|
| 代码审查 | `specdev/changes/{change}/reviews/CR-###.md` | 固定点、标准轴和规范轴 finding | 实施修复或合并两轴排名 |
|
|
561
561
|
| 原型记录 | `specdev/changes/{change}/prototypes/{prototype-id}/record.md` | 一个问题、分支、资产、答案、promotion 和清理 | 生产实现或多个问题的计划 |
|
|
562
|
-
| 零基础新生图解 | `specdev/changes/{change}/eli_index.md` 与 `specdev/changes/{change}/<number>_<topic>.md` | 面向刚上大一、没有专业背景读者的 Markdown 与 ASCII 图解;索引按序号持续追加 | 产品决定、架构决定或实现授权 |
|
|
563
562
|
| Stakeholder 问卷 | `specdev/changes/{change}/questionnaires/{slug}.md` | 第三方原始回答和恢复条件 | 未经转录确认的产品/架构决定 |
|
|
564
563
|
| Wayfinder 地图 | `specdev/changes/{change}/wayfinder-map.md` | 目的地、说明、已关闭决策索引、战争迷雾和范围之外 | 开放 Ticket 正文或答案详情 |
|
|
565
564
|
| Wayfinder Ticket | `specdev/changes/{change}/investigation/{investigation-id}.md` | 一个可精确陈述的问题、类型、阻塞和关闭状态 | 解决方案评论或交付目标 |
|
|
@@ -377,7 +377,6 @@ SpecDev 通过分层工件避免同一决策被多个模型反复重做。每个
|
|
|
377
377
|
| Evidence | `specdev/changes/{change}/evidence/T-NN.md` | 实际修改、命令、结果、验收映射、偏差、风险和提交引用 | 新的产品或架构决策 |
|
|
378
378
|
| 代码审查 | `specdev/changes/{change}/reviews/CR-###.md` | 固定点、标准轴和规范轴 finding | 实施修复或合并两轴排名 |
|
|
379
379
|
| 原型记录 | `specdev/changes/{change}/prototypes/{prototype-id}/record.md` | 一个问题、分支、资产、答案、promotion 和清理 | 生产实现或多个问题的计划 |
|
|
380
|
-
| 零基础新生图解 | `specdev/changes/{change}/eli_index.md` 与 `specdev/changes/{change}/<number>_<topic>.md` | 面向刚上大一、没有专业背景读者的 Markdown 与 ASCII 图解;索引按序号持续追加 | 产品决定、架构决定或实现授权 |
|
|
381
380
|
| Stakeholder 问卷 | `specdev/changes/{change}/questionnaires/{slug}.md` | 第三方原始回答和恢复条件 | 未经转录确认的产品/架构决定 |
|
|
382
381
|
| Wayfinder 地图 | `specdev/changes/{change}/wayfinder-map.md` | 目的地、说明、已关闭决策索引、战争迷雾和范围之外 | 开放 Ticket 正文或答案详情 |
|
|
383
382
|
| Wayfinder Ticket | `specdev/changes/{change}/investigation/{investigation-id}.md` | 一个可精确陈述的问题、类型、阻塞和关闭状态 | 解决方案评论或交付目标 |
|
|
@@ -368,7 +368,6 @@ SpecDev 通过分层工件避免同一决策被多个模型反复重做。每个
|
|
|
368
368
|
| Evidence | `specdev/changes/{change}/evidence/T-NN.md` | 实际修改、命令、结果、验收映射、偏差、风险和提交引用 | 新的产品或架构决策 |
|
|
369
369
|
| 代码审查 | `specdev/changes/{change}/reviews/CR-###.md` | 固定点、标准轴和规范轴 finding | 实施修复或合并两轴排名 |
|
|
370
370
|
| 原型记录 | `specdev/changes/{change}/prototypes/{prototype-id}/record.md` | 一个问题、分支、资产、答案、promotion 和清理 | 生产实现或多个问题的计划 |
|
|
371
|
-
| 零基础新生图解 | `specdev/changes/{change}/eli_index.md` 与 `specdev/changes/{change}/<number>_<topic>.md` | 面向刚上大一、没有专业背景读者的 Markdown 与 ASCII 图解;索引按序号持续追加 | 产品决定、架构决定或实现授权 |
|
|
372
371
|
| Stakeholder 问卷 | `specdev/changes/{change}/questionnaires/{slug}.md` | 第三方原始回答和恢复条件 | 未经转录确认的产品/架构决定 |
|
|
373
372
|
| Wayfinder 地图 | `specdev/changes/{change}/wayfinder-map.md` | 目的地、说明、已关闭决策索引、战争迷雾和范围之外 | 开放 Ticket 正文或答案详情 |
|
|
374
373
|
| Wayfinder Ticket | `specdev/changes/{change}/investigation/{investigation-id}.md` | 一个可精确陈述的问题、类型、阻塞和关闭状态 | 解决方案评论或交付目标 |
|
|
@@ -655,7 +655,6 @@ SpecDev 通过分层工件避免同一决策被多个模型反复重做。每个
|
|
|
655
655
|
| Evidence | `specdev/changes/{change}/evidence/T-NN.md` | 实际修改、命令、结果、验收映射、偏差、风险和提交引用 | 新的产品或架构决策 |
|
|
656
656
|
| 代码审查 | `specdev/changes/{change}/reviews/CR-###.md` | 固定点、标准轴和规范轴 finding | 实施修复或合并两轴排名 |
|
|
657
657
|
| 原型记录 | `specdev/changes/{change}/prototypes/{prototype-id}/record.md` | 一个问题、分支、资产、答案、promotion 和清理 | 生产实现或多个问题的计划 |
|
|
658
|
-
| 零基础新生图解 | `specdev/changes/{change}/eli_index.md` 与 `specdev/changes/{change}/<number>_<topic>.md` | 面向刚上大一、没有专业背景读者的 Markdown 与 ASCII 图解;索引按序号持续追加 | 产品决定、架构决定或实现授权 |
|
|
659
658
|
| Stakeholder 问卷 | `specdev/changes/{change}/questionnaires/{slug}.md` | 第三方原始回答和恢复条件 | 未经转录确认的产品/架构决定 |
|
|
660
659
|
| Wayfinder 地图 | `specdev/changes/{change}/wayfinder-map.md` | 目的地、说明、已关闭决策索引、战争迷雾和范围之外 | 开放 Ticket 正文或答案详情 |
|
|
661
660
|
| Wayfinder Ticket | `specdev/changes/{change}/investigation/{investigation-id}.md` | 一个可精确陈述的问题、类型、阻塞和关闭状态 | 解决方案评论或交付目标 |
|
|
@@ -10,8 +10,8 @@ keywords: [status, 状态, active, blocked]
|
|
|
10
10
|
|
|
11
11
|
1. 读取 `<Path>{roots.state}/workspace.json</Path>`,解析 `<Path>{roots.config}</Path>`(不存在时以默认值静默降级),获取全部已安装 workflow/state 根。
|
|
12
12
|
2. 扫描 `<Path>{roots.workflows}/{workflow}/INDEX.md</Path>`,得到已安装 workflow ids。
|
|
13
|
-
3. 对每个 id 读取 `<Path>{roots.state}/{workflow}/status.json</Path
|
|
14
|
-
4. 报告 active 数量、各 change 的 `current_work`、去重后的 `works_run`、change
|
|
15
|
-
5. 报告 archived
|
|
13
|
+
3. 对每个 id 读取 `<Path>{roots.state}/{workflow}/status.json</Path>`,按该 workflow 自己的 schema 解释,不把 SpecDev 字段套到其他 workflow。SpecDev schema v5 和 Learning schema v1 均按 `active` 与 `archived` 分块;对 active 再读取 `changes/<change>/.status.json`,对 archived 按 `archive/YYYY-MM/<change>/.status.json` 定位。
|
|
14
|
+
4. 报告 active 数量、各 change 的 `current_work`、去重后的 `works_run`、change 业务状态、最近更新时间和停滞 change(`.status.json` 超过 14 天未更新)。SpecDev 额外报告调查 claims 与 triage `external_action`;Learning 额外报告 domain/topic、即时/保持测验、`next_review_at`、阻塞性误解和 `ready_to_archive`,不把 `awaiting_retention` 误报为可归档。
|
|
15
|
+
5. 报告 archived 数量和名称;Learning 同时读取 `context/REVIEW.md` 汇总已到期、即将到期和 `needs_refresh` 知识。预期归档目录或归档 `.status.json` 缺失、active/archived 重叠、重复名称、未知 schema、断开的 review 知识链接和 malformed 目录均列为异常,不自动修复。
|
|
16
16
|
6. 报告没有 workflow 资产的孤立状态根,以及缺少状态根的已安装 workflow;不自动修复。
|
|
17
17
|
7. 用户要求持久化时写入 `<Path>{roots.state}/commands/status/{date}-workspace-{topic}[-NN].md</Path>`,并在报告中列出本次扫描的 workflow 选择。
|
|
@@ -5,7 +5,8 @@ name: Archive and Consolidate
|
|
|
5
5
|
description: >
|
|
6
6
|
对 workflow 下已完成 change 执行归档移动,从归档 change 中提取知识并合并到 workflow
|
|
7
7
|
INDEX.md 声明的 state 知识 store(adr/、context/ 等),
|
|
8
|
-
|
|
8
|
+
然后审计并清理过时/重复知识;也支持由调用方拥有知识策略的 mechanical-only 模式。
|
|
9
|
+
默认 dry-run 返回可确认计划,所有破坏性动作需用户显式确认后执行。
|
|
9
10
|
触发场景:workflow 中存在 change_status: completed 的 change 需要归档收尾、知识沉淀、清理过时内容时。
|
|
10
11
|
---
|
|
11
12
|
|
|
@@ -26,8 +27,11 @@ description: >
|
|
|
26
27
|
- 目标 workflow `INDEX.md` 中的运行时根声明和持久化约定表。
|
|
27
28
|
- 模式:`dry-run`(默认)| `confirmed`。
|
|
28
29
|
- 范围:`archive-single`(单个 change)| `archive-batch`(全部已完成 change)。
|
|
30
|
+
- 知识策略:`generic`(默认)| `mechanical-only`(调用方拥有知识策略,本 Skill 只处理移动与状态)。
|
|
29
31
|
- 可选指定 change 名称(`archive-single` 模式)。
|
|
30
32
|
|
|
33
|
+
`mechanical-only` 必须由调用方提供已经确认的知识处理结果或明确说明无知识写入。本 Skill 不读取、判断、创建、合并、改写或清理知识 store;它仍执行全部路径包含、目标冲突、状态一致性、dry-run/confirmed 和重读验证门。
|
|
34
|
+
|
|
31
35
|
## 流程
|
|
32
36
|
|
|
33
37
|
### Step 0:路径解析(内建,不依赖外部 skill)
|
|
@@ -48,7 +52,7 @@ description: >
|
|
|
48
52
|
7. 对每个已解析路径执行真实路径包含检查;符号链接逃逸或不存在的静态引用阻塞。
|
|
49
53
|
8. 读取 `status.json`;扫描 changes 时校验 change 名称格式 `^\d{4}-\d{2}-\d{2}-[a-z0-9]+(-[a-z0-9]+)*$`,无日期前缀的历史 change 标注遗留但不阻塞。
|
|
50
54
|
|
|
51
|
-
### Step 1:扫描知识 stores
|
|
55
|
+
### Step 1:扫描知识 stores(仅 `generic`)
|
|
52
56
|
|
|
53
57
|
1. 从 `INDEX.md` 持久化约定表中提取所有知识型 store(名称含"永久"或在 `adr/`、`context/` 等公认目录下)。
|
|
54
58
|
2. 验证 store 路径在 state 根下真实存在。若不存在:
|
|
@@ -76,7 +80,7 @@ description: >
|
|
|
76
80
|
3. **批量原子性**:所有预检通过 → ready;任一失败 → 整批 blocked,报告具体阻塞原因。
|
|
77
81
|
4. 生成计划表格(使用 `assets/archive-plan-template.md` 格式)。
|
|
78
82
|
|
|
79
|
-
### Step 4
|
|
83
|
+
### Step 4:生成知识合并计划(仅 `generic`)
|
|
80
84
|
|
|
81
85
|
读取 `references/consolidation-rules.md` 和 `references/knowledge-graduation.md`,执行:
|
|
82
86
|
|
|
@@ -91,7 +95,7 @@ description: >
|
|
|
91
95
|
4. 对冲突项标记 `needs-confirmation`,提供双方版本和建议。
|
|
92
96
|
5. 生成合并计划表格(使用 `assets/consolidation-plan-template.md` 格式)。
|
|
93
97
|
|
|
94
|
-
### Step 5
|
|
98
|
+
### Step 5:生成清理候选清单(仅 `generic`)
|
|
95
99
|
|
|
96
100
|
读取 `references/cleanup-rules.md`,执行:
|
|
97
101
|
|
|
@@ -111,6 +115,7 @@ description: >
|
|
|
111
115
|
1. 组合三部分计划为一个完整报告:
|
|
112
116
|
- **阶段一**:归档移动 + 知识合并写入
|
|
113
117
|
- **阶段二**:清理候选
|
|
118
|
+
- `mechanical-only` 只展示归档移动和状态变化,并注明知识动作由调用方策略拥有
|
|
114
119
|
2. 报告内容:每项含来源、目标、动作、理由、风险等级。
|
|
115
120
|
3. 显式标注所有破坏性动作(移动、删除、改写)。
|
|
116
121
|
4. 报告摘要:待归档 change 数、待合并知识项数、待清理候选数、需确认项数。
|
|
@@ -121,20 +126,20 @@ description: >
|
|
|
121
126
|
|
|
122
127
|
**仅在 mode=`confirmed` 且用户显式批准后执行:**
|
|
123
128
|
|
|
124
|
-
1. **重新验证**:路径包含检查、预检重跑(确认计划生成后无新 change
|
|
129
|
+
1. **重新验证**:路径包含检查、预检重跑(确认计划生成后无新 change 插入);`generic` 额外重验 store 存在性。
|
|
125
130
|
2. **执行顺序**:
|
|
126
|
-
a. **归档移动**(原子批处理):创建月目录 → 移动 change 目录 → 更新归档 `.status.json` → 从全局 `status.json` 的 `active` 移除对应条目,将 change 名称去重追加到 `archived
|
|
127
|
-
b.
|
|
128
|
-
c.
|
|
131
|
+
a. **归档移动**(原子批处理):创建月目录 → 移动 change 目录 → 按调用方 workflow 的状态 schema 更新归档 `.status.json` → 从全局 `status.json` 的 `active` 移除对应条目,将 change 名称去重追加到 `archived`。不得写入调用方 schema 未声明的 SpecDev 专属字段
|
|
132
|
+
b. **知识合并写入**(仅 `generic`):创建 lazy stores(如 `adr/`、`context/` 不存在则创建)→ 写入新 ADR → 合并术语到 `context/` → 标记 superseded ADR
|
|
133
|
+
c. **清理**(仅 `generic`):删除已批准文件 → 合并已批准内容 → 改写已批准条目
|
|
129
134
|
3. 任一步骤失败:报告已完成/失败清单,停止,不猜测成功。
|
|
130
135
|
|
|
131
136
|
### Step 8:重新验证所有状态变更
|
|
132
137
|
|
|
133
138
|
1. 重读源路径:归档 change 必须不存在于 `changes_root/`。
|
|
134
|
-
2. 重读目标路径:归档 change 完整存在于 `archive_root/<YYYY-MM
|
|
139
|
+
2. 重读目标路径:归档 change 完整存在于 `archive_root/<YYYY-MM>/`;`generic` 同时验证知识 store 内容正确。
|
|
135
140
|
3. 重读 `status.json`:`active` 数组不包含已归档 change,`archived` 数组已追加其名称,二者没有重叠。
|
|
136
|
-
4. 重读归档 `.status.json
|
|
137
|
-
5. 对照知识 stores
|
|
141
|
+
4. 重读归档 `.status.json`:按调用方 workflow schema 验证归档终态和 archive path;只有 schema 声明 `archived` 布尔字段时才要求 `archived: true`。
|
|
142
|
+
5. `generic` 对照知识 stores:新内容存在,无不期望的修改;`mechanical-only` 验证知识路径未被本 Skill 修改。
|
|
138
143
|
6. 任一不一致 → `blocked`,报告具体差异;全部通过 → `verified`。
|
|
139
144
|
7. 验证结果作为补遗追加到原 dry-run 报告。
|
|
140
145
|
|
|
@@ -144,6 +149,7 @@ description: >
|
|
|
144
149
|
{
|
|
145
150
|
mode: "dry-run" | "executed",
|
|
146
151
|
scope: "archive-single" | "archive-batch",
|
|
152
|
+
knowledge_policy: "generic" | "mechanical-only",
|
|
147
153
|
path_context: { project_root, workflow_root, state_root, changes_root, archive_root, commands_root },
|
|
148
154
|
knowledge_stores: [{ name, path, exists }],
|
|
149
155
|
archive_plan: [{ source, target, status: "ready" | "blocked" | "moved" | "failed", notes }],
|
|
@@ -156,10 +162,9 @@ description: >
|
|
|
156
162
|
|
|
157
163
|
## 完成标准
|
|
158
164
|
|
|
159
|
-
-
|
|
165
|
+
- `generic` 已扫描所有 `INDEX.md` 声明的知识 stores;`mechanical-only` 未读取或修改知识内容。
|
|
160
166
|
- 每个归档 change:源不存在、目标完整、status.json 已更新。
|
|
161
|
-
-
|
|
162
|
-
- 每个清理动作:路径包含已验证、无跨 workflow 修改。
|
|
167
|
+
- `generic` 的每次合并写入已解决或标记冲突,目标 store 在 state 根内;每个清理动作完成路径包含验证且无跨 workflow 修改。
|
|
163
168
|
- 未确认或 mode=`dry-run` 时无文件系统修改。
|
|
164
169
|
- 执行后重读验证通过或不一致已记录。
|
|
165
170
|
- 本 skill 未自行选择报告路径或自行持久化。
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: learning/archive-and-consolidate
|
|
3
|
+
type: workflow-entry
|
|
4
|
+
workflow: learning
|
|
5
|
+
name: 归档并合并已掌握知识
|
|
6
|
+
description: 校验即时与保持证据,先 dry-run 再经确认移动 completed change,并按领域合并当前 Markdown 知识与索引。
|
|
7
|
+
keywords: [归档, consolidation, promotion, context, index, mastered]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 归档并合并已掌握知识
|
|
11
|
+
|
|
12
|
+
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path>`,再执行本入口。
|
|
13
|
+
|
|
14
|
+
A 是唯一归档 owner,也是除 R 的受限复习状态更新外唯一永久知识 writer。解释完成、练习完成或即时通过都不能绕过本入口。
|
|
15
|
+
|
|
16
|
+
## 流程
|
|
17
|
+
|
|
18
|
+
1. 选择用户指定或唯一 completed change,读取两级状态、plan、sources、lessons、practice、全部 quiz 和 log。状态不是 completed、双门未 passed、关键目标/迁移未通过、存在 blocker/misconception 或 evidence 缺失时停止。
|
|
19
|
+
2. 调用 `<Path>{roots.workflows}/learning/common/skills/knowledge-promotion/SKILL.md</Path>` 的 `plan-promotion`。逐 OBJ 映射到 `create | merge | supersede | archive-only`,生成 `promotion-plan.md` 和 `promotion-staging/` 候选 Markdown,并列出知识叶子、领域索引、总索引、REVIEW、移动和状态变化;此时不写 context。
|
|
20
|
+
3. 运行 validator 的 `--stage pre-archive --change {change}`;展示完整 dry-run。没有用户对本次精确计划的明确确认时不修改 context、不移动 change。
|
|
21
|
+
4. 确认后重新读取并验证 source/target 无 drift。先在 `promotion-rollback/` 保存所有目标的原内容或“不存在”记录,再按 promotion skill 的 `apply-promotion` 自叶到根原子写入 staging 候选;冲突、目标漂移或部分写入失败时按 rollback manifest 恢复并重读。
|
|
22
|
+
5. 调用共享归档能力的 `mechanical-only` 模式移动 change 到 `<Path>{roots.state}/learning/archive/YYYY-MM/{change}/</Path>`,按 Learning schema 更新归档 `.status.json` 和全局 active/archived。共享能力不得自行判断知识毕业或写 SpecDev 专属字段。移动或状态更新失败时恢复 context 快照;只有移动和状态验证完成后事务才成功。
|
|
23
|
+
6. 重读所有知识、索引、源/目标和两级状态;运行 `--stage complete --change {change}`。任何不一致标记 blocked,并报告已经完成的精确动作。
|
|
24
|
+
|
|
25
|
+
## 完成标准
|
|
26
|
+
|
|
27
|
+
- 双重掌握门和证据均由实际工件证明;
|
|
28
|
+
- dry-run 与 confirmed 严格分离;
|
|
29
|
+
- 同一 Knowledge ID 只有一个当前文件,索引链接真实;
|
|
30
|
+
- change 源不存在、归档目标完整、active/archived 无重叠;
|
|
31
|
+
- archive 只读,context 只含当前已掌握内容;
|
|
32
|
+
- 没有未经批准的移动、覆盖、删除或外部副作用。
|
|
33
|
+
|
|
34
|
+
## 子文件引用
|
|
35
|
+
|
|
36
|
+
- Promotion 模板:`<Path>{roots.workflows}/learning/A-archive-and-consolidate/promotion-plan-template.md</Path>`
|
|
37
|
+
- Learning promotion:`<Path>{roots.workflows}/learning/common/skills/knowledge-promotion/SKILL.md</Path>`
|
|
38
|
+
- 机械归档:`<Path>{roots.skills}/archive-and-consolidate/SKILL.md</Path>`
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Promotion Plan
|
|
2
|
+
|
|
3
|
+
## Mastery Gate
|
|
4
|
+
|
|
5
|
+
| 检查 | 证据 | 结论 |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| 即时测验 | `<证据路径>` | `<passed/blocked>` |
|
|
8
|
+
| 保持测验 | `<证据路径>` | `<passed/blocked>` |
|
|
9
|
+
| 关键目标 | `<result sections>` | `<passed/blocked>` |
|
|
10
|
+
| 迁移与误区 | `<result sections>` | `<passed/blocked>` |
|
|
11
|
+
|
|
12
|
+
## 知识动作
|
|
13
|
+
|
|
14
|
+
| Knowledge ID | 来源 OBJ | 目标文件 | 动作 | 当前冲突 | 摘要 |
|
|
15
|
+
| --- | --- | --- | --- | --- | --- |
|
|
16
|
+
|
|
17
|
+
## 索引动作
|
|
18
|
+
|
|
19
|
+
## 归档移动
|
|
20
|
+
|
|
21
|
+
## 风险与回滚证据
|
|
22
|
+
|
|
23
|
+
## 用户确认
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: learning/assess-and-plan
|
|
3
|
+
type: workflow-entry
|
|
4
|
+
workflow: learning
|
|
5
|
+
name: 评估背景并制定学习计划
|
|
6
|
+
description: 从学习请求和已有 Markdown 知识中建立未教学基线,锁定目标、前置知识、来源和掌握证据。
|
|
7
|
+
keywords: [评估, baseline, 学习计划, objectives, 背景知识]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 评估背景并制定学习计划
|
|
11
|
+
|
|
12
|
+
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/learning/README.md</Path>`,再执行本入口。
|
|
13
|
+
|
|
14
|
+
本 Work 拥有 intake、baseline、learning plan 和初始 sources。它不开始正式教学,也不根据用户自信度直接宣称掌握。
|
|
15
|
+
|
|
16
|
+
## 流程
|
|
17
|
+
|
|
18
|
+
1. 确认 I 已完成。解析主题、领域 id 和 `project | product | subject | language | skill` 类型;缺少真正影响目标的选择时一次只问一个问题。
|
|
19
|
+
2. 选择或创建 change。新建时使用 `<Path>{roots.workflows}/learning/A-assess-and-plan/change-status-template.json</Path>`,原子登记两级状态并设置 `current_work=learning/assess-and-plan`。
|
|
20
|
+
3. 写 `intake.md`,记录学习对象、期望能做什么、范围外内容、可用时间、来源范围和安全限制。
|
|
21
|
+
4. 按 `<Path>{roots.workflows}/learning/common/rules/knowledge-organization.md</Path>` 读取 context 总目录、目标领域 INDEX 和精确相关知识;不要遍历无关领域。索引失效时用 `rg` 定位并在计划中记录异常。
|
|
22
|
+
5. 在任何 lesson 前进行短基线:让学习者回忆、解释或完成一个小任务;原样保存回答到 `baseline.md`。不能仅用“是否听说过”判断水平。
|
|
23
|
+
6. 从模板写 `learning-plan.md`:明确记录“5 岁的小孩”“大一新生”等教学表达基线;目标使用稳定 `OBJ-NN`,标记关键目标、前置知识、证据类型、深度 `quick | standard | deep`、课程顺序和双重掌握门。目标实质变化必须保留 revision 记录。
|
|
24
|
+
7. 写 `sources.md`,区分项目事实、权威外部来源、类比和未知。外部 URL 在使用时验证;无法验证的结论不进入关键目标答案。
|
|
25
|
+
8. 运行 Learning validator。成功后把 phase 设置为 `assessment`,完成本 Work,并路由 E-eli5;失败时保留 blocker 和当前 Work。
|
|
26
|
+
|
|
27
|
+
## 完成标准
|
|
28
|
+
|
|
29
|
+
- baseline 先于 lesson,且包含学习者原始证据;
|
|
30
|
+
- 教学表达基线使用直接标签,不使用含糊的“初学者”替代;
|
|
31
|
+
- 每个目标有关键性、证据和完成判断;
|
|
32
|
+
- 已有知识来自精确 Markdown 文件,不来自索引摘要推测;
|
|
33
|
+
- rubric 没有因基线表现而降低目标;
|
|
34
|
+
- 所有输入、状态和下一路由可恢复。
|
|
35
|
+
|
|
36
|
+
## 子文件引用
|
|
37
|
+
|
|
38
|
+
- Change seed:`<Path>{roots.workflows}/learning/A-assess-and-plan/change-status-template.json</Path>`
|
|
39
|
+
- 计划模板:`<Path>{roots.workflows}/learning/A-assess-and-plan/learning-plan-template.md</Path>`
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"artifact": "learning-change-status",
|
|
4
|
+
"change": "{change}",
|
|
5
|
+
"domain": "{domain}",
|
|
6
|
+
"domain_type": "{domain_type}",
|
|
7
|
+
"topic": "{topic}",
|
|
8
|
+
"change_status": "active",
|
|
9
|
+
"phase": "intake",
|
|
10
|
+
"current_work": "learning/assess-and-plan",
|
|
11
|
+
"works_run": [],
|
|
12
|
+
"created_at": "{timestamp}",
|
|
13
|
+
"updated_at": "{timestamp}",
|
|
14
|
+
"completed_at": null,
|
|
15
|
+
"archived_at": null,
|
|
16
|
+
"archive_path": null,
|
|
17
|
+
"mastery": {
|
|
18
|
+
"immediate": "not_attempted",
|
|
19
|
+
"retention": "not_attempted",
|
|
20
|
+
"score": null,
|
|
21
|
+
"critical_objectives_passed": false,
|
|
22
|
+
"transfer_passed": false,
|
|
23
|
+
"blocking_misconceptions": [],
|
|
24
|
+
"evidence": [],
|
|
25
|
+
"next_review_at": null
|
|
26
|
+
},
|
|
27
|
+
"blockers": []
|
|
28
|
+
}
|