@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.
Files changed (136) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +3 -2
  3. package/.codex-plugin/plugin.json +5 -6
  4. package/.cursor-plugin/plugin.json +25 -0
  5. package/README.md +66 -56
  6. package/capabilities/cognitive-routing/SKILL.md +288 -130
  7. package/com.github.copilot/hooks/hooks.json +11 -0
  8. package/command-surface.json +0 -24
  9. package/gemini-extension.json +5 -0
  10. package/hooks/adapters/claude-session-start.mjs +16 -0
  11. package/hooks/adapters/codex-session-start.mjs +16 -0
  12. package/hooks/adapters/copilot-session-start.mjs +13 -0
  13. package/hooks/adapters/cursor-session-start.mjs +13 -0
  14. package/hooks/adapters/gemini-session-start.mjs +15 -0
  15. package/hooks/claude/hooks.json +18 -0
  16. package/hooks/codex/hooks.json +18 -0
  17. package/hooks/cursor/hooks.json +9 -0
  18. package/hooks/freeflow-runtime-context.mjs +3 -650
  19. package/hooks/hooks.json +4 -30
  20. package/hooks/shared/runtime-context.mjs +210 -0
  21. package/hooks/tests/check-host-adapters.test.mjs +82 -0
  22. package/hooks/tests/check-runtime-context-hook.sh +140 -320
  23. package/package.json +20 -4
  24. package/pi-extension/dist/cognitive-routing/commands.js +3 -3
  25. package/pi-extension/dist/cognitive-routing/config.js +16 -20
  26. package/pi-extension/dist/cognitive-routing/controller.js +478 -48
  27. package/pi-extension/dist/cognitive-routing/history.js +12 -0
  28. package/pi-extension/dist/cognitive-routing/host.js +74 -12
  29. package/pi-extension/dist/cognitive-routing/pi-routing-session.js +414 -0
  30. package/pi-extension/dist/cognitive-routing/pi-session-control.js +320 -0
  31. package/pi-extension/dist/cognitive-routing/tool.js +1 -0
  32. package/pi-extension/dist/cognitive-routing/types.js +1 -1
  33. package/pi-extension/dist/index.js +236 -219
  34. package/pi-extension/dist/runtime/runtime-context.js +126 -286
  35. package/pi-extension/dist/settings/settings-ui.js +52 -336
  36. package/pi-extension/src/cognitive-routing/commands.ts +15 -5
  37. package/pi-extension/src/cognitive-routing/config.ts +16 -20
  38. package/pi-extension/src/cognitive-routing/controller.ts +561 -51
  39. package/pi-extension/src/cognitive-routing/history.ts +12 -0
  40. package/pi-extension/src/cognitive-routing/host.ts +110 -16
  41. package/pi-extension/src/cognitive-routing/pi-routing-session.ts +538 -0
  42. package/pi-extension/src/cognitive-routing/pi-session-control.ts +444 -0
  43. package/pi-extension/src/cognitive-routing/tool.ts +1 -0
  44. package/pi-extension/src/cognitive-routing/types.ts +1 -1
  45. package/pi-extension/src/index.ts +249 -239
  46. package/pi-extension/src/runtime/runtime-context.ts +129 -305
  47. package/pi-extension/src/settings/settings-ui.ts +53 -371
  48. package/pi-extension/tests/cognitive-routing/commands.test.js +1 -1
  49. package/pi-extension/tests/cognitive-routing/controller.test.js +69 -40
  50. package/pi-extension/tests/cognitive-routing/extension-lifecycle.test.js +128 -57
  51. package/pi-extension/tests/cognitive-routing/pi-normal-lifecycle.test.js +434 -0
  52. package/pi-extension/tests/cognitive-routing/pi-session-control.test.js +174 -0
  53. package/pi-extension/tests/cognitive-routing/pi-session-history.test.js +91 -0
  54. package/pi-extension/tests/cognitive-routing/profile-resolution.test.js +47 -4
  55. package/pi-extension/tests/integration/mode-free-core.test.js +218 -0
  56. package/pi-extension/tests/integration/pi-extension.test.js +430 -2478
  57. package/pi-extension/tests/integration/prompt-architecture.test.js +124 -79
  58. package/pi-extension/tests/integration/unaffected-regressions.test.js +411 -0
  59. package/plugin.json +33 -0
  60. package/runtime/prompts/cognitive-routing.md +5 -4
  61. package/runtime/prompts/conversation-history.md +1 -1
  62. package/runtime/prompts/core.md +77 -6
  63. package/runtime/prompts/interaction-contract.md +6 -2
  64. package/skills/action-selection/SKILL.md +93 -44
  65. package/skills/action-selection/references/trajectory-stalls.md +71 -0
  66. package/skills/bypass/SKILL.md +109 -39
  67. package/skills/commit-work/SKILL.md +94 -55
  68. package/skills/commit-work/references/git-state-edges.md +94 -0
  69. package/skills/commit-work/references/simple-push.md +92 -0
  70. package/skills/commit-work/references/staging-decisions.md +79 -46
  71. package/skills/decision-gate/SKILL.md +80 -22
  72. package/skills/design-for-depth/SKILL.md +208 -43
  73. package/skills/design-for-depth/references/design-pressure-signals.md +108 -240
  74. package/skills/design-for-depth/references/interface-design-loop.md +77 -97
  75. package/skills/design-for-depth/references/module-and-dependency-design.md +147 -0
  76. package/skills/design-for-depth/references/software-design-philosophy.md +127 -173
  77. package/skills/design-for-depth/references/state-and-failure-boundaries.md +136 -0
  78. package/skills/diagnose-failure/SKILL.md +198 -52
  79. package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +19 -5
  80. package/skills/diagnose-failure/references/flaky-and-performance-diagnosis.md +13 -5
  81. package/skills/discuss/SKILL.md +118 -76
  82. package/skills/discuss/references/discussion-continuity.md +84 -32
  83. package/skills/evaluate-skill/SKILL.md +166 -52
  84. package/skills/evaluate-skill/references/evaluation-definition-schema.md +2 -2
  85. package/skills/evaluate-skill/references/evaluation-design.md +56 -30
  86. package/skills/evaluate-skill/references/execution-and-evidence.md +1 -1
  87. package/skills/evaluate-skill/references/review-and-revision.md +62 -21
  88. package/skills/execute-work/SKILL.md +98 -59
  89. package/skills/execute-work/references/code-practices.md +4 -4
  90. package/skills/execute-work/references/execute-work-edges.md +42 -22
  91. package/skills/review-artifact/SKILL.md +132 -71
  92. package/skills/review-artifact/references/adjudicate-artifact-review.md +101 -0
  93. package/skills/review-artifact/references/independent-artifact-reviewer-contract.md +52 -41
  94. package/skills/review-work/SKILL.md +115 -72
  95. package/skills/review-work/references/adjudicate-work-review.md +97 -0
  96. package/skills/review-work/references/independent-work-reviewer-contract.md +40 -35
  97. package/skills/review-work/references/security-risk-lens.md +17 -15
  98. package/skills/setup-freeflow/SKILL.md +14 -17
  99. package/skills/setup-freeflow/references/activation-contract.md +24 -30
  100. package/skills/setup-freeflow/references/host-setup.md +6 -7
  101. package/skills/simplify-code/SKILL.md +97 -39
  102. package/skills/simplify-code/references/simplification-patterns.md +1 -1
  103. package/skills/tdd/SKILL.md +108 -41
  104. package/skills/tdd/references/test-design.md +1 -1
  105. package/skills/track-work/SKILL.md +133 -300
  106. package/skills/track-work/references/working-record-format.md +515 -0
  107. package/skills/track-work/scripts/lib/document.mjs +713 -0
  108. package/skills/track-work/scripts/lib/format.mjs +166 -0
  109. package/skills/track-work/scripts/lib/store.mjs +233 -0
  110. package/skills/track-work/scripts/lib/transitions.mjs +790 -0
  111. package/skills/track-work/scripts/lib/views.mjs +27 -430
  112. package/skills/track-work/scripts/working-record.mjs +292 -98
  113. package/skills/verify-work/SKILL.md +46 -20
  114. package/skills/verify-work/references/browser-runtime-evidence.md +1 -1
  115. package/skills/verify-work/references/integration-evidence.md +1 -7
  116. package/skills/verify-work/references/performance-evidence.md +1 -1
  117. package/skills/workflow/SKILL.md +110 -80
  118. package/skills/workflow/references/domain-skill-composition.md +24 -18
  119. package/skills/write-skill/SKILL.md +218 -62
  120. package/skills/write-skill/references/activation-boundaries.md +63 -21
  121. package/skills/write-skill/references/agent-first-instructions.md +61 -27
  122. package/skills/write-skill/references/progressive-disclosure.md +91 -41
  123. package/skills/write-skill/references/skill-dependency-graphs.md +190 -0
  124. package/runtime/prompts/skills.md +0 -65
  125. package/skills/mode-contract/SKILL.md +0 -104
  126. package/skills/track-work/scripts/lib/codec.mjs +0 -570
  127. package/skills/track-work/scripts/lib/commands.mjs +0 -568
  128. package/skills/track-work/scripts/lib/contract.mjs +0 -303
  129. package/skills/track-work/scripts/lib/model.mjs +0 -506
  130. package/skills/track-work/scripts/lib/operations.mjs +0 -965
  131. package/skills/track-work/scripts/lib/record-store.mjs +0 -264
  132. package/skills/track-work/scripts/lib/result.mjs +0 -37
  133. package/skills/track-work/scripts/lib/rewrites.mjs +0 -740
  134. package/skills/track-work/scripts/lib/schema.mjs +0 -277
  135. package/skills/track-work/scripts/lib/source-inventory.mjs +0 -162
  136. package/skills/track-work/scripts/lib/workspace.mjs +0 -134
