@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,4 +1,3 @@
1
- import type { CognitiveRoutingController } from "./controller.js";
2
1
  import type { CognitiveRoutingHistoryOptions, CognitiveRoutingHistoryResult } from "./history.js";
3
2
  import type { CognitiveRoutingProfileName } from "./types.js";
4
3
 
@@ -13,6 +12,17 @@ type ProfileCommandContext = {
13
12
  ) => CognitiveRoutingHistoryResult | Promise<CognitiveRoutingHistoryResult>;
14
13
  };
15
14
 
15
+ type CognitiveRoutingProfileController = {
16
+ history?: (
17
+ options: CognitiveRoutingHistoryOptions,
18
+ ) => CognitiveRoutingHistoryResult | Promise<CognitiveRoutingHistoryResult>;
19
+ setManualProfile(
20
+ profile: CognitiveRoutingProfileName,
21
+ mechanism?: string,
22
+ ): Promise<{ status: string; profile?: CognitiveRoutingProfileName; reason?: string }>;
23
+ setAutomaticControl(mechanism?: string): Promise<{ status: string; reason?: string }>;
24
+ };
25
+
16
26
  export function cognitiveRoutingProfileCompletions(prefix: string | undefined) {
17
27
  const query = prefix ?? "";
18
28
  return [...PROFILE_VALUES, ...HISTORY_VALUES]
@@ -22,7 +32,7 @@ export function cognitiveRoutingProfileCompletions(prefix: string | undefined) {
22
32
  label: value,
23
33
  description:
24
34
  value === "auto"
25
- ? "Release the manual hold without changing the model"
35
+ ? "Release the manual hold and use the Reasoning profile"
26
36
  : value === "history"
27
37
  ? "Show Cognitive Routing transition history"
28
38
  : value === "history active"
@@ -59,7 +69,7 @@ function formatHistory(result: CognitiveRoutingHistoryResult): string {
59
69
  export async function handleCognitiveRoutingProfileCommand(
60
70
  args: string | undefined,
61
71
  ctx: ProfileCommandContext,
62
- controller: CognitiveRoutingController | undefined,
72
+ controller: CognitiveRoutingProfileController | undefined,
63
73
  ): Promise<boolean> {
64
74
  const input = (args ?? "").trim().toLowerCase();
65
75
  const [action, ...rest] = input.split(/\s+/);
@@ -71,7 +81,7 @@ export async function handleCognitiveRoutingProfileCommand(
71
81
  const result = ctx.history
72
82
  ? await ctx.history(historyView)
73
83
  : controller?.history
74
- ? controller.history(historyView)
84
+ ? await controller.history(historyView)
75
85
  : undefined;
76
86
  if (result) {
77
87
  ctx.ui?.notify?.(formatHistory(result), "info");
@@ -102,7 +112,7 @@ export async function handleCognitiveRoutingProfileCommand(
102
112
  if (value === "auto") {
103
113
  const result = await controller.setAutomaticControl();
104
114
  if (result.status === "automatic") {
105
- ctx.ui?.notify?.("Cognitive Routing manual hold released; automatic control is active.", "info");
115
+ ctx.ui?.notify?.("Cognitive Routing manual hold released; automatic Reasoning control is active.", "info");
106
116
  } else {
107
117
  ctx.ui?.notify?.(`Cognitive Routing could not release the manual hold: ${result.reason}.`, "warning");
108
118
  }
@@ -267,29 +267,25 @@ export function resolveCognitiveRoutingConfig(
267
267
  if (repository.enabled !== undefined) enabledSource = "repository";
268
268
  if (personal.enabled !== undefined) enabledSource = "personal";
269
269
 
270
+ const sessionStartControl =
271
+ personal.sessionStart.control ?? repository.sessionStart.control ?? DEFAULT_COGNITIVE_ROUTING_SESSION_START.control;
272
+ const configuredSessionStartProfile =
273
+ personal.sessionStart.profile ?? repository.sessionStart.profile ?? DEFAULT_COGNITIVE_ROUTING_SESSION_START.profile;
270
274
  const sessionStart: CognitiveRoutingSessionStart = {
271
- control:
272
- personal.sessionStart.control ??
273
- repository.sessionStart.control ??
274
- DEFAULT_COGNITIVE_ROUTING_SESSION_START.control,
275
- profile:
276
- personal.sessionStart.profile ??
277
- repository.sessionStart.profile ??
278
- DEFAULT_COGNITIVE_ROUTING_SESSION_START.profile,
275
+ control: sessionStartControl,
276
+ profile: sessionStartControl === "automatic" ? "reasoning" : configuredSessionStartProfile,
279
277
  };
278
+ let sessionStartControlSource: CognitiveRoutingConfigSource = "default";
279
+ if (repository.sessionStart.control !== undefined) sessionStartControlSource = "repository";
280
+ if (personal.sessionStart.control !== undefined) sessionStartControlSource = "personal";
281
+ let sessionStartProfileSource: CognitiveRoutingConfigSource = "default";
282
+ if (sessionStartControl === "manual") {
283
+ if (repository.sessionStart.profile !== undefined) sessionStartProfileSource = "repository";
284
+ if (personal.sessionStart.profile !== undefined) sessionStartProfileSource = "personal";
285
+ }
280
286
  const sessionStartSources = {
281
- control:
282
- personal.sessionStart.control !== undefined
283
- ? ("personal" as const)
284
- : repository.sessionStart.control !== undefined
285
- ? ("repository" as const)
286
- : ("default" as const),
287
- profile:
288
- personal.sessionStart.profile !== undefined
289
- ? ("personal" as const)
290
- : repository.sessionStart.profile !== undefined
291
- ? ("repository" as const)
292
- : ("default" as const),
287
+ control: sessionStartControlSource,
288
+ profile: sessionStartProfileSource,
293
289
  };
294
290
  const error = repository.error ?? personal.error;
295
291