@hassangameryt/freeflow 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +3 -2
- package/.codex-plugin/plugin.json +5 -6
- package/.cursor-plugin/plugin.json +25 -0
- package/README.md +66 -56
- package/capabilities/cognitive-routing/SKILL.md +288 -130
- package/com.github.copilot/hooks/hooks.json +11 -0
- package/command-surface.json +0 -24
- package/gemini-extension.json +5 -0
- package/hooks/adapters/claude-session-start.mjs +16 -0
- package/hooks/adapters/codex-session-start.mjs +16 -0
- package/hooks/adapters/copilot-session-start.mjs +13 -0
- package/hooks/adapters/cursor-session-start.mjs +13 -0
- package/hooks/adapters/gemini-session-start.mjs +15 -0
- package/hooks/claude/hooks.json +18 -0
- package/hooks/codex/hooks.json +18 -0
- package/hooks/cursor/hooks.json +9 -0
- package/hooks/freeflow-runtime-context.mjs +3 -650
- package/hooks/hooks.json +4 -30
- package/hooks/shared/runtime-context.mjs +210 -0
- package/hooks/tests/check-host-adapters.test.mjs +82 -0
- package/hooks/tests/check-runtime-context-hook.sh +140 -320
- package/package.json +20 -4
- package/pi-extension/dist/cognitive-routing/commands.js +3 -3
- package/pi-extension/dist/cognitive-routing/config.js +16 -20
- package/pi-extension/dist/cognitive-routing/controller.js +478 -48
- package/pi-extension/dist/cognitive-routing/history.js +12 -0
- package/pi-extension/dist/cognitive-routing/host.js +74 -12
- package/pi-extension/dist/cognitive-routing/pi-routing-session.js +414 -0
- package/pi-extension/dist/cognitive-routing/pi-session-control.js +320 -0
- package/pi-extension/dist/cognitive-routing/tool.js +1 -0
- package/pi-extension/dist/cognitive-routing/types.js +1 -1
- package/pi-extension/dist/index.js +236 -219
- package/pi-extension/dist/runtime/runtime-context.js +126 -286
- package/pi-extension/dist/settings/settings-ui.js +52 -336
- package/pi-extension/src/cognitive-routing/commands.ts +15 -5
- package/pi-extension/src/cognitive-routing/config.ts +16 -20
- package/pi-extension/src/cognitive-routing/controller.ts +561 -51
- package/pi-extension/src/cognitive-routing/history.ts +12 -0
- package/pi-extension/src/cognitive-routing/host.ts +110 -16
- package/pi-extension/src/cognitive-routing/pi-routing-session.ts +538 -0
- package/pi-extension/src/cognitive-routing/pi-session-control.ts +444 -0
- package/pi-extension/src/cognitive-routing/tool.ts +1 -0
- package/pi-extension/src/cognitive-routing/types.ts +1 -1
- package/pi-extension/src/index.ts +249 -239
- package/pi-extension/src/runtime/runtime-context.ts +129 -305
- package/pi-extension/src/settings/settings-ui.ts +53 -371
- package/pi-extension/tests/cognitive-routing/commands.test.js +1 -1
- package/pi-extension/tests/cognitive-routing/controller.test.js +69 -40
- package/pi-extension/tests/cognitive-routing/extension-lifecycle.test.js +128 -57
- package/pi-extension/tests/cognitive-routing/pi-normal-lifecycle.test.js +434 -0
- package/pi-extension/tests/cognitive-routing/pi-session-control.test.js +174 -0
- package/pi-extension/tests/cognitive-routing/pi-session-history.test.js +91 -0
- package/pi-extension/tests/cognitive-routing/profile-resolution.test.js +47 -4
- package/pi-extension/tests/integration/mode-free-core.test.js +218 -0
- package/pi-extension/tests/integration/pi-extension.test.js +430 -2478
- package/pi-extension/tests/integration/prompt-architecture.test.js +124 -79
- package/pi-extension/tests/integration/unaffected-regressions.test.js +411 -0
- package/plugin.json +33 -0
- package/runtime/prompts/cognitive-routing.md +5 -4
- package/runtime/prompts/conversation-history.md +1 -1
- package/runtime/prompts/core.md +77 -6
- package/runtime/prompts/interaction-contract.md +6 -2
- package/skills/action-selection/SKILL.md +93 -44
- package/skills/action-selection/references/trajectory-stalls.md +71 -0
- package/skills/bypass/SKILL.md +109 -39
- package/skills/commit-work/SKILL.md +94 -55
- package/skills/commit-work/references/git-state-edges.md +94 -0
- package/skills/commit-work/references/simple-push.md +92 -0
- package/skills/commit-work/references/staging-decisions.md +79 -46
- package/skills/decision-gate/SKILL.md +80 -22
- package/skills/design-for-depth/SKILL.md +208 -43
- package/skills/design-for-depth/references/design-pressure-signals.md +108 -240
- package/skills/design-for-depth/references/interface-design-loop.md +77 -97
- package/skills/design-for-depth/references/module-and-dependency-design.md +147 -0
- package/skills/design-for-depth/references/software-design-philosophy.md +127 -173
- package/skills/design-for-depth/references/state-and-failure-boundaries.md +136 -0
- package/skills/diagnose-failure/SKILL.md +198 -52
- package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +19 -5
- package/skills/diagnose-failure/references/flaky-and-performance-diagnosis.md +13 -5
- package/skills/discuss/SKILL.md +118 -76
- package/skills/discuss/references/discussion-continuity.md +84 -32
- package/skills/evaluate-skill/SKILL.md +166 -52
- package/skills/evaluate-skill/references/evaluation-definition-schema.md +2 -2
- package/skills/evaluate-skill/references/evaluation-design.md +56 -30
- package/skills/evaluate-skill/references/execution-and-evidence.md +1 -1
- package/skills/evaluate-skill/references/review-and-revision.md +62 -21
- package/skills/execute-work/SKILL.md +98 -59
- package/skills/execute-work/references/code-practices.md +4 -4
- package/skills/execute-work/references/execute-work-edges.md +42 -22
- package/skills/review-artifact/SKILL.md +132 -71
- package/skills/review-artifact/references/adjudicate-artifact-review.md +101 -0
- package/skills/review-artifact/references/independent-artifact-reviewer-contract.md +52 -41
- package/skills/review-work/SKILL.md +115 -72
- package/skills/review-work/references/adjudicate-work-review.md +97 -0
- package/skills/review-work/references/independent-work-reviewer-contract.md +40 -35
- package/skills/review-work/references/security-risk-lens.md +17 -15
- package/skills/setup-freeflow/SKILL.md +14 -17
- package/skills/setup-freeflow/references/activation-contract.md +24 -30
- package/skills/setup-freeflow/references/host-setup.md +6 -7
- package/skills/simplify-code/SKILL.md +97 -39
- package/skills/simplify-code/references/simplification-patterns.md +1 -1
- package/skills/tdd/SKILL.md +108 -41
- package/skills/tdd/references/test-design.md +1 -1
- package/skills/track-work/SKILL.md +133 -300
- package/skills/track-work/references/working-record-format.md +515 -0
- package/skills/track-work/scripts/lib/document.mjs +713 -0
- package/skills/track-work/scripts/lib/format.mjs +166 -0
- package/skills/track-work/scripts/lib/store.mjs +233 -0
- package/skills/track-work/scripts/lib/transitions.mjs +790 -0
- package/skills/track-work/scripts/lib/views.mjs +27 -430
- package/skills/track-work/scripts/working-record.mjs +292 -98
- package/skills/verify-work/SKILL.md +46 -20
- package/skills/verify-work/references/browser-runtime-evidence.md +1 -1
- package/skills/verify-work/references/integration-evidence.md +1 -7
- package/skills/verify-work/references/performance-evidence.md +1 -1
- package/skills/workflow/SKILL.md +110 -80
- package/skills/workflow/references/domain-skill-composition.md +24 -18
- package/skills/write-skill/SKILL.md +218 -62
- package/skills/write-skill/references/activation-boundaries.md +63 -21
- package/skills/write-skill/references/agent-first-instructions.md +61 -27
- package/skills/write-skill/references/progressive-disclosure.md +91 -41
- package/skills/write-skill/references/skill-dependency-graphs.md +190 -0
- package/runtime/prompts/skills.md +0 -65
- package/skills/mode-contract/SKILL.md +0 -104
- package/skills/track-work/scripts/lib/codec.mjs +0 -570
- package/skills/track-work/scripts/lib/commands.mjs +0 -568
- package/skills/track-work/scripts/lib/contract.mjs +0 -303
- package/skills/track-work/scripts/lib/model.mjs +0 -506
- package/skills/track-work/scripts/lib/operations.mjs +0 -965
- package/skills/track-work/scripts/lib/record-store.mjs +0 -264
- package/skills/track-work/scripts/lib/result.mjs +0 -37
- package/skills/track-work/scripts/lib/rewrites.mjs +0 -740
- package/skills/track-work/scripts/lib/schema.mjs +0 -277
- package/skills/track-work/scripts/lib/source-inventory.mjs +0 -162
- 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
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|