@@ -1,91 +1,140 @@
1
1
  ---
2
2
  name: "action-selection"
3
- description: "Use when selecting, bounding, or learning from an environment interaction, especially when several tool actions are plausible, expected output may be broad, or recent interactions have not materially changed the current understanding."
3
+ description: "Use when the current owner needs to choose, bound, or learn from an environment interaction, especially when several actions are plausible, expected output may be broad or noisy, or recent interactions have not materially changed the current decision."
4
4
  ---
5
5
 
6
6
  # Action Selection
7
7
 
8
- Control one environment interaction inside the active Workflow owner. Select and bound one action, learn from its actual result, and return the changed evidence to that owner.
8
+ Choose one covered environment interaction likely to advance the current question or accepted outcome, learn from its actual result, and return the changed evidence to the current owner.
9
9
 
10
- Action Selection does not choose the task owner, widen authority, decide accepted behavior, or replace implementation, diagnosis, verification, review, or other specialized methods.
10
+ An **environment interaction** is one bounded tool-mediated observation or effect and the result it returns. A bounded activity may contain several environment interactions.
11
11
 
12
- ## Run The Environment Interaction Loop
12
+ Action Selection does not choose the current owner, execution method, accepted behavior, authority, Slice, checkpoint, or Workflow route. It does not replace implementation, diagnosis, verification, review, or domain guidance.
13
+
14
+ ## Run One Interaction Loop
13
15
 
