@hassangameryt/freeflow 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/.codex-plugin/plugin.json +4 -5
  4. package/README.md +39 -55
  5. package/capabilities/cognitive-routing/SKILL.md +288 -130
  6. package/command-surface.json +0 -24
  7. package/hooks/freeflow-runtime-context.mjs +42 -477
  8. package/hooks/hooks.json +1 -26
  9. package/hooks/tests/check-runtime-context-hook.sh +108 -319
  10. package/package.json +4 -2
  11. package/pi-extension/dist/cognitive-routing/commands.js +3 -3
  12. package/pi-extension/dist/cognitive-routing/config.js +16 -20
  13. package/pi-extension/dist/cognitive-routing/controller.js +478 -48
  14. package/pi-extension/dist/cognitive-routing/history.js +12 -0
  15. package/pi-extension/dist/cognitive-routing/host.js +74 -12
  16. package/pi-extension/dist/cognitive-routing/pi-routing-session.js +414 -0
  17. package/pi-extension/dist/cognitive-routing/pi-session-control.js +320 -0
  18. package/pi-extension/dist/cognitive-routing/tool.js +1 -0
  19. package/pi-extension/dist/cognitive-routing/types.js +1 -1
  20. package/pi-extension/dist/index.js +236 -219
  21. package/pi-extension/dist/runtime/runtime-context.js +126 -286
  22. package/pi-extension/dist/settings/settings-ui.js +52 -336
  23. package/pi-extension/src/cognitive-routing/commands.ts +15 -5
  24. package/pi-extension/src/cognitive-routing/config.ts +16 -20
  25. package/pi-extension/src/cognitive-routing/controller.ts +561 -51
  26. package/pi-extension/src/cognitive-routing/history.ts +12 -0
  27. package/pi-extension/src/cognitive-routing/host.ts +110 -16
  28. package/pi-extension/src/cognitive-routing/pi-routing-session.ts +538 -0
  29. package/pi-extension/src/cognitive-routing/pi-session-control.ts +444 -0
  30. package/pi-extension/src/cognitive-routing/tool.ts +1 -0
  31. package/pi-extension/src/cognitive-routing/types.ts +1 -1
  32. package/pi-extension/src/index.ts +249 -239
  33. package/pi-extension/src/runtime/runtime-context.ts +129 -305
  34. package/pi-extension/src/settings/settings-ui.ts +53 -371
  35. package/pi-extension/tests/cognitive-routing/commands.test.js +1 -1
  36. package/pi-extension/tests/cognitive-routing/controller.test.js +69 -40
  37. package/pi-extension/tests/cognitive-routing/extension-lifecycle.test.js +128 -57
  38. package/pi-extension/tests/cognitive-routing/pi-normal-lifecycle.test.js +434 -0
  39. package/pi-extension/tests/cognitive-routing/pi-session-control.test.js +174 -0
  40. package/pi-extension/tests/cognitive-routing/pi-session-history.test.js +91 -0
  41. package/pi-extension/tests/cognitive-routing/profile-resolution.test.js +47 -4
  42. package/pi-extension/tests/integration/mode-free-core.test.js +218 -0
  43. package/pi-extension/tests/integration/pi-extension.test.js +430 -2478
  44. package/pi-extension/tests/integration/prompt-architecture.test.js +124 -79
  45. package/pi-extension/tests/integration/unaffected-regressions.test.js +411 -0
  46. package/runtime/prompts/cognitive-routing.md +5 -4
  47. package/runtime/prompts/conversation-history.md +1 -1
  48. package/runtime/prompts/core.md +77 -6
  49. package/runtime/prompts/interaction-contract.md +6 -2
  50. package/skills/action-selection/SKILL.md +93 -44
  51. package/skills/action-selection/references/trajectory-stalls.md +71 -0
  52. package/skills/bypass/SKILL.md +109 -39
  53. package/skills/commit-work/SKILL.md +94 -55
  54. package/skills/commit-work/references/git-state-edges.md +94 -0
  55. package/skills/commit-work/references/simple-push.md +92 -0
  56. package/skills/commit-work/references/staging-decisions.md +79 -46
  57. package/skills/decision-gate/SKILL.md +80 -22
  58. package/skills/design-for-depth/SKILL.md +208 -43
  59. package/skills/design-for-depth/references/design-pressure-signals.md +108 -240
  60. package/skills/design-for-depth/references/interface-design-loop.md +77 -97
  61. package/skills/design-for-depth/references/module-and-dependency-design.md +147 -0
  62. package/skills/design-for-depth/references/software-design-philosophy.md +127 -173
  63. package/skills/design-for-depth/references/state-and-failure-boundaries.md +136 -0
  64. package/skills/diagnose-failure/SKILL.md +198 -52
  65. package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +19 -5
  66. package/skills/diagnose-failure/references/flaky-and-performance-diagnosis.md +13 -5
  67. package/skills/discuss/SKILL.md +118 -76
  68. package/skills/discuss/references/discussion-continuity.md +84 -32
  69. package/skills/evaluate-skill/SKILL.md +166 -52
  70. package/skills/evaluate-skill/references/evaluation-definition-schema.md +2 -2
  71. package/skills/evaluate-skill/references/evaluation-design.md +56 -30
  72. package/skills/evaluate-skill/references/execution-and-evidence.md +1 -1
  73. package/skills/evaluate-skill/references/review-and-revision.md +62 -21
  74. package/skills/execute-work/SKILL.md +98 -59
  75. package/skills/execute-work/references/code-practices.md +4 -4
  76. package/skills/execute-work/references/execute-work-edges.md +42 -22
  77. package/skills/review-artifact/SKILL.md +132 -71
  78. package/skills/review-artifact/references/adjudicate-artifact-review.md +101 -0
  79. package/skills/review-artifact/references/independent-artifact-reviewer-contract.md +52 -41
  80. package/skills/review-work/SKILL.md +115 -72
  81. package/skills/review-work/references/adjudicate-work-review.md +97 -0
  82. package/skills/review-work/references/independent-work-reviewer-contract.md +40 -35
  83. package/skills/review-work/references/security-risk-lens.md +17 -15
  84. package/skills/setup-freeflow/SKILL.md +14 -17
  85. package/skills/setup-freeflow/references/activation-contract.md +24 -30
  86. package/skills/setup-freeflow/references/host-setup.md +6 -7
  87. package/skills/simplify-code/SKILL.md +97 -39
  88. package/skills/simplify-code/references/simplification-patterns.md +1 -1
  89. package/skills/tdd/SKILL.md +108 -41
  90. package/skills/tdd/references/test-design.md +1 -1
  91. package/skills/track-work/SKILL.md +133 -300
  92. package/skills/track-work/references/working-record-format.md +515 -0
  93. package/skills/track-work/scripts/lib/document.mjs +713 -0
  94. package/skills/track-work/scripts/lib/format.mjs +166 -0
  95. package/skills/track-work/scripts/lib/store.mjs +233 -0
  96. package/skills/track-work/scripts/lib/transitions.mjs +790 -0
  97. package/skills/track-work/scripts/lib/views.mjs +27 -430
  98. package/skills/track-work/scripts/working-record.mjs +292 -98
  99. package/skills/verify-work/SKILL.md +46 -20
  100. package/skills/verify-work/references/browser-runtime-evidence.md +1 -1
  101. package/skills/verify-work/references/integration-evidence.md +1 -7
  102. package/skills/verify-work/references/performance-evidence.md +1 -1
  103. package/skills/workflow/SKILL.md +110 -80
  104. package/skills/workflow/references/domain-skill-composition.md +24 -18
  105. package/skills/write-skill/SKILL.md +218 -62
  106. package/skills/write-skill/references/activation-boundaries.md +63 -21
  107. package/skills/write-skill/references/agent-first-instructions.md +61 -27
  108. package/skills/write-skill/references/progressive-disclosure.md +91 -41
  109. package/skills/write-skill/references/skill-dependency-graphs.md +190 -0
  110. package/runtime/prompts/skills.md +0 -65
  111. package/skills/mode-contract/SKILL.md +0 -104
  112. package/skills/track-work/scripts/lib/codec.mjs +0 -570
  113. package/skills/track-work/scripts/lib/commands.mjs +0 -568
  114. package/skills/track-work/scripts/lib/contract.mjs +0 -303
  115. package/skills/track-work/scripts/lib/model.mjs +0 -506
  116. package/skills/track-work/scripts/lib/operations.mjs +0 -965
  117. package/skills/track-work/scripts/lib/record-store.mjs +0 -264
  118. package/skills/track-work/scripts/lib/result.mjs +0 -37
  119. package/skills/track-work/scripts/lib/rewrites.mjs +0 -740
  120. package/skills/track-work/scripts/lib/schema.mjs +0 -277
  121. package/skills/track-work/scripts/lib/source-inventory.mjs +0 -162
  122. package/skills/track-work/scripts/lib/workspace.mjs +0 -134
