yaaw-se 0.3.11 → 0.3.12

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.
Files changed (137) hide show
  1. package/dist/installer/migrations/index.d.ts +2 -2
  2. package/dist/installer/migrations/index.js +2 -2
  3. package/dist/installer/migrations/index.js.map +1 -1
  4. package/dist/installer/migrations/project/index.js +2 -1
  5. package/dist/installer/migrations/project/index.js.map +1 -1
  6. package/dist/installer/migrations/project/v2-to-v3.d.ts +2 -0
  7. package/dist/installer/migrations/project/v2-to-v3.js +56 -0
  8. package/dist/installer/migrations/project/v2-to-v3.js.map +1 -0
  9. package/dist/installer/plan.js +98 -268
  10. package/dist/installer/plan.js.map +1 -1
  11. package/dist/installer/project-state.js +3 -13
  12. package/dist/installer/project-state.js.map +1 -1
  13. package/dist/installer/status.js +67 -231
  14. package/dist/installer/status.js.map +1 -1
  15. package/dist/installer/transaction.js +58 -109
  16. package/dist/installer/transaction.js.map +1 -1
  17. package/dist/installer/types.d.ts +5 -2
  18. package/dist/installer/verify.js +27 -27
  19. package/dist/installer/verify.js.map +1 -1
  20. package/dist/payload/bootstrap/claude-code.md +6 -6
  21. package/dist/payload/bootstrap/cline.md +8 -8
  22. package/dist/payload/bootstrap/codex.md +7 -7
  23. package/dist/payload/bootstrap/gemini-cli.md +6 -6
  24. package/dist/payload/payload-files.json +94 -419
  25. package/dist/payload/payload.json +1 -1
  26. package/dist/payload/skills/yaaw-create-spec/SKILL.md +2 -6
  27. package/dist/payload/skills/yaaw-create-ticket/SKILL.md +2 -6
  28. package/dist/payload/skills/yaaw-create-tickets/SKILL.md +2 -6
  29. package/dist/payload/skills/yaaw-implement/SKILL.md +2 -6
  30. package/dist/payload/skills/yaaw-orchestrator/SKILL.md +2 -3
  31. package/dist/payload/skills/yaaw-planner/SKILL.md +2 -6
  32. package/dist/payload/skills/yaaw-planning-review/SKILL.md +2 -6
  33. package/dist/payload/skills/yaaw-prd/SKILL.md +2 -6
  34. package/dist/payload/skills/yaaw-refine-prd/SKILL.md +2 -6
  35. package/dist/payload/skills/yaaw-repair/SKILL.md +2 -6
  36. package/dist/payload/skills/yaaw-review/SKILL.md +2 -6
  37. package/dist/payload/skills/yaaw-revise-prd/SKILL.md +2 -6
  38. package/dist/payload/yaaw-core/registries/skills.json +38 -0
  39. package/dist/payload/yaaw-core/system/SYSTEM.md +117 -0
  40. package/dist/payload/yaaw-core/system/engine/repository-identity.mjs +24 -0
  41. package/dist/payload/yaaw-core/system/engine/routing.mjs +149 -0
  42. package/dist/payload/yaaw-core/system/engine/runtime.mjs +57 -0
  43. package/dist/payload/yaaw-core/system/kernel.yaml +142 -0
  44. package/dist/payload/yaaw-core/system/modules/changeability.md +27 -0
  45. package/dist/payload/yaaw-core/system/roles/implementer.md +16 -12
  46. package/dist/payload/yaaw-core/system/roles/orchestrator.md +24 -14
  47. package/dist/payload/yaaw-core/system/roles/planner.md +37 -11
  48. package/dist/payload/yaaw-core/system/roles/prd.md +26 -18
  49. package/dist/payload/yaaw-core/system/roles/reviewer.md +16 -15
  50. package/dist/payload/yaaw-core/system/schemas/handoff.schema.json +24 -161
  51. package/dist/payload/yaaw-core/system/schemas/intent.schema.json +11 -64
  52. package/dist/payload/yaaw-core/system/schemas/observed-state.schema.json +12 -162
  53. package/dist/payload/yaaw-core/system/schemas/repository-identity.schema.json +12 -39
  54. package/dist/payload/yaaw-core/system/templates/evidence.json +1 -18
  55. package/dist/payload/yaaw-core/system/templates/handoff.json +11 -27
  56. package/dist/payload/yaaw-core/system/templates/intent.json +2 -2
  57. package/dist/payload/yaaw-core/system/templates/observed-state.json +5 -28
  58. package/dist/payload/yaaw-core/system/templates/review.md +2 -2
  59. package/package.json +1 -1
  60. package/dist/payload/yaaw-core/system/core/artifact-model.md +0 -43
  61. package/dist/payload/yaaw-core/system/core/authority.md +0 -21
  62. package/dist/payload/yaaw-core/system/core/context-loading.md +0 -56
  63. package/dist/payload/yaaw-core/system/core/dispatch-execution.md +0 -28
  64. package/dist/payload/yaaw-core/system/core/execution-context.md +0 -61
  65. package/dist/payload/yaaw-core/system/core/framework-integrity.md +0 -60
  66. package/dist/payload/yaaw-core/system/core/invalidation.md +0 -13
  67. package/dist/payload/yaaw-core/system/core/io-contract.md +0 -23
  68. package/dist/payload/yaaw-core/system/core/lifecycle.md +0 -23
  69. package/dist/payload/yaaw-core/system/core/recovery.md +0 -17
  70. package/dist/payload/yaaw-core/system/core/routing.md +0 -21
  71. package/dist/payload/yaaw-core/system/core/state-model.md +0 -14
  72. package/dist/payload/yaaw-core/system/core/transitions.md +0 -36
  73. package/dist/payload/yaaw-core/system/expertise/changeability/MODULE.md +0 -58
  74. package/dist/payload/yaaw-core/system/registries/artifacts.json +0 -99
  75. package/dist/payload/yaaw-core/system/registries/execution-policy.json +0 -169
  76. package/dist/payload/yaaw-core/system/registries/expertise.json +0 -47
  77. package/dist/payload/yaaw-core/system/registries/handoff-policy.json +0 -67
  78. package/dist/payload/yaaw-core/system/registries/paths.json +0 -18
  79. package/dist/payload/yaaw-core/system/registries/reconciliation-policy.json +0 -18
  80. package/dist/payload/yaaw-core/system/registries/role-io.json +0 -30
  81. package/dist/payload/yaaw-core/system/registries/routing-policy.json +0 -74
  82. package/dist/payload/yaaw-core/system/registries/skills.json +0 -110
  83. package/dist/payload/yaaw-core/system/registries/transitions.json +0 -178
  84. package/dist/payload/yaaw-core/system/registries/workflows.json +0 -38
  85. package/dist/payload/yaaw-core/system/rules/artifact-writing.md +0 -10
  86. package/dist/payload/yaaw-core/system/rules/assumption-challenge.md +0 -109
  87. package/dist/payload/yaaw-core/system/rules/changeability.md +0 -38
  88. package/dist/payload/yaaw-core/system/rules/durable-memory.md +0 -9
  89. package/dist/payload/yaaw-core/system/rules/question-format.md +0 -20
  90. package/dist/payload/yaaw-core/system/rules/recovery-evidence.md +0 -9
  91. package/dist/payload/yaaw-core/system/rules/repository-identity.md +0 -42
  92. package/dist/payload/yaaw-core/system/rules/research-admission.md +0 -30
  93. package/dist/payload/yaaw-core/system/rules/review-independence.md +0 -11
  94. package/dist/payload/yaaw-core/system/rules/ticket-sizing.md +0 -9
  95. package/dist/payload/yaaw-core/system/schemas/project-state.schema.json +0 -12
  96. package/dist/payload/yaaw-core/system/templates/project-state.json +0 -13
  97. package/dist/payload/yaaw-core/system/tools/orchestration-engine.mjs +0 -210
  98. package/dist/payload/yaaw-core/system/tools/orchestration-runtime.mjs +0 -46
  99. package/dist/payload/yaaw-core/system/tools/repository-identity.mjs +0 -92
  100. package/dist/payload/yaaw-core/system/workflows/implementation/implement-ticket.md +0 -18
  101. package/dist/payload/yaaw-core/system/workflows/implementation/repair-ticket.md +0 -17
  102. package/dist/payload/yaaw-core/system/workflows/implementation/select-ticket.md +0 -17
  103. package/dist/payload/yaaw-core/system/workflows/implementation/verify-ticket.md +0 -19
  104. package/dist/payload/yaaw-core/system/workflows/orchestration/determine-next-action.md +0 -24
  105. package/dist/payload/yaaw-core/system/workflows/orchestration/dispatch.md +0 -35
  106. package/dist/payload/yaaw-core/system/workflows/orchestration/inspect-state.md +0 -19
  107. package/dist/payload/yaaw-core/system/workflows/orchestration/reconcile-state.md +0 -19
  108. package/dist/payload/yaaw-core/system/workflows/orchestration/recover-interruption.md +0 -32
  109. package/dist/payload/yaaw-core/system/workflows/orchestration/route.md +0 -27
  110. package/dist/payload/yaaw-core/system/workflows/planning/create-spec.md +0 -21
  111. package/dist/payload/yaaw-core/system/workflows/planning/create-tickets.md +0 -50
  112. package/dist/payload/yaaw-core/system/workflows/planning/decision-frontier.md +0 -33
  113. package/dist/payload/yaaw-core/system/workflows/planning/discover.md +0 -21
  114. package/dist/payload/yaaw-core/system/workflows/planning/question-round.md +0 -22
  115. package/dist/payload/yaaw-core/system/workflows/planning/readiness-review.md +0 -33
  116. package/dist/payload/yaaw-core/system/workflows/planning/record-decisions.md +0 -19
  117. package/dist/payload/yaaw-core/system/workflows/planning/replan.md +0 -24
  118. package/dist/payload/yaaw-core/system/workflows/planning/research.md +0 -20
  119. package/dist/payload/yaaw-core/system/workflows/planning/route.md +0 -28
  120. package/dist/payload/yaaw-core/system/workflows/planning/write-understanding.md +0 -26
  121. package/dist/payload/yaaw-core/system/workflows/prd/create.md +0 -22
  122. package/dist/payload/yaaw-core/system/workflows/prd/question-round.md +0 -20
  123. package/dist/payload/yaaw-core/system/workflows/prd/readiness.md +0 -22
  124. package/dist/payload/yaaw-core/system/workflows/prd/record-decisions.md +0 -20
  125. package/dist/payload/yaaw-core/system/workflows/prd/refine.md +0 -15
  126. package/dist/payload/yaaw-core/system/workflows/prd/revise.md +0 -18
  127. package/dist/payload/yaaw-core/system/workflows/prd/route.md +0 -23
  128. package/dist/payload/yaaw-core/system/workflows/review/classify-findings.md +0 -17
  129. package/dist/payload/yaaw-core/system/workflows/review/inspect-change.md +0 -20
  130. package/dist/payload/yaaw-core/system/workflows/review/record-review.md +0 -19
  131. package/dist/payload/yaaw-core/system/workflows/review/review-ticket.md +0 -24
  132. /package/dist/payload/yaaw-core/system/{tools → engine}/frontmatter.mjs +0 -0
  133. /package/dist/payload/yaaw-core/system/{tools/framework-integrity.mjs → engine/integrity.mjs} +0 -0
  134. /package/dist/payload/yaaw-core/system/{expertise/frontend-design/MODULE.md → modules/frontend-design.md} +0 -0
  135. /package/dist/payload/yaaw-core/system/{expertise/python/MODULE.md → modules/python.md} +0 -0
  136. /package/dist/payload/yaaw-core/system/{expertise/security/MODULE.md → modules/security.md} +0 -0
  137. /package/dist/payload/yaaw-core/system/{expertise/testing/MODULE.md → modules/testing.md} +0 -0