14
16
  ```text
15
17
  Need evidence or a covered effect
16
- -> choose the fast path or branch path
17
- -> select and bound one action
18
+ -> name what this interaction must resolve or produce
19
+ -> check whether current evidence supports one obvious action
20
+ -> yes: fast path
21
+ -> no: branch mentally
22
+ -> choose and bound one environment action
18
23
  -> execute once
19
24
  -> observe the actual result
20
25
  -> identify what changed
21
- -> return to the owning activity
26
+ -> return the observation and state change to the current owner
22
27
  ```
23
28
 
24
- ### Use The Fast Path
29
+ Action Selection improves one local interaction. It does not plan the whole task or simulate a long future trajectory.
30
+
31
+ ## Take The Fast Path When The Action Is Obvious
32
+
33
+ Use the direct tool when current evidence supports one known, mechanical, covered, and directly verifiable interaction.
34
+
35
+ The fast path is not the first plausible action. Use it only when choosing the target, hypothesis, observer, effect, and scope requires no unresolved material judgment.
36
+
37
+ Typical fast-path interactions include:
38
+
39
+ - reading a known file, symbol, range, or artifact;
40
+ - applying an already selected exact edit;
41
+ - running the exact focused check required by the current method;
42
+ - formatting an accepted changed file;
43
+ - inspecting a known diff or generated result.
44
+
45
+ Do not generate alternatives for an obvious continuation.
46
+
47
+ An action is not obvious merely because it is easy to execute. Choosing where to search, which hypothesis to test, what boundary to observe, or what effect to apply normally requires the branch path when several materially different choices remain.
25
48
 
26
- When current evidence supports one known, mechanical, covered, and directly verifiable action, use the direct tool and execute it.
49
+ ## Branch Mentally, Execute Once
27
50
 
28
- Do not generate alternatives before a focused read, accepted edit, exact check, formatting step, or other obvious continuation.
51
+ Use the branch path when:
29
52
 
30
- ### Use The Branch Path
53
+ - several actions are plausible;
54
+ - the relevant target, hypothesis, observer, or scope is unsettled;
55
+ - the likely interaction is broad, noisy, destructive, expensive, or difficult to recover;
56
+ - recent interactions have not materially changed the current question or accepted outcome.
31
57
 
32
- When several actions are plausible, the likely action is broad, or recent interactions have not changed the current understanding:
58
+ Before touching the environment:
33
59
 