@@ -1,303 +0,0 @@
1
- export const CHECKPOINT_TYPES = new Set(["Independent review", "Local commit", "User decision", "Continuity"]);
2
- export const CHECKPOINT_RESULTS = new Set(["Completed", "Deferred", "Cancelled", "Replaced"]);
3
- export const DECISION_OPERATIONS = new Set(["add", "update", "remove", "retire", "supersede"]);
4
- export const PROPOSAL_OPERATIONS = new Set(["add", "update", "remove"]);
5
- export const NOTE_OPERATIONS = new Set(["add", "update", "remove"]);
6
- export const DECISION_CONTROLLED_FIELDS = new Set(["state", "supersedes", "supersededBy"]);
7
-
8
- export const DECISION_ID_PATTERN = /^D-\d{3,}$/;
9
- export const SLICE_ID_PATTERN = /^S-\d{3,}$/;
10
- export const ENTITY_ID_SUFFIX_PATTERN = /^\d{3,}$/;
11
- export const ENTITY_TITLE_PATTERN = /^(?<id>[A-Z]-\d{3,})\s+—\s+(?<title>.+)$/;
12
-
13
- export const CONTEXT_PATCH_FIELDS = {
14
- goal: "string",
15
- whatDefinesTask: "string",
16
- settled: "string",
17
- tentative: "string",
18
- open: "string",
19
- currentDirection: "string",
20
- boundaries: "string",
21
- };
22
-
23
- export const WORK_PATCH_FIELDS = {
24
- route: "string",
25
- currentSlice: "forbidden",
26
- blockers: "array",
27
- upcomingCheckpoints: "array",
28
- nextAction: "string",
29
- };
30
-
31
- export const PRECISE_STRING_FIELDS = new Set([
32
- "title",
33
- "type",
34
- "intendedResult",
35
- "expectedEvidence",
36
- "authoritySource",
37
- "reasonAndScope",
38
- "stopCondition",
39
- "startingState",
40
- "resumeWhen",
41
- "result",
42
- "reviewSummary",
43
- "taskEffect",
44
- "goal",
45
- "whatDefinesTask",
46
- "settled",
47
- "tentative",
48
- "open",
49
- "currentDirection",
50
- "boundaries",
51
- "route",
52
- "nextAction",
53
- "decision",
54
- "establishedBy",
55
- "rationale",
56
- "consequences",
57
- "revisitWhen",
58
- "supersedes",
59
- "supersededBy",
60
- "source",
61
- "body",
62
- "selectedBy",
63
- "condition",
64
- "judgment",
65
- "evidence",
66
- "effect",
67
- ]);
68
-
69
- export const PRECISE_LIST_FIELDS = new Set([
70
- "acceptedExtensions",
71
- "dependencies",
72
- "selectedCheckpoints",
73
- "blockerHistory",
74
- "pendingBoundaries",
75
- "pendingReviews",
76
- "reopenHistory",
77
- "evidence",
78
- "blockers",
79
- "upcomingCheckpoints",
80
- ]);
81
-
82
- export const PRECISE_FORBIDDEN_FIELDS = new Set(["id", "state", "supersedes", "supersededBy", "currentSlice"]);
83
-
84
- export const UPDATE_INPUT_KEYS = new Set([
85
- "edits",
86
- "currentContext",
87
- "currentWork",
88
- "currentSlice",
89
- "goal",
90
- "whatDefinesTask",
91
- "settled",
92
- "tentative",
93
- "open",
94
- "currentDirection",
95
- "boundaries",
96
- "route",
97
- "currentRoute",
98
- "nextAction",
99
- "nextUsefulAction",
100
- "blockers",
101
- "upcomingCheckpoints",
102
- "decision",
103
- "decisions",
104
- "proposal",
105
- "proposals",
106
- "note",
107
- "notes",
108
- "taskState",
109
- "taskStateAuthority",
110
- "authoritySource",
111
- "userDirection",
112
- "start",
113
- "close",
114
- "block",
115
- "resume",
116
- "expectedSha",
117
- "expectedSha256",
118
- "dryRun",
119
- ]);
120
-
121
- export const EDIT_MODE_INPUT_KEYS = new Set([
122
- "edits",
123
- "taskState",
124
- "taskStateAuthority",
125
- "authoritySource",
126
- "userDirection",
127
- "expectedSha",
128
- "expectedSha256",
129
- "dryRun",
130
- ]);
131
-
132
- export const SLICE_LIST_FIELDS = new Set([
133
- "acceptedExtensions",
134
- "dependencies",
135
- "selectedCheckpoints",
136
- "blockerHistory",
137
- "pendingBoundaries",
138
- "pendingReviews",
139
- "reopenHistory",
140
- "evidence",
141
- ]);
142
-
143
- const COMMON_COMMAND_INPUT_KEYS = ["expectedSha", "expectedSha256", "dryRun"];
144
- export const INIT_INPUT_KEYS = new Set([
145
- "taskName",
146
- "name",
147
- "displayName",
148
- "shortName",
149
- "slug",
150
- "goal",
151
- "whatDefinesTask",
152
- "definesTask",
153
- "settled",
154
- "currentUnderstanding",
155
- "tentative",
156
- "open",
157
- "openQuestions",
158
- "currentDirection",
159
- "boundaries",
160
- "currentRoute",
161
- "route",
162
- "nextAction",
163
- "nextUsefulAction",
164
- "blockers",
165
- "upcomingCheckpoints",
166
- "taskState",
167
- "currentSlice",
168
- "authoritySource",
169
- "dryRun",
170
- ]);
171
-
172
- export const VIEW_INPUT_KEYS = new Set(["view", "entity", "section", "limit"]);
173
- export const UNLOCK_INPUT_KEYS = new Set(["scope", "authoritySource", "lockPid", "lockCreatedAt"]);
174
-
175
- export const COMMAND_INPUT_KEYS = {
176
- start: new Set([
177
- ...COMMON_COMMAND_INPUT_KEYS,
178
- "proposalTitle",
179
- "proposal",
180
- "id",
181
- "name",
182
- "title",
183
- "type",
184
- "intendedResult",
185
- "result",
186
- "authoritySource",
187
- "authority",
188
- "userDirection",
189
- "reasonAndScope",
190
- "scope",
191
- "expectedEvidence",
192
- "stopCondition",
193
- "startingState",
194
- "acceptedExtensions",
195
- "dependencies",
196
- "selectedCheckpoints",
197
- "blocker",
198
- "resumeWhen",
199
- "blockerHistory",
200
- "pendingBoundaries",
201
- "pendingReviews",
202
- "reopenHistory",
203
- "currentResult",
204
- "resultSummary",
205
- "evidence",
206
- "reviewSummary",
207
- "taskEffect",
208
- "route",
209
- "currentRoute",
210
- "nextAction",
211
- "nextUsefulAction",
212
- ]),
213
- block: new Set([
214
- ...COMMON_COMMAND_INPUT_KEYS,
215
- "sliceId",
216
- "id",
217
- "currentSliceId",
218
- "blocker",
219
- "reason",
220
- "what",
221
- "why",
222
- "required",
223
- "requiredResolution",
224
- "resumeWhen",
225
- ]),
226
- resume: new Set([
227
- ...COMMON_COMMAND_INPUT_KEYS,
228
- "sliceId",
229
- "id",
230
- "currentSliceId",
231
- "resolutionSource",
232
- "resolvedBy",
233
- "evidence",
234
- ]),
235
- reopen: new Set([
236
- ...COMMON_COMMAND_INPUT_KEYS,
237
- "sliceId",
238
- "id",
239
- "currentSliceId",
240
- "authoritySource",
241
- "authority",
242
- "userDirection",
243
- "reopenReason",
244
- "reason",
245
- "reasonAndScope",
246
- "scopeChange",
247
- "scope",
248
- "expectedEvidence",
249
- "stopCondition",
250
- "startingState",
251
- "selectedCheckpoints",
252
- "currentResult",
253
- "evidence",
254
- "reviewSummary",
255
- "taskEffect",
256
- "pendingBoundaries",
257
- "pendingReviews",
258
- "currentRoute",
259
- "route",
260
- "nextAction",
261
- "nextUsefulAction",
262
- ]),
263
- close: new Set([
264
- ...COMMON_COMMAND_INPUT_KEYS,
265
- "sliceId",
266
- "id",
267
- "currentSliceId",
268
- "finalState",
269
- "state",
270
- "authoritySource",
271
- "parkAuthority",
272
- "abandonmentAuthority",
273
- "outcome",
274
- "result",
275
- "evidence",
276
- "reviewSummary",
277
- "taskEffect",
278
- "residualEffects",
279
- "abandonmentReason",
280
- "reason",
281
- "currentContext",
282
- "currentRoute",
283
- "route",
284
- "nextAction",
285
- "nextUsefulAction",
286
- "taskState",
287
- "taskStateAuthority",
288
- ]),
289
- };
290
-
291
- export function isSingleLineTitle(value) {
292
- return typeof value === "string" && value === value.trim() && value.length > 0 && !/[\r\n]/.test(value);
293
- }
294
-
295
- export function hasDecisionContent(decision) {
296
- return [decision.decision, decision.rationale, decision.consequences].some(
297
- (value) => typeof value === "string" && value.trim(),
298
- );
299
- }
300
-
301
- export function isSingleLineList(value) {
302
- return Array.isArray(value) && value.every((item) => typeof item === "string" && !/[\r\n]/.test(item));
303
- }