@@ -11,7 +11,7 @@ export interface Migration {
11
11
  describe(): string;
12
12
  plan(ctx: MigrationContext): Promise<InstallOperation[]>;
13
13
  }
14
- export declare const CURRENT_SYSTEM_SCHEMA = 3;
14
+ export declare const CURRENT_SYSTEM_SCHEMA = 4;
15
15
  export declare const CURRENT_INSTALLATION_SCHEMA = 3;
16
- export declare const CURRENT_PROJECT_SCHEMA = 2;
16
+ export declare const CURRENT_PROJECT_SCHEMA = 3;
17
17
  export declare function migrationPath(migrations: Migration[], from: number, to: number): Migration[];
@@ -1,6 +1,6 @@
1
- export const CURRENT_SYSTEM_SCHEMA = 3;
1
+ export const CURRENT_SYSTEM_SCHEMA = 4;
2
2
  export const CURRENT_INSTALLATION_SCHEMA = 3;
3
- export const CURRENT_PROJECT_SCHEMA = 2;
3
+ export const CURRENT_PROJECT_SCHEMA = 3;
4
4
  export function migrationPath(migrations, from, to) {
5
5
  if (from === to)
6
6
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/installer/migrations/index.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,UAAU,aAAa,CAAC,UAAuB,EAAE,IAAY,EAAE,EAAU;IAC7E,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;IACtF,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,GAAG,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,WAAW,EAAE,EAAE,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,cAAc,EAAE,EAAE,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/installer/migrations/index.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,UAAU,aAAa,CAAC,UAAuB,EAAE,IAAY,EAAE,EAAU;IAC7E,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;IACtF,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,GAAG,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,WAAW,EAAE,EAAE,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,cAAc,EAAE,EAAE,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import { migrateProjectV1ToV2 } from "./v1-to-v2.js";
2
- export const projectMigrations = [migrateProjectV1ToV2];
2
+ import { v2ToV3 } from "./v2-to-v3.js";
3
+ export const projectMigrations = [migrateProjectV1ToV2, v2ToV3];
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/installer/migrations/project/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,CAAC,MAAM,iBAAiB,GAAgB,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/installer/migrations/project/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAgB,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Migration } from "../index.js";
2
+ export declare const v2ToV3: Migration;
@@ -0,0 +1,56 @@
1
+ import { access, readFile, readdir } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ const STATES = new Set(["DRAFT", "READY", "IN_PROGRESS", "REVIEW_REQUIRED", "REPAIR_REQUIRED", "REPLAN_REQUIRED", "BLOCKED", "PASS", "CANCELLED"]);
4
+ async function exists(path) { try {
5
+ await access(path);
6
+ return true;
7
+ }
8
+ catch {
9
+ return false;
10
+ } }
11
+ function patchStatus(text, status) {
12
+ const lines = text.split(/\r?\n/);
13
+ if (lines[0]?.trim() !== "---")
14
+ throw new Error("ticket missing opening frontmatter");
15
+ const end = lines.slice(1).findIndex(line => line.trim() === "---");
16
+ if (end < 0)
17
+ throw new Error("ticket missing closing frontmatter");
18
+ const relative = lines.slice(1, end + 1).findIndex(line => /^status:\s*/.test(line));
19
+ if (relative < 0)
20
+ throw new Error("ticket missing lifecycle status");
21
+ lines[relative + 1] = `status: ${status}`;
22
+ return lines.join("\n");
23
+ }
24
+ export const v2ToV3 = {
25
+ from: 2,
26
+ to: 3,
27
+ describe: () => "Move ticket lifecycle authority from project/state.json into ticket frontmatter and make coordination state reconstructable.",
28
+ async plan(ctx) {
29
+ const project = join(ctx.projectRoot, ".yaaw-core", "project");
30
+ const statePath = join(project, "state.json");
31
+ const operations = [];
32
+ if (await exists(statePath)) {
33
+ const state = JSON.parse(await readFile(statePath, "utf8"));
34
+ const ledger = state?.tickets ?? {};
35
+ const ticketsDir = join(project, "tickets");
36
+ if (await exists(ticketsDir)) {
37
+ for (const name of (await readdir(ticketsDir)).filter(x => /^TASK-[0-9]+\.md$/.test(x)).sort()) {
38
+ const id = name.replace(/\.md$/, "");
39
+ const status = ledger[id];
40
+ if (!status || !STATES.has(status))
41
+ continue;
42
+ const path = join(ticketsDir, name);
43
+ const before = await readFile(path, "utf8");
44
+ const after = patchStatus(before, status);
45
+ if (after !== before)
46
+ operations.push({ type: "migrate-project-file", path, content: after, migration: "project-v2-to-v3-ticket-lifecycle" });
47
+ }
48
+ }
49
+ operations.push({ type: "remove-project-file-migration", path: statePath, migration: "project-v2-to-v3-remove-derived-ledger" });
50
+ }
51
+ for (const name of ["observed-state.json", "handoff.json", "intent.json", "dispatch-failures.json"])
52
+ operations.push({ type: "remove-runtime-file", path: join(ctx.projectRoot, ".yaaw-core", "runtime", name), owner: "migration:project-v2-to-v3" });
53
+ return operations;
54
+ }
55
+ };
56
+ //# sourceMappingURL=v2-to-v3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2-to-v3.js","sourceRoot":"","sources":["../../../../src/installer/migrations/project/v2-to-v3.ts"],"names":[],"mappings":"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"}