34
- 1. name the question or outcome the next interaction must resolve;
35
- 2. check whether active evidence already resolves it;
36
- 3. consider only the few materially different actions;
37
- 4. choose the action most likely to change the current decision with proportionate interaction, observation, side-effect, and recovery cost;
38
- 5. execute one action and decide again from reality.
60
+ 1. name the question or concrete effect the next interaction must resolve or produce;
61
+ 2. check whether active evidence already answers it;
62
+ 3. consider only a few materially different actions—not synonyms of the same search or observer;
63
+ 4. reject actions that repeat unchanged evidence, revisit an eliminated path, or gather information without a current question;
64
+ 5. prefer the action most directly connected to the question;
65
+ 6. among similarly direct actions, prefer one that distinguishes the leading alternatives;
66
+ 7. among similarly discriminating actions, prefer the narrowest interaction with proportionate output, side effects, context residue, and recovery cost;
67
+ 8. execute only the selected interaction and decide again from reality.
39
68
 
40
- Keep the comparison internal unless it exposes a user-owned decision. Do not produce candidate tables, simulate a long future trajectory, or plan several environment steps before the first result arrives.
69
+ Keep this comparison internal unless it exposes a user-owned decision. Do not produce candidate tables, assign numeric scores, simulate several environment results, or plan multiple interactions before the first observation.
41
70
 
42
71
  ## Prefer Decision-Bearing Actions
43
72
 
44
- Among actions already covered by the current route and authority, prefer one that:
73
+ A **decision-bearing action** produces a result that changes what the current owner should believe or do whether it supports or contradicts the leading hypothesis.
74
+
75
+ Among actions already covered by the current route, authority, and any active execution contract, prefer one that:
45
76
 
46
77
  - bears directly on the current question or accepted outcome;
47
- - distinguishes the leading alternatives;
78
+ - distinguishes meaningful alternatives;
48
79
  - uses the narrowest sufficient observer or effect;
49
- - avoids repeating unchanged evidence or an eliminated path;
50
- - produces a clear next branch whether the result supports or contradicts the current hypothesis;
51
- - keeps output, side effects, reversibility, and recovery cost proportionate.
80
+ - avoids unchanged evidence, eliminated paths, and equivalent prior interactions;
81
+ - produces a clear next branch under both favorable and unfavorable results;
82
+ - keeps expected observation volume, context residue, side effects, reversibility, and recovery cost proportionate.
83
+
84
+ Do not calculate a numeric value. Use these properties to reject low-value branches and select one useful interaction.
52
85
 
53
- Do not calculate a numeric score. Use these properties to reject low-value branches and select one useful interaction.
86
+ The objective is not maximal information. It is the smallest observation or effect capable of changing the decision.
54
87
 
55
- ## Shape The Tool Action
88
+ ## Shape The Environment Action
56
89
 
57
- Match the tool and scope to the evidence or effect required:
90
+ Match the action and tool to the required relationship:
58
91
 
59
- - use a focused source operation when the file, symbol, range, or artifact is known;
60
- - use semantic or structural navigation when ownership or relationships are the question;
61
- - use bounded text search when structural evidence is unavailable or the target is literal or dynamic;
62
- - use a targeted test or runtime observer when behavior is the question;
63
- - use a direct mutation tool only after the owning activity has selected the exact effect;
64
- - use broad search when the relevant source is genuinely unknown, then narrow from its result instead of restarting breadth.
92
+ - when the entity, artifact, location, or range is known, use a focused operation;
93
+ - when ownership, callers, dependencies, or structure are the question, use the most structured relationship query available;
94
+ - when the target is literal, generated, or dynamically referenced, use bounded text or content search;
95
+ - when behavior is the question, use the smallest direct test, runtime observer, or reproduction that exercises the required boundary;
96
+ - when an exact covered effect has already been selected, use the narrowest direct mutation operation;
97
+ - when the relevant entity is genuinely unknown, use one bounded broad discovery action, then narrow from its result instead of restarting breadth.
65
98
 
66
- Bound the directory, symbol, pattern, range, test target, time window, result count, or requested fields when the tool supports it.
99
+ These rules apply across repositories, filesystems, local processes, browsers, databases, APIs, and other environments. Use environment-specific guidance when available.
67
100
 
68
- Tool sophistication is not evidence quality. Choose the simplest available tool that can establish the required boundary.
101
+ Bound the directory, entity, pattern, range, test target, time window, result count, requested fields, affected state, or recovery scope when the tool supports it.
69
102
 
