@hassangameryt/freeflow 0.7.2 → 0.8.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/NOTICE +14 -0
- package/README.md +151 -136
- package/capabilities/cognitive-routing/SKILL.md +110 -96
- package/capabilities/cognitive-routing/references/both-mode.md +36 -0
- package/capabilities/cognitive-routing/references/executor-mode.md +48 -0
- package/capabilities/cognitive-routing/references/helper-mode.md +47 -0
- package/capabilities/compaction/SKILL.md +49 -0
- package/capabilities/compaction/references/summary-format.md +239 -0
- package/command-surface.json +4 -0
- package/gemini-extension.json +1 -1
- package/hooks/shared/runtime-context.mjs +28 -30
- package/licenses/Apache-2.0.txt +55 -0
- package/package.json +22 -9
- package/pi-extension/README.md +41 -0
- package/pi-extension/dist/cognitive-routing/assembler.js +393 -0
- package/pi-extension/dist/{cognitive-routing-v2 → cognitive-routing}/config.js +40 -21
- package/pi-extension/dist/cognitive-routing/economics.js +45 -0
- package/pi-extension/dist/cognitive-routing/event-schema.js +388 -0
- package/pi-extension/dist/cognitive-routing/event-store.js +280 -0
- package/pi-extension/dist/cognitive-routing/gate.js +241 -0
- package/pi-extension/dist/cognitive-routing/handlers.js +899 -0
- package/pi-extension/dist/cognitive-routing/handoffs.js +350 -0
- package/pi-extension/dist/cognitive-routing/model-control.js +467 -0
- package/pi-extension/dist/cognitive-routing/projection.js +503 -0
- package/pi-extension/dist/cognitive-routing/provenance.js +81 -0
- package/pi-extension/dist/{cognitive-routing-v2 → cognitive-routing}/render.js +31 -10
- package/pi-extension/dist/cognitive-routing/runtime.js +396 -0
- package/pi-extension/dist/cognitive-routing/schemas.js +209 -0
- package/pi-extension/dist/cognitive-routing/session.js +221 -0
- package/pi-extension/dist/cognitive-routing/sources.js +291 -0
- package/pi-extension/dist/cognitive-routing/state.js +487 -0
- package/pi-extension/dist/cognitive-routing/status.js +80 -0
- package/pi-extension/dist/cognitive-routing/tools.js +60 -0
- package/pi-extension/dist/{cognitive-routing-v2 → cognitive-routing}/types.js +10 -12
- package/pi-extension/dist/compaction/carry.js +191 -0
- package/pi-extension/dist/compaction/config.js +22 -0
- package/pi-extension/dist/compaction/controller.js +471 -0
- package/pi-extension/dist/compaction/harness.js +77 -0
- package/pi-extension/dist/compaction/results.js +158 -0
- package/pi-extension/dist/compaction/thresholds.js +35 -0
- package/pi-extension/dist/compaction/tool.js +57 -0
- package/pi-extension/dist/host/branch.js +13 -0
- package/pi-extension/dist/host/canonical.js +12 -0
- package/pi-extension/dist/host/catalog.js +77 -0
- package/pi-extension/dist/host/config.js +374 -0
- package/pi-extension/dist/host/projection-tags.js +60 -0
- package/pi-extension/dist/host/prompts.js +82 -0
- package/pi-extension/dist/{session-sources → host}/read-only-session.js +112 -1
- package/pi-extension/dist/host/request-history.js +298 -0
- package/pi-extension/dist/host/runtime-state.js +189 -0
- package/pi-extension/dist/host/settings/freeflow-command.js +1570 -0
- package/pi-extension/dist/{settings/settings-tui.js → host/settings/settings-view.js} +186 -73
- package/pi-extension/dist/host/staging.js +28 -0
- package/pi-extension/dist/host/status.js +101 -0
- package/pi-extension/dist/index.js +441 -170
- package/pi-extension/dist/provider-support/cache/anchor.js +21 -0
- package/pi-extension/dist/provider-support/cache/anthropic.js +102 -0
- package/pi-extension/dist/provider-support/cache/health.js +73 -0
- package/pi-extension/dist/provider-support/cache/index.js +58 -0
- package/pi-extension/dist/provider-support/cache/keepalive.js +210 -0
- package/pi-extension/dist/provider-support/cache/monitor.js +17 -0
- package/pi-extension/dist/provider-support/cache/openai-responses.js +48 -0
- package/pi-extension/dist/provider-support/effort.js +13 -0
- package/pi-extension/dist/provider-support/index.js +45 -0
- package/pi-extension/dist/provider-support/openai/adapter.js +127 -0
- package/pi-extension/dist/provider-support/openai/history.js +127 -0
- package/pi-extension/dist/provider-support/openai/index.js +15 -0
- package/pi-extension/dist/provider-support/openai/session-state.js +105 -0
- package/pi-extension/dist/provider-support/routes.js +17 -0
- package/pi-extension/dist/tool-execution/apply-patch/grammar.js +23 -0
- package/pi-extension/dist/tool-execution/apply-patch/match.js +38 -0
- package/pi-extension/dist/tool-execution/apply-patch/parser.js +177 -0
- package/pi-extension/dist/tool-execution/apply-patch/plan.js +201 -0
- package/pi-extension/dist/tool-execution/apply-patch/tool.js +84 -0
- package/pi-extension/dist/tool-execution/background.js +238 -0
- package/pi-extension/dist/tool-execution/bash-guard.js +23 -0
- package/pi-extension/dist/tool-execution/config.js +22 -0
- package/pi-extension/dist/tool-execution/edit-messages.js +120 -0
- package/pi-extension/dist/tool-execution/file-state.js +138 -0
- package/pi-extension/dist/tool-execution/file-tracking.js +143 -0
- package/pi-extension/dist/tool-execution/prompt.js +54 -0
- package/pi-extension/dist/tool-execution/tools.js +16 -0
- package/pi-extension/freeflow/README.md +9 -0
- package/plugin.json +1 -1
- package/runtime/prompts/cognitive-routing.md +4 -4
- package/runtime/prompts/core.md +22 -75
- package/runtime/prompts/interaction-contract.md +15 -8
- package/runtime/prompts/tool-execution.md +38 -0
- package/runtime/prompts/working-method.md +108 -0
- package/skills/action-selection/SKILL.md +39 -47
- package/skills/action-selection/references/trajectory-stalls.md +2 -0
- package/skills/bypass/SKILL.md +2 -2
- package/skills/commit-work/SKILL.md +31 -83
- package/skills/commit-work/references/git-state-edges.md +1 -1
- package/skills/commit-work/references/simple-push.md +2 -0
- package/skills/commit-work/references/staging-decisions.md +1 -1
- package/skills/decision-gate/SKILL.md +31 -50
- package/skills/design-for-depth/SKILL.md +44 -53
- package/skills/design-for-depth/references/design-pressure-signals.md +46 -144
- package/skills/design-for-depth/references/implementation-decisions.md +4 -4
- package/skills/design-for-depth/references/interface-design-loop.md +5 -36
- package/skills/design-for-depth/references/module-and-dependency-design.md +2 -32
- package/skills/design-for-depth/references/state-and-failure-boundaries.md +2 -13
- package/skills/diagnose-failure/SKILL.md +39 -24
- package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +2 -0
- package/skills/diagnose-failure/references/flaky-and-performance-diagnosis.md +2 -2
- package/skills/discuss/SKILL.md +37 -13
- package/skills/discuss/references/discussion-continuity.md +7 -27
- package/skills/evaluate-skill/SKILL.md +49 -80
- package/skills/evaluate-skill/references/evaluation-definition-schema.md +35 -5
- package/skills/evaluate-skill/references/evaluation-design.md +14 -14
- package/skills/evaluate-skill/references/execution-and-evidence.md +26 -5
- package/skills/evaluate-skill/references/review-and-revision.md +3 -1
- package/skills/evaluate-skill/scripts/lib/definitions.mjs +49 -8
- package/skills/evaluate-skill/scripts/lib/pi.mjs +14 -7
- package/skills/evaluate-skill/scripts/lib/review.mjs +196 -0
- package/skills/evaluate-skill/scripts/lib/runner.mjs +45 -8
- package/skills/evaluate-skill/scripts/lib/sandbox.mjs +2 -0
- package/skills/evaluate-skill/scripts/lib/trials.mjs +103 -0
- package/skills/evaluate-skill/scripts/lib/view.mjs +67 -1
- package/skills/evaluate-skill/scripts/pi-command-tool.mjs +144 -0
- package/skills/evaluate-skill/scripts/pi-guard.mjs +30 -13
- package/skills/evaluate-skill/scripts/skill-eval.mjs +114 -34
- package/skills/execute-work/SKILL.md +41 -9
- package/skills/execute-work/references/code-practices.md +2 -0
- package/skills/execute-work/references/execute-work-edges.md +11 -1
- package/skills/handoff/SKILL.md +1 -1
- package/skills/handoff/references/handoff-templates.md +1 -1
- package/skills/review-artifact/SKILL.md +42 -41
- package/skills/review-artifact/references/adjudicate-artifact-review.md +1 -1
- package/skills/review-artifact/references/independent-artifact-reviewer-contract.md +1 -1
- package/skills/review-work/SKILL.md +38 -32
- package/skills/review-work/references/adjudicate-work-review.md +1 -1
- package/skills/review-work/references/independent-work-reviewer-contract.md +1 -1
- package/skills/review-work/references/security-risk-lens.md +2 -4
- package/skills/setup-freeflow/SKILL.md +3 -1
- package/skills/setup-freeflow/references/activation-contract.md +7 -13
- package/skills/setup-freeflow/references/host-setup.md +3 -3
- package/skills/track-work/SKILL.md +113 -161
- package/skills/track-work/references/working-record-format.md +189 -350
- package/skills/track-work/scripts/lib/document.mjs +62 -6
- package/skills/track-work/scripts/lib/format.mjs +16 -1
- package/skills/track-work/scripts/lib/store.mjs +9 -8
- package/skills/track-work/scripts/lib/transitions.mjs +79 -4
- package/skills/track-work/scripts/working-record.mjs +34 -12
- package/skills/verify-work/SKILL.md +29 -20
- package/skills/verify-work/references/browser-runtime-evidence.md +1 -5
- package/skills/verify-work/references/integration-evidence.md +2 -0
- package/skills/verify-work/references/performance-evidence.md +3 -1
- package/skills/verify-work/references/test-design.md +3 -1
- package/skills/workflow/SKILL.md +65 -21
- package/skills/workflow/references/domain-skill-composition.md +5 -3
- package/skills/write-docs/SKILL.md +83 -0
- package/skills/write-docs/references/documentation-shapes.md +119 -0
- package/skills/write-docs/scripts/docs-check.mjs +139 -0
- package/skills/write-plan/SKILL.md +40 -40
- package/skills/write-plan/references/plan-shapes.md +1 -1
- package/skills/write-skill/SKILL.md +107 -147
- package/skills/write-skill/references/activation-boundaries.md +2 -0
- package/skills/write-skill/references/agent-first-instructions.md +22 -10
- package/skills/write-skill/references/progressive-disclosure.md +4 -2
- package/skills/write-skill/references/skill-dependency-graphs.md +2 -0
- package/skills/write-skill/scripts/lib/similarity.mjs +56 -0
- package/skills/write-skill/scripts/skill-author.mjs +18 -2
- package/skills/write-spec/SKILL.md +34 -41
- package/skills/write-spec/references/artifact-standards.md +1 -1
- package/skills/write-spec/references/decision-records.md +2 -0
- package/skills/write-spec/references/spec-shapes.md +1 -1
- package/capabilities/context-virtualization/SKILL.md +0 -103
- package/capabilities/conversation-history/SKILL.md +0 -53
- package/hooks/tests/check-host-adapters.test.mjs +0 -82
- package/hooks/tests/check-runtime-context-hook.sh +0 -212
- package/pi-extension/dist/cognitive-routing-v2/projection.js +0 -321
- package/pi-extension/dist/cognitive-routing-v2/runtime.js +0 -1585
- package/pi-extension/dist/cognitive-routing-v2/schemas.js +0 -107
- package/pi-extension/dist/cognitive-routing-v2/state.js +0 -612
- package/pi-extension/dist/cognitive-routing-v2/tools.js +0 -91
- package/pi-extension/dist/context-virtualization/commands.js +0 -89
- package/pi-extension/dist/context-virtualization/projector.js +0 -42
- package/pi-extension/dist/context-virtualization/runtime.js +0 -356
- package/pi-extension/dist/context-virtualization/state.js +0 -57
- package/pi-extension/dist/context-virtualization/types.js +0 -10
- package/pi-extension/dist/conversation-history/passages.js +0 -66
- package/pi-extension/dist/conversation-history/ranking.js +0 -105
- package/pi-extension/dist/conversation-history/runtime.js +0 -226
- package/pi-extension/dist/conversation-history/search.js +0 -56
- package/pi-extension/dist/conversation-history/types.js +0 -1
- package/pi-extension/dist/freeflow-context/resolver.js +0 -120
- package/pi-extension/dist/freeflow-context/runtime.js +0 -80
- package/pi-extension/dist/freeflow-context/source-projector.js +0 -95
- package/pi-extension/dist/freeflow-context/tool.js +0 -313
- package/pi-extension/dist/freeflow-context/types.js +0 -12
- package/pi-extension/dist/freeflow-context/visibility.js +0 -28
- package/pi-extension/dist/integrations/mcp-config.js +0 -29
- package/pi-extension/dist/runtime/runtime-context.js +0 -735
- package/pi-extension/dist/runtime/runtime-identity.js +0 -5
- package/pi-extension/dist/session-sources/events.js +0 -195
- package/pi-extension/dist/session-sources/sources.js +0 -233
- package/pi-extension/dist/settings/settings-ui.js +0 -1160
- package/pi-extension/dist/ui/text-component.js +0 -57
- package/pi-extension/src/cognitive-routing-v2/budget.ts +0 -42
- package/pi-extension/src/cognitive-routing-v2/config.ts +0 -143
- package/pi-extension/src/cognitive-routing-v2/projection.ts +0 -365
- package/pi-extension/src/cognitive-routing-v2/render.ts +0 -256
- package/pi-extension/src/cognitive-routing-v2/runtime.ts +0 -1634
- package/pi-extension/src/cognitive-routing-v2/schemas.ts +0 -109
- package/pi-extension/src/cognitive-routing-v2/state.ts +0 -622
- package/pi-extension/src/cognitive-routing-v2/tools.ts +0 -93
- package/pi-extension/src/cognitive-routing-v2/types.ts +0 -222
- package/pi-extension/src/context-virtualization/commands.ts +0 -111
- package/pi-extension/src/context-virtualization/projector.ts +0 -62
- package/pi-extension/src/context-virtualization/runtime.ts +0 -406
- package/pi-extension/src/context-virtualization/state.ts +0 -79
- package/pi-extension/src/context-virtualization/types.ts +0 -92
- package/pi-extension/src/conversation-history/passages.ts +0 -81
- package/pi-extension/src/conversation-history/ranking.ts +0 -155
- package/pi-extension/src/conversation-history/runtime.ts +0 -250
- package/pi-extension/src/conversation-history/search.ts +0 -79
- package/pi-extension/src/conversation-history/types.ts +0 -31
- package/pi-extension/src/freeflow-context/resolver.ts +0 -139
- package/pi-extension/src/freeflow-context/runtime.ts +0 -100
- package/pi-extension/src/freeflow-context/source-projector.ts +0 -106
- package/pi-extension/src/freeflow-context/tool.ts +0 -365
- package/pi-extension/src/freeflow-context/types.ts +0 -70
- package/pi-extension/src/freeflow-context/visibility.ts +0 -53
- package/pi-extension/src/index.ts +0 -368
- package/pi-extension/src/integrations/mcp-config.ts +0 -32
- package/pi-extension/src/runtime/runtime-context.ts +0 -838
- package/pi-extension/src/runtime/runtime-identity.ts +0 -8
- package/pi-extension/src/session-sources/events.ts +0 -208
- package/pi-extension/src/session-sources/read-only-session.ts +0 -170
- package/pi-extension/src/session-sources/sources.ts +0 -263
- package/pi-extension/src/settings/settings-tui.ts +0 -501
- package/pi-extension/src/settings/settings-ui.ts +0 -1422
- package/pi-extension/src/ui/text-component.ts +0 -66
- package/pi-extension/tests/cognitive-routing-v2/communication.test.js +0 -484
- package/pi-extension/tests/cognitive-routing-v2/compaction-input.test.js +0 -183
- package/pi-extension/tests/cognitive-routing-v2/native.test.js +0 -441
- package/pi-extension/tests/cognitive-routing-v2/performance.test.js +0 -87
- package/pi-extension/tests/cognitive-routing-v2/persistence.test.js +0 -245
- package/pi-extension/tests/cognitive-routing-v2/projection.test.js +0 -241
- package/pi-extension/tests/cognitive-routing-v2/recovery.test.js +0 -236
- package/pi-extension/tests/cognitive-routing-v2/render.test.js +0 -230
- package/pi-extension/tests/cognitive-routing-v2/runtime.test.js +0 -153
- package/pi-extension/tests/cognitive-routing-v2/stabilization.test.js +0 -521
- package/pi-extension/tests/cognitive-routing-v2/state.test.js +0 -275
- package/pi-extension/tests/context-virtualization/extension.test.js +0 -765
- package/pi-extension/tests/context-virtualization/projector.test.js +0 -110
- package/pi-extension/tests/context-virtualization/runtime.test.js +0 -216
- package/pi-extension/tests/conversation-history/runtime.test.js +0 -98
- package/pi-extension/tests/conversation-history/search.test.js +0 -97
- package/pi-extension/tests/fixtures/pi-host.js +0 -4
- package/pi-extension/tests/fixtures/routing-native.js +0 -188
- package/pi-extension/tests/integration/mode-free-core.test.js +0 -219
- package/pi-extension/tests/integration/pi-extension.test.js +0 -968
- package/pi-extension/tests/integration/prompt-architecture.test.js +0 -431
- package/pi-extension/tests/integration/unaffected-regressions.test.js +0 -478
- package/pi-extension/tests/settings/settings-tui.test.js +0 -243
- package/pi-extension/tsconfig.json +0 -16
- package/runtime/prompts/context-virtualization.md +0 -3
- package/runtime/prompts/conversation-history.md +0 -3
- package/skills/design-for-depth/references/software-design-philosophy.md +0 -202
- /package/pi-extension/dist/{cognitive-routing-v2 → cognitive-routing}/budget.js +0 -0
package/NOTICE
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Freeflow
|
|
2
|
+
Copyright (c) 2026 Hassan Mohiddin. Licensed under the MIT License (see LICENSE).
|
|
3
|
+
|
|
4
|
+
This product includes software derived from OpenAI Codex
|
|
5
|
+
(https://github.com/openai/codex), Copyright 2025 OpenAI, licensed under the
|
|
6
|
+
Apache License, Version 2.0 (see licenses/Apache-2.0.txt):
|
|
7
|
+
|
|
8
|
+
- pi-extension/src/tool-execution/apply-patch/grammar.ts: the apply_patch Lark
|
|
9
|
+
grammar (codex-rs/core/assets/tools/apply_patch.lark), unmodified.
|
|
10
|
+
- pi-extension/src/tool-execution/apply-patch/parser.ts and match.ts: ported
|
|
11
|
+
from codex-rs/apply-patch (parser and seek_sequence), with changes for Pi.
|
|
12
|
+
|
|
13
|
+
Ported at upstream commit bcd6d9ab. The built files under pi-extension/dist/
|
|
14
|
+
carry the same code and attribution.
|
package/README.md
CHANGED
|
@@ -2,9 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
**A feedback-based control system for coding agents.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Memory. Context. Compute.**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Freeflow helps coding agents do consequential work without turning every task into a rigid ceremony. It gives the active agent a clear Interaction Contract, one adaptive Workflow, durable task memory, focused engineering methods, and controlled delivery boundaries.
|
|
8
|
+
|
|
9
|
+
The host agent still owns tools, permissions, and execution. Freeflow helps it understand the request, choose the right next action, preserve continuity, use evidence honestly, place compute deliberately, and know when to continue, ask, defer, or stop.
|
|
10
|
+
|
|
11
|
+
- **New to Freeflow?** Read [Using Freeflow Effectively](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/using-freeflow.md).
|
|
12
|
+
- **Installing it?** Start with [Getting Started](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/getting-started.md).
|
|
13
|
+
- **Using Cognitive Routing?** Read the detailed [Cognitive Routing reference](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/capabilities/cognitive-routing.md).
|
|
14
|
+
- **Using Freeflow on Pi?** Read [Tool Execution](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/capabilities/tool-execution.md) and [Compaction](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/capabilities/compaction.md).
|
|
15
|
+
|
|
16
|
+
## Memory · Context · Compute
|
|
17
|
+
|
|
18
|
+
| Pillar | What it provides | Status |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| **Memory — Track Work** | Working Records that preserve current context, one Current Slice, decisions, evidence limits, future work, and the next useful action. | Available through the shared skill surface. |
|
|
21
|
+
| **Context — Context Control** | Planned source-aware residency, representation, and bounded recovery for admitted context. | Planned/in development; unavailable in this release. |
|
|
22
|
+
| **Compute — Cognitive Routing** | Coordinator, Helper, and Executor profiles in one agent/session, with mode-aware work placement and optional worker-evidence projection. | Experimental native-Pi capability; installed-host and model-behavior evidence remain separate. |
|
|
23
|
+
|
|
24
|
+
The former Freeflow Context (`freeflow_context`, `/freeflow context`), Context Virtualization, and Conversation History surfaces are removed as a breaking change. Context Control v2 is planned but unavailable in this release; it does not replace those operations yet. See the Unreleased changelog for the required config-key cleanup.
|
|
25
|
+
|
|
26
|
+
## Selected OpenAI model cache-aware reuse
|
|
27
|
+
|
|
28
|
+
Freeflow's Pi extension includes cache-aware request history and a qualified effort-history adapter for selected GPT-6 models: `gpt-6-astra`, `gpt-6-luna`, and `gpt-6-sol`.
|
|
29
|
+
|
|
30
|
+
- compatible Freeflow-generated state stays at stable historical positions where possible;
|
|
31
|
+
- changed runtime state is appended instead of rewriting earlier generated context;
|
|
32
|
+
- supported OpenAI Responses and OpenAI-Codex Responses routes can retain a request-level effort baseline and insert trusted effort changes at validated historical positions;
|
|
33
|
+
- unsupported or uncertain requests fall back to the untouched native request.
|
|
34
|
+
|
|
35
|
+
The adapter uses `freeflow-openai-effort-v1`. Older `freeflow-astra-effort-v1` entries remain in native session history but are not replayed; no migration is provided. This is request-construction and compatibility behavior—not proof of a provider cache hit, billing reduction, model quality improvement, or universal provider support. See the [Pi cache reuse boundaries](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/integrations/pi.md#cache-reuse-boundaries).
|
|
8
36
|
|
|
9
37
|
## Why Freeflow
|
|
10
38
|
|
|
@@ -12,85 +40,93 @@ Coding agents commonly fail at control boundaries:
|
|
|
12
40
|
|
|
13
41
|
| Pressure | Freeflow response |
|
|
14
42
|
| --- | --- |
|
|
15
|
-
| A question or tentative idea becomes an edit. | The Interaction Contract
|
|
16
|
-
| A prompt conflicts with
|
|
17
|
-
| New evidence invalidates the
|
|
18
|
-
| Every task receives
|
|
19
|
-
| A passing command becomes an unsupported completion claim. | Verify Work
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- [How it works](#how-it-works)
|
|
26
|
-
- [Host support](#host-support)
|
|
27
|
-
- [Capabilities](#capabilities)
|
|
28
|
-
- [Quick start](#quick-start)
|
|
29
|
-
- [Workflow](#workflow)
|
|
30
|
-
- [System prompt architecture](#system-prompt-architecture)
|
|
31
|
-
- [Evidence and limits](#evidence-and-limits)
|
|
32
|
-
- [Commands](#commands)
|
|
33
|
-
- [Documentation and development](#documentation-and-development)
|
|
34
|
-
- [What Freeflow is not](#what-freeflow-is-not)
|
|
43
|
+
| A question or tentative idea becomes an edit. | The Interaction Contract distinguishes discussion from authorization. |
|
|
44
|
+
| A prompt conflicts with policy, tests, or accepted behavior. | Decision Gate exposes the material conflict before mutation. |
|
|
45
|
+
| New evidence invalidates the chosen approach. | Workflow re-enters only the affected owner and preserves valid work. |
|
|
46
|
+
| Every task receives the same heavy process. | Workflow scales pressure to consequence, uncertainty, interaction, and reversibility. |
|
|
47
|
+
| A passing command becomes an unsupported completion claim. | Verify Work ties the claim to the actual observer and evidence boundary. |
|
|
48
|
+
| Context loss erases decisions and partial work. | Track Work restores a complete Working Record and reconciles it with live state. |
|
|
49
|
+
| Expensive models perform routine supporting work. | Cognitive Routing can place bounded support and substantive execution on configured profiles. |
|
|
50
|
+
| Models flood their context with whole files and long command output, or lose edits to files that changed behind them. | Tool Execution teaches narrow reads and capped output, tracks what the model has read, and adds `apply_patch` and background commands. |
|
|
51
|
+
| Pi's automatic compaction summarizes work the agent was in the middle of, and the next step drifts. | Compaction warns the agent first, so it compacts at a safe point from its own summary, Working Record and carried context. |
|
|
52
|
+
| Request history changes destroy reusable prefixes unnecessarily. | RequestHistory and qualified selected-model effort adaptation preserve compatible request structure. |
|
|
35
53
|
|
|
36
54
|
## How it works
|
|
37
55
|
|
|
38
|
-
Freeflow uses one active agent
|
|
56
|
+
Freeflow uses one active agent and one adaptive Workflow:
|
|
39
57
|
|
|
40
58
|
```text
|
|
41
59
|
Interaction Lifecycle
|
|
42
60
|
└─ Workflow Feedback Loop
|
|
43
|
-
├─
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
61
|
+
├─ interpret authority and establish the work agreement
|
|
62
|
+
├─ choose the narrowest current owner
|
|
63
|
+
├─ discuss, act, test, or observe
|
|
64
|
+
├─ determine what the evidence supports
|
|
65
|
+
├─ self-review the supported result
|
|
66
|
+
└─ continue, correct, diagnose, ask, defer, or stop
|
|
49
67
|
```
|
|
50
68
|
|
|
51
|
-
|
|
69
|
+
Focused methods own different results: Discuss, Track Work, Execute Work, Diagnose Failure, Verify Work, Review Work, Review Artifact, Write Spec, Write Plan, Release Work, and others. They compose when their conditions apply; they are not mandatory phases.
|
|
52
70
|
|
|
53
|
-
|
|
71
|
+
On a qualified native Pi host, automatic Cognitive Routing sits inside the current Workflow owner:
|
|
54
72
|
|
|
55
|
-
|
|
73
|
+
```text
|
|
74
|
+
Coordinator receives user direction
|
|
75
|
+
-> Helper handles normal supporting assignments when enabled
|
|
76
|
+
-> Executor handles substantive or consequential assignments
|
|
77
|
+
-> assigned worker returns actual work and evidence
|
|
78
|
+
-> Coordinator assesses, continues, corrects, or closes
|
|
79
|
+
```
|
|
56
80
|
|
|
57
|
-
|
|
81
|
+
Only one worker assignment runs at a time. A profile switch is not another agent or independent review. A worker report does not complete a Track Work Slice, task, commit, integration, release, or launch.
|
|
58
82
|
|
|
59
|
-
|
|
83
|
+
## Cognitive Routing modes
|
|
84
|
+
|
|
85
|
+
The labels describe intended optimization direction and potential, not guarantees.
|
|
86
|
+
|
|
87
|
+
| Mode | Positioning | Behavior |
|
|
60
88
|
| --- | --- | --- |
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
| Cursor | Agent Plugins 1.0 skills plus Cursor-specific hook delivery | Not available; Pi/PiFlow capabilities are not delivered |
|
|
65
|
-
| GitHub Copilot / VS Code | Agent Plugins 1.0 skills plus Copilot-specific hook delivery | Not available; Pi/PiFlow capabilities are not delivered |
|
|
66
|
-
| Kiro | Agent Plugins 1.0 Power and shared skills | Not available; no Kiro-specific runtime adapter is claimed |
|
|
67
|
-
| OpenCode v2 | Canonical `skills/` through OpenCode’s project skill source | Not available; skills-only support |
|
|
68
|
-
| Hermes Agent | Agent Plugins 1.0 package and canonical skills | Not available; skills-only support |
|
|
69
|
-
| Pi | Shared skills and the Pi extension source entrypoint | Cognitive Routing is an unreleased experimental candidate; native SDK and bundled-CLI dispatch are exercised by isolated local fixtures; installed-user and model-behavior acceptance remain separate |
|
|
70
|
-
| PiFlow | Freeflow package can be hosted by the separate PiFlow distribution | Cognitive Routing is explicitly unavailable in the current source adapter |
|
|
89
|
+
| **Helper only** | Quality-first — maximum performance and output-quality potential | Coordinator implements; Helper gathers context, prepares, checks, maintains task memory, and performs settled support. |
|
|
90
|
+
| **Executor only** | Savings-first — maximum savings potential | Coordinator directs and assesses; Executor owns delegated environment work. |
|
|
91
|
+
| **Both** | Balanced | Helper handles frequent routine support; Executor is commissioned for substantive or consequential work. |
|
|
71
92
|
|
|
72
|
-
|
|
93
|
+
A comparatively economical but capable Helper can contribute much of Both mode's potential savings because many routine assignments go through it. The detailed guide includes [recommended OpenAI subscription starting presets](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/using-freeflow.md#recommended-openai-subscription-starting-presets) and the limits on those recommendations.
|
|
73
94
|
|
|
74
|
-
##
|
|
95
|
+
## Availability
|
|
75
96
|
|
|
76
|
-
|
|
97
|
+
| Surface | Availability |
|
|
98
|
+
| --- | --- |
|
|
99
|
+
| Interaction Contract, Workflow, and 25 base skills | Shared supported package surface when Freeflow is effectively activated |
|
|
100
|
+
| Track Work / Working Records | Shared skill surface |
|
|
101
|
+
| Context Control v2 | Planned/in development; not available in this release |
|
|
102
|
+
| Cognitive Routing | Experimental native Pi source candidate |
|
|
103
|
+
| Selected GPT-6 effort history | Narrow source/fixture-qualified native Pi route for Astra, Luna, and Sol; provider savings unverified |
|
|
104
|
+
| Tool Execution | Experimental native Pi; off by default; native fixtures and live sessions exercise it, its effect on task results is unmeasured |
|
|
105
|
+
| Compaction | Experimental native Pi; on by default; native fixtures and live sessions exercise it, summary quality against Pi's summarizer is unmeasured |
|
|
77
106
|
|
|
78
|
-
|
|
79
|
-
- **Action Selection** bounds uncertain or broad Environment Interactions while preserving the current owner.
|
|
80
|
-
- **Track Work** maintains a Working Record when decisions, evidence, blockers, or the next action must survive context loss.
|
|
81
|
-
- **Verify Work, Review Work, Review Artifact, and Diagnose Failure** separate factual support, judgment, artifact fitness, and unsupported causes.
|
|
107
|
+
Configuration or installation alone does not establish runtime delivery.
|
|
82
108
|
|
|
83
|
-
|
|
109
|
+
## Host support
|
|
84
110
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
111
|
+
Freeflow is one package with different host boundaries:
|
|
112
|
+
|
|
113
|
+
| Host | Freeflow support | Cognitive Routing |
|
|
114
|
+
| --- | --- | --- |
|
|
115
|
+
| Codex | Shared skills and Codex `SessionStart` hook | Not available |
|
|
116
|
+
| Claude Code | Shared skills and Claude Code `SessionStart` hook | Not available |
|
|
117
|
+
| Gemini CLI | Gemini extension, shared skills, and Gemini `SessionStart` hook | Not available |
|
|
118
|
+
| Cursor | Agent Plugins 1.0 skills plus Cursor-specific hook delivery | Not available |
|
|
119
|
+
| GitHub Copilot / VS Code | Agent Plugins 1.0 skills plus Copilot/VS Code hook delivery | Not available |
|
|
120
|
+
| Kiro | Agent Plugins 1.0 Power and shared skills | Not available; skills-only claim |
|
|
121
|
+
| OpenCode v2 | Canonical `skills/` through a documented project skill source | Not available; skills-only support |
|
|
122
|
+
| Hermes Agent | Agent Plugins 1.0 package and canonical skills | Not available; skills-only support |
|
|
123
|
+
| Pi | Shared skills and the native extension (core prompt, Compaction, Tool Execution) | Experimental; native fixtures and live Pi 1.0 sessions on GPT-6 Luna and Sol 6.1 |
|
|
88
124
|
|
|
89
|
-
|
|
125
|
+
Freeflow owns workflow policy, portable prompts, skills, capability source, host adapters, and the Pi extension. Each host owns launch, package installation, session state, trust, and updates. Freeflow's PiFlow integration was removed as a breaking change; use native Pi for the Freeflow extension. Freeflow does not change or uninstall a separate PiFlow installation. See the [Unreleased changelog](CHANGELOG.md#unreleased).
|
|
90
126
|
|
|
91
127
|
## Quick start
|
|
92
128
|
|
|
93
|
-
For complete
|
|
129
|
+
For complete instructions and delivery checks, use [Getting Started](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/getting-started.md).
|
|
94
130
|
|
|
95
131
|
### Codex
|
|
96
132
|
|
|
@@ -116,17 +152,24 @@ Trust the Freeflow hook from `/hooks`, then start a new session.
|
|
|
116
152
|
gemini extensions install https://github.com/hassan-mohiddin/freeflow
|
|
117
153
|
```
|
|
118
154
|
|
|
119
|
-
Restart Gemini CLI after installation or updates.
|
|
155
|
+
Restart Gemini CLI after installation or updates.
|
|
120
156
|
|
|
121
|
-
### Cursor, GitHub Copilot, VS Code, Kiro, OpenCode, and Hermes
|
|
157
|
+
### Cursor, GitHub Copilot, VS Code, Kiro, OpenCode, and Hermes
|
|
122
158
|
|
|
123
|
-
These hosts consume the root Agent Plugins 1.0 manifest and
|
|
159
|
+
These hosts consume the root Agent Plugins 1.0 manifest and canonical `skills/` surface through their documented plugin or skill-source workflows. Copilot CLI can install directly:
|
|
124
160
|
|
|
125
161
|
```bash
|
|
126
162
|
copilot plugin install hassan-mohiddin/freeflow
|
|
127
163
|
```
|
|
128
164
|
|
|
129
|
-
|
|
165
|
+
OpenCode can point its `skills` array at the installed package's `skills/` directory. Hermes can install the portable package with:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
hermes plugins install hassan-mohiddin/freeflow --no-enable
|
|
169
|
+
hermes plugins enable freeflow
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
See [Getting Started](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/getting-started.md) for host-specific claims and limits.
|
|
130
173
|
|
|
131
174
|
### Pi
|
|
132
175
|
|
|
@@ -140,82 +183,39 @@ Or:
|
|
|
140
183
|
pi install git:github.com/hassan-mohiddin/freeflow
|
|
141
184
|
```
|
|
142
185
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
### PiFlow
|
|
186
|
+
Restart Pi or use `/reload` after installation or updates.
|
|
146
187
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
```bash
|
|
150
|
-
npm install -g --ignore-scripts @hassangameryt/piflow
|
|
151
|
-
piflow install npm:@hassangameryt/freeflow
|
|
152
|
-
```
|
|
188
|
+
### Activate a repository
|
|
153
189
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
```bash
|
|
157
|
-
piflow install git:github.com/hassan-mohiddin/freeflow
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
The current source entrypoint explicitly marks the redesigned PiFlow Cognitive Routing adapter unavailable. Installing the package still does not establish routing availability.
|
|
161
|
-
|
|
162
|
-
In the target repository, run:
|
|
190
|
+
Run:
|
|
163
191
|
|
|
164
192
|
```text
|
|
165
193
|
/setup-freeflow
|
|
166
194
|
```
|
|
167
195
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
## Workflow
|
|
196
|
+
This creates the required shared `.freeflow/config.json` activation boundary. Minimal activation is `{}`. Optional `.freeflow/local.json` personal overrides cannot activate Freeflow alone.
|
|
171
197
|
|
|
172
|
-
|
|
198
|
+
## Use Freeflow effectively
|
|
173
199
|
|
|
174
|
-
A
|
|
175
|
-
|
|
176
|
-
Every bounded activity follows the same Feedback Loop:
|
|
200
|
+
A clear prompt normally needs:
|
|
177
201
|
|
|
178
202
|
```text
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
203
|
+
Outcome: what should be true?
|
|
204
|
+
Scope: what may change?
|
|
205
|
+
Exclusions: what must not happen?
|
|
206
|
+
Sources and constraints: what governs?
|
|
207
|
+
Evidence: what should support the result?
|
|
208
|
+
User-owned choices: what must come back to me?
|
|
209
|
+
Stop and return: where should the agent stop?
|
|
185
210
|
```
|
|
186
211
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
Freeflow’s model-facing surface has four coordinated parts:
|
|
190
|
-
|
|
191
|
-
1. **Core guidance** in `runtime/prompts/core.md` contains identity, shared terms, loops, Workflow, Action Selection, and Supported Exit cues.
|
|
192
|
-
2. **Interaction Contract** in `runtime/prompts/interaction-contract.md` remains a separate mandatory fragment so its behavior can be revised independently.
|
|
193
|
-
3. **Runtime State** reports current capability availability and v2 Cognitive Routing `Control`/`Profile` at session start, after context reconstruction or loss, and when displayed state changes; unchanged state remains in the current provider context.
|
|
194
|
-
4. **Discoverable skills and tools** provide the 24 base methods and individually gated optional capability operations.
|
|
195
|
-
|
|
196
|
-
The core guidance and Interaction Contract are always delivered together when Freeflow is enabled. Optional capability content is omitted and reported unavailable rather than fabricated. One effective-state snapshot determines prompt assembly, discovery, tools, and projection.
|
|
197
|
-
|
|
198
|
-
Read the full [System Prompt Architecture](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/prompt-architecture.md) and [Workflow](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/workflow.md) docs for the complete contract.
|
|
199
|
-
|
|
200
|
-
## Evidence and limits
|
|
201
|
-
|
|
202
|
-
Freeflow is explicit about what its checks prove:
|
|
203
|
-
|
|
204
|
-
- deterministic checks prove structure, assembly, package boundaries, and selected delivery behavior;
|
|
205
|
-
- host-manifest and adapter checks prove the Agent Plugins 1.0, Gemini, Cursor, and Copilot/VS Code package shapes, not native host dispatch;
|
|
206
|
-
- OpenCode and Hermes compatibility checks cover the canonical Agent Skills/Agent Plugins package shape, not native host plugin APIs or runtime prompt delivery;
|
|
207
|
-
- release evidence is versioned and records source, checks, artifacts, deferred evidence, and limits;
|
|
208
|
-
- local installation does not prove remote host installation or registry propagation;
|
|
209
|
-
- deterministic skill/runtime checks do not prove model behavior or universal skill readiness;
|
|
210
|
-
- Cognitive Routing remains experimental pending behavioral acceptance.
|
|
212
|
+
Natural language is preferred. Direct calls such as `/discuss`, `/execute-work`, `/diagnose-failure`, `/verify-work`, `/review-work`, `/track-work`, and `/release-work` are useful when they make the intended method clear. A skill is a method, not an authority grant or required phase.
|
|
211
213
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
See [Release Process](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/release.md) and [Release Evidence](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/release-evidence/README.md).
|
|
214
|
+
Read [Using Freeflow Effectively](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/using-freeflow.md) for prompt examples, Workflow management, Track Work, settings, mode selection, preset recommendations, cache/cost boundaries, and troubleshooting.
|
|
215
215
|
|
|
216
216
|
## Commands
|
|
217
217
|
|
|
218
|
-
|
|
218
|
+
Canonical Pi direct calls include:
|
|
219
219
|
|
|
220
220
|
```text
|
|
221
221
|
/discuss
|
|
@@ -224,6 +224,7 @@ Natural language is preferred. Pi registers these canonical direct calls:
|
|
|
224
224
|
/write-spec
|
|
225
225
|
/review-artifact
|
|
226
226
|
/write-plan
|
|
227
|
+
/write-docs
|
|
227
228
|
/execute-work
|
|
228
229
|
/simplify-code
|
|
229
230
|
/migration-work
|
|
@@ -246,52 +247,66 @@ Contributor calls:
|
|
|
246
247
|
/evaluate-skill
|
|
247
248
|
```
|
|
248
249
|
|
|
249
|
-
|
|
250
|
+
Native Pi controls:
|
|
250
251
|
|
|
251
252
|
```text
|
|
252
253
|
/freeflow
|
|
254
|
+
/freeflow status
|
|
253
255
|
/freeflow settings
|
|
254
256
|
/freeflow settings session
|
|
255
257
|
/freeflow settings local
|
|
256
258
|
/freeflow settings repo
|
|
257
259
|
/freeflow profile coordinator
|
|
260
|
+
/freeflow profile helper
|
|
258
261
|
/freeflow profile executor
|
|
259
262
|
/freeflow profile auto
|
|
260
263
|
/freeflow profile history
|
|
261
264
|
/freeflow resume
|
|
265
|
+
/freeflow compact
|
|
262
266
|
```
|
|
263
267
|
|
|
264
|
-
|
|
268
|
+
Profile changes and resume require an idle host. These commands do not prove installed-host delivery or authorize task work.
|
|
269
|
+
|
|
270
|
+
## Evidence and limits
|
|
265
271
|
|
|
266
|
-
|
|
272
|
+
Freeflow is explicit about what observations prove:
|
|
267
273
|
|
|
268
|
-
-
|
|
269
|
-
-
|
|
274
|
+
- deterministic checks can establish source structure, prompt assembly, schemas, package boundaries, and named fixtures;
|
|
275
|
+
- package shape does not prove native host dispatch, trust UI, or marketplace availability;
|
|
276
|
+
- request-prefix compatibility does not prove a provider cache hit;
|
|
277
|
+
- model/profile availability does not prove quality or cost improvement;
|
|
278
|
+
- local release preparation is not publication;
|
|
279
|
+
- publication is not production deployment.
|
|
270
280
|
|
|
271
|
-
|
|
281
|
+
Cognitive Routing remains experimental pending broader behavioral acceptance. Context Control v2 remains planned. The deprecated Output Router is removed and archived outside the active runtime.
|
|
272
282
|
|
|
273
|
-
## Documentation
|
|
283
|
+
## Documentation
|
|
274
284
|
|
|
275
|
-
- [
|
|
285
|
+
- [Using Freeflow Effectively](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/using-freeflow.md)
|
|
276
286
|
- [Getting Started](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/getting-started.md)
|
|
277
|
-
- [
|
|
278
|
-
- [
|
|
287
|
+
- [Workflow](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/workflow.md)
|
|
288
|
+
- [Cognitive Routing](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/capabilities/cognitive-routing.md)
|
|
289
|
+
- [Tool Execution](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/capabilities/tool-execution.md)
|
|
290
|
+
- [Compaction](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/capabilities/compaction.md)
|
|
291
|
+
- [Pi integration](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/integrations/pi.md)
|
|
292
|
+
- [Architecture](https://github.com/hassan-mohiddin/freeflow/blob/main/dev-docs/README.md)
|
|
293
|
+
- [System prompt architecture](https://github.com/hassan-mohiddin/freeflow/blob/main/dev-docs/subsystems/prompt-assembly.md)
|
|
294
|
+
- [Skill routing](https://github.com/hassan-mohiddin/freeflow/blob/main/dev-docs/subsystems/skill-routing.md)
|
|
279
295
|
- [Capabilities](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/capabilities/README.md)
|
|
280
|
-
- [
|
|
281
|
-
- [
|
|
282
|
-
- [Release Process](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/release.md)
|
|
296
|
+
- [Release process](https://github.com/hassan-mohiddin/freeflow/blob/main/dev-docs/guides/release.md)
|
|
297
|
+
- [Release evidence](https://github.com/hassan-mohiddin/freeflow/blob/main/plugin-docs/release-evidence/README.md)
|
|
283
298
|
- [Changelog](CHANGELOG.md)
|
|
284
299
|
- [Contributing](CONTRIBUTING.md)
|
|
285
300
|
|
|
286
|
-
For local development,
|
|
301
|
+
For local Pi extension development, refresh a development snapshot only from a committed Freeflow revision with `npm run snapshot:refresh`. A snapshot is not a production install or release.
|
|
287
302
|
|
|
288
303
|
## What Freeflow is not
|
|
289
304
|
|
|
290
305
|
- Not a new agent or workflow engine.
|
|
291
306
|
- Not a rigid phase pipeline.
|
|
292
|
-
- Not a permission or
|
|
307
|
+
- Not a permission or enforcement framework.
|
|
293
308
|
- Not a replacement for repository instructions, tests, policies, or review culture.
|
|
294
|
-
- Not proof that
|
|
309
|
+
- Not proof that a configured model, cache path, or candidate is behaviorally ready.
|
|
295
310
|
|
|
296
311
|
## License
|
|
297
312
|
|