70
- ## Update From The Observation
103
+ Tool sophistication is not evidence quality. Choose the simplest available operation that can establish the required boundary.
104
+
105
+ ## Update From Reality
71
106
 
72
107
  After execution, identify:
73
108
 
74
- - what fact, hypothesis, path, or task state changed;
109
+ - what fact, hypothesis, path, effect, or task state changed;
75
110
  - what became stronger, weaker, eliminated, contradicted, or still unresolved;
76
- - whether the result answered the current question;
77
- - what single next action, if any, is now supported.
111
+ - whether the interaction answered the current question or produced the intended effect;
112
+ - what next branch, if any, is now supported.
113
+
114
+ New information is not automatically decision-relevant information.
115
+
116
+ If the observation did not change the decision or distinguish alternatives, do not repeat it through synonyms, nearby files, a wider version of the same search, or another tool returning equivalent evidence. Reframe the question, choose a different observer class, or stop with the missing evidence.
117
+
118
+ When two or more recent interactions have not materially changed the current question, advanced the covered effect, or supported a new branch, read [Trajectory Stalls](references/trajectory-stalls.md) before another interaction.
119
+
120
+ Repeat the loop only while the same current owner, question, authority, and execution contract remain valid and each interaction either changes the decision surface or advances the exact covered effect.
121
+
122
+ ## Return To The Current Owner
78
123
 
79
- If the observation did not change the decision or distinguish alternatives, do not repeat it through synonyms, nearby files, or another tool returning equivalent evidence. Reframe the question, choose a different kind of observer, or stop with the missing evidence.
124
+ Return the observation and its material state change to the activity that requested it. Action Selection does not interpret another method’s final claim or return directly to a compute profile.
80
125
 
81
- Repeat the loop only while the same owning activity and question remain valid and each observation changes the decision surface.
126
+ When an active execution contract exists, stop when its return condition is met. Do not reinterpret or expand the contract to keep interacting.
82
127
 
83
- ## Return To The Owner
128
+ Return to [Workflow](../workflow/SKILL.md) when the result changes authority, accepted scope, current ownership, accepted direction, the required observing boundary, or stop conditions.
84
129
 
85
- Return the observation and its state change to the activity that requested it.
130
+ Use [Diagnose Failure](../diagnose-failure/SKILL.md) when repeated failure remains unexplained rather than selecting another speculative interaction.
86
131
 
87
- Return to Workflow when the result changes authority, scope, ownership, accepted direction, evidence boundary, or stop conditions. Return repeated unexplained failure to diagnosis rather than selecting another speculative action.
132
+ Stop when:
88
133
 
89
- Stop when one next action is sufficiently supported, no covered interaction can reduce the important uncertainty, or another activity now owns the problem.
134
+ - one next action is sufficiently supported;
135
+ - the requested effect was produced;
136
+ - no covered interaction can reduce the important uncertainty;
137
+ - the active execution contract requires return;
138
+ - another activity now owns the problem.
90
139
 
91
140
  The objective is not fewer tool calls at any cost. It is fewer low-value interactions while preserving supported outcomes.
@@ -0,0 +1,71 @@
1
+ # Trajectory Stalls
2
+
3
+ Read this when two or more recent environment interactions have not materially changed the current question, advanced the covered effect, or supported a new branch.
4
+
5
+ A stall is evidence that the current interaction policy is no longer producing useful progress. It does not prove that the task is difficult, the design is wrong, or another model is required.
6
+
7
+ ## Recognize A Stall
8
+
9
+ Common stall patterns include:
10
+
11
+ - repeating searches with synonymous terms;
12
+ - rereading unchanged sources without a new question;
13
+ - rerunning the same check against unchanged state;
14
+ - widening search breadth without narrowing the hypothesis;
15
+ - collecting new output that does not change any belief or decision;
16
+ - revisiting a path already eliminated by supported evidence;
17
+ - changing hypotheses without a new observation;
18
+ - alternating edits, failures, and reversions without a supported cause;
19
+ - following each newly mentioned symbol or file away from the accepted outcome;
20
+ - continuing because interaction began rather than because evidence supports another step.
21
+
22
+ The following are not automatically stalls:
23
+
24
+ - several distinct mechanical interactions required by one exact covered effect;
25
+ - rerunning evidence after relevant state changed;
26
+ - a long-running operation that is still producing the selected result;
27
+ - checking a broader boundary after a focused result when that boundary was already required;
28
+ - returning through several files along one supported call or dependency path.
29
+
30
+ Judge progress by changed understanding, produced effects, or a newly supported branch—not raw action count.
31
+
32
+ ## Stop Before Another Similar Interaction
33
+
34
+ Before another environment action:
35
+
36
+ 1. restate the unresolved question or exact covered effect;
37
+ 2. identify what the recent interactions established;
38
+ 3. identify which paths or hypotheses they eliminated;
39
+ 4. state why the interactions failed to change the decision;
40
+ 5. determine whether another observer class could discriminate where the previous one could not.
41
+
42
+ Different observer classes may include:
43
+
44
+ - structural navigation instead of text search;
45
+ - caller or dependency tracing instead of concept search;
46
+ - runtime behavior instead of source inspection;
47
+ - source inspection instead of another runtime rerun;
48
+ - exact artifact comparison instead of summary output;
49
+ - a minimized reproduction instead of another speculative edit.
50
+
51
+ Changing syntax, keywords, directories, or tools without changing the evidence relationship is not a different observer class.
52
+
53
+ ## Recover With One Discriminating Action
54
+
55
+ When a different covered observer can answer the unresolved question:
56
+
57
+ 1. name what result would support or contradict the leading path;
58
+ 2. bound one interaction;
59
+ 3. execute it once;
60
+ 4. return its observation to the current owner.
61
+
62
+ Do not compensate for a stall by generating a long plan, exploring every remaining path, or broadening the task.
63
+
64
+ When no covered interaction can discriminate:
65
+
66
+ - return the smallest missing evidence to the current owner;
67
+ - return a changed authority, scope, ownership, direction, or required observing boundary to [Workflow](../../workflow/SKILL.md);
68
+ - use [Diagnose Failure](../../diagnose-failure/SKILL.md) when repeated failure lacks a supported cause;
69
+ - stop when the active execution contract requires return.
70
+
71
+ A stall recovery succeeds when the decision surface changes or the absence of a safe useful interaction becomes explicit. It does not require another tool call.
@@ -1,83 +1,153 @@
1
1
  ---
2
2
  name: bypass
3
- description: Use when the user explicitly asks to skip or reduce workflow steps for the next action or current task.
3
+ description: "Use when the user explicitly asks to skip or reduce optional workflow pressure for the next authorized activity or the current task."
4
4
  ---
5
5
 
6
6
  # Bypass
7
7
 
8
- Skip optional ceremony, not authority, judgment, safety, or evidence.
8
+ Reduce explicitly selected optional workflow pressure without changing authority, accepted intent, the current owner, execution method, evidence semantics, selected checkpoints, mode, active capability protocols, or host controls.
9
9
 
10
- Bypass changes the workflow method within an already accepted action. It does not authorize work, expand scope, switch mode, resolve a user-owned decision, override source truth, or create host permissions.
10
+ Bypass is a user-controlled pressure modifier. It does not authorize the underlying work and does not perform that work itself.
11
11
 
12
- ## Establish The Boundary
12
+ **Optional pressure** is a workflow step whose removal does not weaken accepted intent, material risk control, required evidence, a selected checkpoint, or safe continuation.
13
13
 
14
- Before using bypass, identify:
14
+ ## Interpret The Request Narrowly
15
15
 
16
- - the accepted action it applies to;
17
- - the named optional step, or whether the user selected `next` or `task` scope;
18
- - the effective mode;
19
- - the evidence and checkpoints that still govern the action.
16
+ Use Bypass only when the user explicitly asks to skip or reduce workflow pressure. Do not infer bypass from urgency, frustration, brevity, “just do it,” or a preference for concise responses.
20
17
 
21
- A bare `/bypass` means `/bypass next`. If no accepted action exists, return to [Workflow](../workflow/SKILL.md); do not treat bypass itself as implementation authorization.
18
+ Establish:
22
19
 
23
- Bypass never changes mode. In `conversation`, remain read-only and use [Mode Contract](../mode-contract/SKILL.md) before mutation. In `workflow` or `strict-workflow`, keep the active mode's decision and evidence pressure.
20
+ - the already-authorized bounded activity;
21
+ - the specific pressure the user wants removed;
22
+ - whether the requested scope is `next` or `task`;
23
+ - the authority, evidence, checkpoints, and stop conditions that remain;
24
+ - when the bypass expires.
25
+
26
+ A bare `/bypass` means `/bypass next`.
27
+
28
+ If the same user turn both authorizes an activity and explicitly requests reduced pressure, interpret the whole turn through [Workflow](../workflow/SKILL.md). Bypass may modify that authorized activity; it does not supply its authority.
29
+
30
+ If no authorized activity exists, return to Workflow and wait. Do not treat bypass as permission to implement, inspect actively, mutate, deliver, commit, or continue.
24
31
 
25
32
  ## Skip Only Optional Pressure
26
33
 
27
- A bypass may remove a step that does not protect accepted intent, material risk, required evidence, or a selected checkpoint, such as:
34
+ A valid bypass may remove:
28
35
 
29
- - an unnecessary Spec or Plan;
30
- - extended questioning whose answer would not change the action;
36
+ - an unnecessary Spec, Plan, or Working Record;
37
+ - extended questioning whose answer would not change the accepted activity;
31
38
  - an artifact created only for ceremony;
32
- - an optional checkpoint or extra review with no remaining risk purpose.
39
+ - duplicate explanation or status reporting;
40
+ - a proposed but unselected review or checkpoint with no remaining risk purpose;
41
+ - another optional step whose removal does not weaken the supported outcome.
33
42
 
34
- Do not infer that a named artifact or review is optional. Inspect why it exists first.
43
+ Do not infer that a named artifact, review, check, or checkpoint is optional. Inspect what it protects before removing it.
44
+
45
+ Freeflow should already avoid unnecessary ceremony. Bypass is an explicit user override when optional pressure was proposed or recommended but was not selected as a required boundary, or would otherwise remain in the route.
35
46
 
36
47
  ## Preserve Non-Bypassable Boundaries
37
48
 
38
- A generic or scoped bypass does not remove:
49
+ Bypass does not remove or override:
50
+
51
+ - the user’s authority over product behavior, scope, priorities, public interfaces, compatibility, permissions, security, privacy, billing, data loss, migration direction, deployment, or another hard-to-reverse outcome;
52
+ - conflicts among the request, code, tests, docs, policies, requirements, accepted behavior, or another source of truth;
53
+ - the accepted authority envelope or separately controlled effects;
54
+ - host safety, sandbox, permission, approval, or tool controls;
55
+ - mode boundaries or active capability protocols;
56
+ - the distinction between available evidence and supported claims;
57
+ - required self-review before accepting or reusing a supported result;
58
+ - an accepted Spec, Plan, selected checkpoint, required artifact review, or selected independent review;
59
+ - a stop condition, blocker, or evidence that invalidates the current route.
60
+
61
+ Material risk still requires the decisions and evidence that address it. A domain label alone does not require ceremony, but bypass cannot erase an observed risk.
62
+
63
+ Bypass cannot allow an active compute profile to act outside its execution protocol. Use the capability’s own user controls when the user wants to change manual or automatic control, profile behavior, or another capability setting.
64
+
65
+ ## Respect Declined Evidence Without Inventing Support
66
+
67
+ A user may explicitly decline a test, build, runtime probe, review, or other evidence generation. Respect that instruction unless a higher-priority repository, host, or safety requirement prevents it.
68
+
69
+ Declining evidence does not make the corresponding claim supported.
70
+
71
+ When evidence is declined:
72
+
73
+ - perform only the remaining authorized work that can continue safely;
74
+ - leave the affected claim explicitly unverified;
75
+ - do not accept or reuse the result beyond the remaining evidence boundary;
76
+ - do not cross a checkpoint or dependent boundary that requires the missing evidence;
77
+ - return to Workflow when the expected exit, checkpoint, or safe continuation must change.
39
78
 
40
- - the user's authority over product behavior, scope, public interfaces, compatibility, permissions, security, privacy, billing, data loss, migrations, deployment, or another hard-to-reverse outcome;
41
- - a conflict with code, tests, docs, policies, requirements, accepted behavior, or another source of truth;
42
- - host safety, sandbox, permission, or approval controls;
43
- - proportionate verification and required self-review for every bounded activity before its result is accepted, reused, or claimed complete;
44
- - an accepted Spec, Plan, selected checkpoint, required artifact review, selected independent review, or other accepted completion boundary;
45
- - a stop condition or evidence that invalidates the current route.
79
+ A request to skip evidence generation changes what may be claimed. It does not change what the available evidence proves.
46
80
 
47
- Material risk still needs the decisions and evidence that address that risk. A domain label alone does not require ceremony, but bypass cannot erase an observed risk.
81
+ ## Route Changes Are Not Bypass
48
82
 
49
- If the user wants to change an accepted requirement, evidence boundary, or selected review, treat that as a route change rather than bypass. Use [Decision Gate](../decision-gate/SKILL.md) when one user-owned choice or source conflict blocks progress; use Workflow when the route itself must change.
83
+ Treat the request as a Workflow route change when the user wants to:
84
+
85
+ - change accepted behavior, scope, effects, or stop conditions;
86
+ - weaken or replace an accepted evidence requirement;
87
+ - cancel or replace a selected checkpoint;
88
+ - revise an accepted Spec or Plan;
89
+ - change mode or an active capability protocol;
90
+ - continue despite contradictory evidence or a source conflict.
91
+
92
+ An explicit user instruction may authorize the changed route, but Workflow must reconcile its consequences before dependent work continues.
93
+
94
+ Use [Decision Gate](../decision-gate/SKILL.md) only when one user-owned choice or source conflict remains unresolved.
50
95
 
51
96
  ## Apply The Selected Scope
52
97
 
53
98
  ### Next
54
99
 
55
- `/bypass next` skips one identified optional step for the current accepted action. Re-check the route immediately after skipping it.
100
+ `/bypass next` removes one identified optional pressure from the current authorized activity.
56
101
 
57
- If that step was the only remaining optional pressure, complete the bounded action and verify it. The bypass is then spent. It also expires if the action changes, another gate appears, or the route stops.
102
+ The bypass is spent when:
103
+
104
+ - the selected pressure is skipped;
105
+ - the activity changes;
106
+ - another gate or stop condition appears;
107
+ - the route ends.
108
+
109
+ Re-check the route immediately after applying it. Do not carry the bypass into another activity by implication.
58
110
 
59
111
  ### Task
60
112
 
61
- `/bypass task` reduces optional workflow pressure for the current accepted task. The task is the accepted request or active Working Record scope—not the repository, session, or future related work. If that boundary is unclear, ask before applying task scope.
113
+ `/bypass task` reduces identified optional pressure for the current accepted task.
114
+
115
+ The task is the accepted request or active Working Record scope—not the repository, session, branch, or future related work.
62
116
 
63
- The task scope ends at completion, abandonment, material scope change, or explicit withdrawal. Reassess each new risk, conflict, checkpoint, and completion claim inside that scope.
117
+ Name the pressure being reduced when possible. Do not interpret task scope as “ignore all workflow for this task.”
64
118
 
65
- When an existing Working Record is already authorized for maintenance and task-scoped bypass must survive context loss, record its exact source, scope, and expiry through [Track Work](../track-work/SKILL.md). The record preserves the instruction; it does not broaden it. Without durable task memory, do not claim bypass survives context loss.
119
+ Task scope ends when:
66
120
 
67
- Never convert either scope into a permanent, repository-wide, or cross-task bypass.
121
+ - the task completes or is abandoned;
122
+ - its accepted outcome changes materially;
123
+ - the user withdraws or replaces the bypass;
124
+ - a new task begins.
68
125
 
69
- ## Act Or Stop
126
+ Reassess new risks, conflicts, evidence requirements, checkpoints, and separately controlled effects inside the task. Task scope does not make them optional.
127
+
128
+ When an existing Working Record is already authorized for maintenance and the task-scoped bypass must survive context loss, use [Track Work](../track-work/SKILL.md) to preserve its source, exact pressure, scope, and expiry.
129
+
130
+ The record preserves the user instruction; it does not broaden it. Without durable task memory, do not claim task-scoped bypass survives context loss.
131
+
132
+ Never convert `next` or `task` scope into permanent, repository-wide, session-wide, or cross-task behavior.
133
+
134
+ ## Return The Modified Route
70
135
 
71
136
  When the bypass is valid:
72
137
 
73
- 1. skip only the selected optional pressure;
74
- 2. perform only the separately authorized bounded action;
75
- 3. gather the same proportionate evidence the outcome requires;
76
- 4. silently self-review the supported result before accepting, reusing, or reporting it;
77
- 5. report what was skipped, the result, and whether the bypass is spent or still task-scoped.
138
+ 1. identify the optional pressure being removed;
139
+ 2. apply only the selected scope;
140
+ 3. return the reduced-pressure route to the unchanged current owner;
141
+ 4. let that owner perform the separately authorized activity;
142
+ 5. preserve the same evidence honesty, self-review, and stop conditions;
143
+ 6. report what was skipped only when it materially clarifies the result or remaining scope.
144
+
145
+ Do not narrate internal bypass state on every turn. Speak in ordinary engineering language unless the scope or expiry matters to the user.
78
146
 
79
147
  When a boundary remains:
80
148
 
81
149
  1. do not perform the blocked action;
82
- 2. name the boundary bypass cannot remove;
83
- 3. route to the owning mode, decision, discussion, or workflow step.
150
+ 2. state the boundary the bypass cannot remove;
151
+ 3. return to Workflow, Decision Gate, or the relevant current owner.
152
+
153
+ Bypass ends when the selected optional pressure has been removed, its scope expires, or a non-bypassable boundary requires another route.