@hassangameryt/freeflow 0.2.0 → 0.4.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/.agents/plugins/marketplace.json +1 -1
- package/.claude-plugin/marketplace.json +4 -4
- package/{plugins/freeflow/.claude-plugin → .claude-plugin}/plugin.json +5 -2
- package/{plugins/freeflow/.codex-plugin → .codex-plugin}/plugin.json +8 -9
- package/README.md +194 -127
- package/assets/feedback-loop.png +0 -0
- package/assets/freeflow-plugin-icon.png +0 -0
- package/assets/freeflow_workflow_map.png +0 -0
- package/assets/workflow.png +0 -0
- package/command-surface.json +129 -0
- package/hooks/freeflow-runtime-context.mjs +419 -0
- package/hooks/tests/check-runtime-context-hook.sh +223 -0
- package/package.json +41 -22
- package/pi-extension/dist/index.js +269 -0
- package/pi-extension/dist/integrations/mcp-config.js +29 -0
- package/pi-extension/dist/output-router/host-producer-identification.js +232 -0
- package/pi-extension/dist/output-router/native-safety-net.js +216 -0
- package/pi-extension/dist/output-router/observed-tool-routing.js +122 -0
- package/pi-extension/dist/output-router/renderers.js +1023 -0
- package/pi-extension/dist/output-router/router-tools.js +554 -0
- package/pi-extension/dist/output-router/schemas.js +383 -0
- package/pi-extension/dist/output-router/status.js +744 -0
- package/pi-extension/dist/output-router/utils.js +502 -0
- package/pi-extension/dist/runtime/runtime-context.js +798 -0
- package/pi-extension/dist/settings/settings-tui.js +314 -0
- package/pi-extension/dist/settings/settings-ui.js +1487 -0
- package/pi-extension/freeflow/index.js +1 -0
- package/pi-extension/src/index.ts +295 -0
- package/pi-extension/src/integrations/mcp-config.ts +32 -0
- package/pi-extension/src/output-router/host-producer-identification.ts +256 -0
- package/pi-extension/src/output-router/native-safety-net.ts +248 -0
- package/pi-extension/src/output-router/observed-tool-routing.ts +134 -0
- package/pi-extension/src/output-router/renderers.ts +1108 -0
- package/pi-extension/src/output-router/router-tools.ts +579 -0
- package/pi-extension/src/output-router/schemas.ts +387 -0
- package/pi-extension/src/output-router/status.ts +791 -0
- package/pi-extension/src/output-router/utils.ts +554 -0
- package/pi-extension/src/runtime/runtime-context.ts +895 -0
- package/pi-extension/src/settings/settings-tui.ts +408 -0
- package/pi-extension/src/settings/settings-ui.ts +1730 -0
- package/pi-extension/tests/integration/pi-extension.test.js +4018 -0
- package/pi-extension/tests/output-router/observed-producers.test.js +132 -0
- package/pi-extension/tests/output-router/search.test.js +722 -0
- package/pi-extension/tests/settings/settings-tui.test.js +243 -0
- package/pi-extension/tsconfig.json +16 -0
- package/{plugins/freeflow/router/dist → router/dist/benchmarks}/benchmark-harness.d.ts +16 -13
- package/router/dist/benchmarks/benchmark-harness.js +92 -0
- package/router/dist/benchmarks/benchmarks.d.ts +109 -0
- package/router/dist/benchmarks/benchmarks.js +979 -0
- package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +95 -0
- package/router/dist/benchmarks/codex-qa-benchmarks.js +500 -0
- package/router/dist/benchmarks/command-benchmarks.d.ts +143 -0
- package/router/dist/benchmarks/command-benchmarks.js +698 -0
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +82 -0
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +773 -0
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +132 -0
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +1380 -0
- package/router/dist/benchmarks/context-saving-baseline.d.ts +60 -0
- package/router/dist/benchmarks/context-saving-baseline.js +470 -0
- package/router/dist/benchmarks/index-benchmarks.d.ts +103 -0
- package/router/dist/benchmarks/index-benchmarks.js +862 -0
- package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +101 -0
- package/router/dist/benchmarks/storage-policy-benchmarks.js +618 -0
- package/router/dist/benchmarks/vault-index-benchmarks.d.ts +56 -0
- package/router/dist/benchmarks/vault-index-benchmarks.js +322 -0
- package/router/dist/config/config.d.ts +103 -0
- package/router/dist/config/config.js +632 -0
- package/{plugins/freeflow/router/dist → router/dist/config}/router-contract.d.ts +2 -2
- package/router/dist/config/router-contract.js +54 -0
- package/{plugins/freeflow/router/dist → router/dist/config}/schema.d.ts +19 -10
- package/router/dist/config/schema.js +648 -0
- package/router/dist/config/types.d.ts +573 -0
- package/router/dist/config/types.js +41 -0
- package/router/dist/evidence/bounded-evidence.d.ts +40 -0
- package/router/dist/evidence/bounded-evidence.js +323 -0
- package/router/dist/evidence/evidence-range-selector.d.ts +24 -0
- package/router/dist/evidence/evidence-range-selector.js +232 -0
- package/router/dist/evidence/evidence-search.d.ts +27 -0
- package/router/dist/evidence/evidence-search.js +490 -0
- package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence.d.ts +18 -18
- package/router/dist/evidence/evidence.js +200 -0
- package/router/dist/evidence/failure-contracts.d.ts +37 -0
- package/router/dist/evidence/failure-contracts.js +166 -0
- package/router/dist/evidence/line-ranges.d.ts +24 -0
- package/router/dist/evidence/line-ranges.js +22 -0
- package/router/dist/experiments/local-index.d.ts +64 -0
- package/router/dist/experiments/local-index.js +581 -0
- package/router/dist/index.d.ts +30 -0
- package/router/dist/index.js +32 -0
- package/router/dist/local/local-traversal.d.ts +18 -0
- package/router/dist/local/local-traversal.js +334 -0
- package/router/dist/processing/engine.d.ts +132 -0
- package/router/dist/processing/engine.js +533 -0
- package/router/dist/processing/reducers.d.ts +280 -0
- package/router/dist/processing/reducers.js +1673 -0
- package/router/dist/processing/renderers.d.ts +31 -0
- package/router/dist/processing/renderers.js +195 -0
- package/router/dist/processing/scripts.d.ts +91 -0
- package/router/dist/processing/scripts.js +386 -0
- package/{plugins/freeflow/router/dist → router/dist/repo}/repo-traversal.d.ts +9 -9
- package/router/dist/repo/repo-traversal.js +245 -0
- package/router/dist/routing/observed-reducers.d.ts +41 -0
- package/router/dist/routing/observed-reducers.js +661 -0
- package/router/dist/routing/observed-routing.d.ts +26 -0
- package/router/dist/routing/observed-routing.js +378 -0
- package/router/dist/routing/parsers.d.ts +16 -0
- package/router/dist/routing/parsers.js +521 -0
- package/router/dist/routing/run-filters.d.ts +60 -0
- package/router/dist/routing/run-filters.js +238 -0
- package/router/dist/routing/run-reducers.d.ts +49 -0
- package/router/dist/routing/run-reducers.js +122 -0
- package/router/dist/sandbox/adapter-roots.d.ts +46 -0
- package/router/dist/sandbox/adapter-roots.js +66 -0
- package/router/dist/sandbox/eryx-python-adapter.d.ts +13 -0
- package/router/dist/sandbox/eryx-python-adapter.js +868 -0
- package/router/dist/sandbox/jq-wasm-adapter.d.ts +9 -0
- package/router/dist/sandbox/jq-wasm-adapter.js +429 -0
- package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +13 -0
- package/router/dist/sandbox/quickjs-wasi-adapter.js +384 -0
- package/router/dist/sandbox/script-sandbox.d.ts +134 -0
- package/router/dist/sandbox/script-sandbox.js +337 -0
- package/router/dist/setup/script-transform-adapters.d.ts +32 -0
- package/router/dist/setup/script-transform-adapters.js +278 -0
- package/router/dist/tools/batch.d.ts +33 -0
- package/router/dist/tools/batch.js +586 -0
- package/router/dist/tools/run.d.ts +62 -0
- package/router/dist/tools/run.js +1304 -0
- package/router/dist/tools/search.d.ts +66 -0
- package/router/dist/tools/search.js +1364 -0
- package/router/dist/transform/engine.d.ts +168 -0
- package/router/dist/transform/engine.js +2072 -0
- package/router/dist/vault/vault-index.d.ts +125 -0
- package/router/dist/vault/vault-index.js +416 -0
- package/router/dist/vault/vault.d.ts +138 -0
- package/router/dist/vault/vault.js +630 -0
- package/runtime/interaction-contract.md +16 -0
- package/skills/bypass/SKILL.md +82 -0
- package/skills/commit-work/SKILL.md +106 -0
- package/skills/commit-work/references/staging-decisions.md +73 -0
- package/skills/decision-gate/SKILL.md +48 -0
- package/skills/design-for-depth/SKILL.md +106 -0
- package/skills/design-for-depth/references/design-pressure-signals.md +314 -0
- package/skills/design-for-depth/references/interface-design-loop.md +156 -0
- package/skills/design-for-depth/references/software-design-philosophy.md +248 -0
- package/skills/diagnose-failure/SKILL.md +105 -0
- package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +36 -0
- package/skills/diagnose-failure/references/flaky-and-performance.md +43 -0
- package/skills/discuss/SKILL.md +121 -0
- package/skills/discuss/references/checkpoints.md +66 -0
- package/skills/evaluate-skill/SKILL.md +105 -0
- package/skills/evaluate-skill/references/definition-schema.md +345 -0
- package/skills/evaluate-skill/references/evaluation-design.md +86 -0
- package/skills/evaluate-skill/references/execution-and-evidence.md +85 -0
- package/skills/evaluate-skill/references/review-and-revision.md +51 -0
- package/skills/evaluate-skill/scripts/lib/definitions.mjs +296 -0
- package/skills/evaluate-skill/scripts/lib/evidence.mjs +46 -0
- package/skills/evaluate-skill/scripts/lib/grade-comparison.mjs +60 -0
- package/skills/evaluate-skill/scripts/lib/grade-interaction.mjs +148 -0
- package/skills/evaluate-skill/scripts/lib/grade-support.mjs +126 -0
- package/skills/evaluate-skill/scripts/lib/grade-workspace.mjs +192 -0
- package/skills/evaluate-skill/scripts/lib/grade.mjs +56 -0
- package/skills/evaluate-skill/scripts/lib/pi.mjs +489 -0
- package/skills/evaluate-skill/scripts/lib/process.mjs +79 -0
- package/skills/evaluate-skill/scripts/lib/rpc.mjs +444 -0
- package/skills/evaluate-skill/scripts/lib/runner.mjs +346 -0
- package/skills/evaluate-skill/scripts/lib/sandbox.mjs +409 -0
- package/skills/evaluate-skill/scripts/lib/view.mjs +337 -0
- package/skills/evaluate-skill/scripts/pi-guard.mjs +164 -0
- package/skills/evaluate-skill/scripts/skill-eval.mjs +101 -0
- package/skills/execute-work/SKILL.md +99 -0
- package/skills/execute-work/references/code-practices.md +78 -0
- package/skills/execute-work/references/execution-loop.md +77 -0
- package/skills/finish-branch/SKILL.md +117 -0
- package/skills/finish-branch/references/integration-options.md +80 -0
- package/skills/handoff/SKILL.md +92 -0
- package/skills/handoff/references/templates.md +141 -0
- package/skills/launch-work/SKILL.md +116 -0
- package/skills/launch-work/references/launch-readiness.md +85 -0
- package/skills/migration-work/SKILL.md +115 -0
- package/skills/migration-work/references/migration-lifecycle.md +82 -0
- package/skills/mode-contract/SKILL.md +82 -0
- package/skills/output-router/SKILL.md +206 -0
- package/skills/output-router/references/safety-policy.md +40 -0
- package/skills/release-work/SKILL.md +118 -0
- package/skills/release-work/references/release-evidence.md +78 -0
- package/skills/review-artifact/SKILL.md +126 -0
- package/skills/review-artifact/references/reviewer-prompt.md +148 -0
- package/skills/review-work/SKILL.md +126 -0
- package/skills/review-work/references/reviewer-prompt.md +134 -0
- package/skills/review-work/references/security-risk-lens.md +67 -0
- package/skills/setup-freeflow/SKILL.md +98 -0
- package/skills/setup-freeflow/references/activation-contract.md +120 -0
- package/skills/setup-freeflow/references/host-setup.md +72 -0
- package/skills/setup-freeflow/references/output-router-setup.md +110 -0
- package/skills/simplify-code/SKILL.md +80 -0
- package/skills/simplify-code/references/simplification-patterns.md +70 -0
- package/skills/tdd/SKILL.md +96 -0
- package/skills/tdd/references/test-design.md +96 -0
- package/skills/track-work/SKILL.md +84 -0
- package/skills/track-work/references/working-record-schema.md +378 -0
- package/skills/verify-work/SKILL.md +85 -0
- package/skills/verify-work/references/browser-runtime-evidence.md +55 -0
- package/skills/verify-work/references/integration-evidence.md +51 -0
- package/skills/verify-work/references/performance-evidence.md +57 -0
- package/skills/workflow/SKILL.md +91 -0
- package/skills/workflow/references/domain-skill-composition.md +57 -0
- package/skills/workflow/references/workflow-loop.md +92 -0
- package/skills/write-plan/SKILL.md +123 -0
- package/skills/write-plan/references/plan-shapes.md +156 -0
- package/skills/write-skill/SKILL.md +119 -0
- package/skills/write-skill/references/activation-boundaries.md +62 -0
- package/skills/write-skill/references/agent-first-instructions.md +87 -0
- package/skills/write-skill/references/progressive-disclosure.md +63 -0
- package/skills/write-skill/scripts/lib/skill-author.mjs +653 -0
- package/skills/write-skill/scripts/skill-author.mjs +104 -0
- package/skills/write-spec/SKILL.md +104 -0
- package/skills/write-spec/references/artifact-standards.md +86 -0
- package/skills/write-spec/references/decision-records.md +77 -0
- package/skills/write-spec/references/spec-shapes.md +128 -0
- package/plugins/freeflow/command-surface.json +0 -77
- package/plugins/freeflow/docs/README.md +0 -40
- package/plugins/freeflow/docs/adr/0001-three-modes.md +0 -27
- package/plugins/freeflow/docs/adr/0002-evals-before-hooks.md +0 -17
- package/plugins/freeflow/docs/adr/0003-release-boundary.md +0 -21
- package/plugins/freeflow/docs/adr/0004-research-replaces-shallow-discovery-skills.md +0 -26
- package/plugins/freeflow/docs/adr/README.md +0 -8
- package/plugins/freeflow/docs/architecture.md +0 -86
- package/plugins/freeflow/docs/output-router.md +0 -212
- package/plugins/freeflow/docs/release-evidence.md +0 -69
- package/plugins/freeflow/docs/skills.md +0 -43
- package/plugins/freeflow/docs/workflow.md +0 -57
- package/plugins/freeflow/hooks/freeflow-runtime-context.mjs +0 -257
- package/plugins/freeflow/pi-extension/index.js +0 -1176
- package/plugins/freeflow/router/dist/benchmark-harness.js +0 -92
- package/plugins/freeflow/router/dist/benchmarks.d.ts +0 -102
- package/plugins/freeflow/router/dist/benchmarks.js +0 -880
- package/plugins/freeflow/router/dist/bounded-evidence.d.ts +0 -40
- package/plugins/freeflow/router/dist/bounded-evidence.js +0 -310
- package/plugins/freeflow/router/dist/codex-qa-benchmarks.d.ts +0 -91
- package/plugins/freeflow/router/dist/codex-qa-benchmarks.js +0 -461
- package/plugins/freeflow/router/dist/command-benchmarks.d.ts +0 -128
- package/plugins/freeflow/router/dist/command-benchmarks.js +0 -652
- package/plugins/freeflow/router/dist/config.d.ts +0 -22
- package/plugins/freeflow/router/dist/config.js +0 -114
- package/plugins/freeflow/router/dist/evidence-range-selector.d.ts +0 -22
- package/plugins/freeflow/router/dist/evidence-range-selector.js +0 -180
- package/plugins/freeflow/router/dist/evidence-search.d.ts +0 -25
- package/plugins/freeflow/router/dist/evidence-search.js +0 -450
- package/plugins/freeflow/router/dist/evidence.js +0 -196
- package/plugins/freeflow/router/dist/experimental-local-index.d.ts +0 -1
- package/plugins/freeflow/router/dist/experimental-local-index.js +0 -1
- package/plugins/freeflow/router/dist/experiments/local-index.d.ts +0 -58
- package/plugins/freeflow/router/dist/experiments/local-index.js +0 -562
- package/plugins/freeflow/router/dist/index-benchmarks.d.ts +0 -84
- package/plugins/freeflow/router/dist/index-benchmarks.js +0 -458
- package/plugins/freeflow/router/dist/index.d.ts +0 -12
- package/plugins/freeflow/router/dist/index.js +0 -12
- package/plugins/freeflow/router/dist/line-ranges.d.ts +0 -22
- package/plugins/freeflow/router/dist/line-ranges.js +0 -22
- package/plugins/freeflow/router/dist/parsers.d.ts +0 -16
- package/plugins/freeflow/router/dist/parsers.js +0 -473
- package/plugins/freeflow/router/dist/repo-traversal.js +0 -242
- package/plugins/freeflow/router/dist/retrieve.d.ts +0 -33
- package/plugins/freeflow/router/dist/retrieve.js +0 -855
- package/plugins/freeflow/router/dist/router-contract.js +0 -54
- package/plugins/freeflow/router/dist/run.d.ts +0 -26
- package/plugins/freeflow/router/dist/run.js +0 -356
- package/plugins/freeflow/router/dist/schema.js +0 -354
- package/plugins/freeflow/router/dist/types.d.ts +0 -234
- package/plugins/freeflow/router/dist/types.js +0 -9
- package/plugins/freeflow/router/dist/vault.d.ts +0 -80
- package/plugins/freeflow/router/dist/vault.js +0 -484
- package/plugins/freeflow/skills/bypass/SKILL.md +0 -68
- package/plugins/freeflow/skills/commit-work/SKILL.md +0 -98
- package/plugins/freeflow/skills/commit-work/references/staging-decisions.md +0 -51
- package/plugins/freeflow/skills/diagnose-failure/SKILL.md +0 -95
- package/plugins/freeflow/skills/diagnose-failure/references/feedback-loop-catalog.md +0 -25
- package/plugins/freeflow/skills/diagnose-failure/references/flaky-and-performance.md +0 -31
- package/plugins/freeflow/skills/evaluate-skill/SKILL.md +0 -96
- package/plugins/freeflow/skills/evaluate-skill/references/eval-patterns.md +0 -41
- package/plugins/freeflow/skills/evaluate-skill/references/grading-priority.md +0 -33
- package/plugins/freeflow/skills/execute-plan/SKILL.md +0 -132
- package/plugins/freeflow/skills/execute-plan/references/execution-map.md +0 -122
- package/plugins/freeflow/skills/handoff/SKILL.md +0 -66
- package/plugins/freeflow/skills/handoff/references/templates.md +0 -64
- package/plugins/freeflow/skills/interview-gate/SKILL.md +0 -90
- package/plugins/freeflow/skills/mode-contract/SKILL.md +0 -79
- package/plugins/freeflow/skills/output-router/SKILL.md +0 -69
- package/plugins/freeflow/skills/output-router/references/safety-policy.md +0 -33
- package/plugins/freeflow/skills/research/ARTIFACT-DESTINATIONS.md +0 -58
- package/plugins/freeflow/skills/research/CHECKPOINTS.md +0 -74
- package/plugins/freeflow/skills/research/LANGUAGE.md +0 -61
- package/plugins/freeflow/skills/research/SKILL.md +0 -128
- package/plugins/freeflow/skills/review-artifact/SKILL.md +0 -115
- package/plugins/freeflow/skills/review-artifact/references/reviewer-prompt.md +0 -56
- package/plugins/freeflow/skills/review-work/SKILL.md +0 -96
- package/plugins/freeflow/skills/review-work/references/reviewer-prompt.md +0 -97
- package/plugins/freeflow/skills/setup-freeflow/SKILL.md +0 -94
- package/plugins/freeflow/skills/setup-freeflow/references/activation-contract.md +0 -99
- package/plugins/freeflow/skills/setup-freeflow/references/host-setup.md +0 -35
- package/plugins/freeflow/skills/setup-freeflow/references/output-router-setup.md +0 -52
- package/plugins/freeflow/skills/verify-work/SKILL.md +0 -62
- package/plugins/freeflow/skills/workflow/SKILL.md +0 -95
- package/plugins/freeflow/skills/workflow/references/workflow-map.md +0 -102
- package/plugins/freeflow/skills/write-plan/SKILL.md +0 -88
- package/plugins/freeflow/skills/write-plan/references/plan-shapes.md +0 -70
- package/plugins/freeflow/skills/write-skill/SKILL.md +0 -88
- package/plugins/freeflow/skills/write-spec/SKILL.md +0 -90
- package/plugins/freeflow/skills/write-spec/references/artifact-standards.md +0 -67
- package/plugins/freeflow/skills/write-spec/references/spec-shapes.md +0 -69
- /package/{plugins/freeflow/assets → assets}/freeflow-plugin-icon-transparent.png +0 -0
- /package/{plugins/freeflow/hooks → hooks}/hooks.json +0 -0
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# ADR 0003: Release Boundary
|
|
2
|
-
|
|
3
|
-
## Status
|
|
4
|
-
|
|
5
|
-
Accepted.
|
|
6
|
-
|
|
7
|
-
## Decision
|
|
8
|
-
|
|
9
|
-
Freeflow ships as a marketplace repo with one plugin runtime under `plugins/freeflow/`.
|
|
10
|
-
|
|
11
|
-
The plugin runtime includes skills, bundled references, context-loading runtime, public docs, eval sources/reports, command-surface metadata, Codex/Claude metadata, and Pi package metadata/extension.
|
|
12
|
-
|
|
13
|
-
The runtime excludes generated eval run output, historical research notes, handoffs, enforcement hooks, CLI tools, and old Orchestra compatibility.
|
|
14
|
-
|
|
15
|
-
## Rationale
|
|
16
|
-
|
|
17
|
-
The public repo should be installable without generated artifacts or duplicate package copies. Eval definitions and concise reports stay near the skills they protect; generated run output stays ignored.
|
|
18
|
-
|
|
19
|
-
## Consequences
|
|
20
|
-
|
|
21
|
-
Release evidence is summarized in `release-evidence.md`. Generated eval run output remains ignored unless a future release intentionally publishes it.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# ADR 0004: Research Replaces Shallow Discovery Skills
|
|
2
|
-
|
|
3
|
-
## Status
|
|
4
|
-
|
|
5
|
-
Accepted.
|
|
6
|
-
|
|
7
|
-
## Decision
|
|
8
|
-
|
|
9
|
-
Freeflow uses one active `research` skill for discovery work before spec, plan, build, or durable memory.
|
|
10
|
-
|
|
11
|
-
The previous active skills `research-brief`, `grill-context`, and `capture-decisions` are deprecated and moved to root `deprecated/skills/`. They are no longer part of the runtime skill surface or direct command surface.
|
|
12
|
-
|
|
13
|
-
The active direct command is `/research`.
|
|
14
|
-
|
|
15
|
-
## Rationale
|
|
16
|
-
|
|
17
|
-
The three older skills were useful independently but shallow as a workflow module. In real use, research, brainstorming, targeted questions, and decision checkpointing need to interleave. Splitting them made the user or agent coordinate the sequence and made long grilling chains or uncaptured research decisions more likely.
|
|
18
|
-
|
|
19
|
-
The `research` skill uses the same module/interface/depth/seam/leverage/locality language as architecture review so discovery can shape deep modules from the beginning, not only rescue shallow code later.
|
|
20
|
-
|
|
21
|
-
## Consequences
|
|
22
|
-
|
|
23
|
-
- `/research-brief`, `/grill-context`, and `/capture-decisions` are removed from the current command surface.
|
|
24
|
-
- Historical evals and reports for the deprecated skills remain as development evidence.
|
|
25
|
-
- Current discovery eval evidence lives in `plugins/freeflow/evals/reports/by-skill/research-1-report.md`.
|
|
26
|
-
- Durable decisions now belong to the checkpoint destination chosen by `research`: spec, plan, handoff, decision note, ADR, domain memory, or chat.
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# Freeflow ADRs
|
|
2
|
-
|
|
3
|
-
Durable decisions for the public Freeflow package:
|
|
4
|
-
|
|
5
|
-
- [ADR 0001: Three Workflow Modes](0001-three-modes.md)
|
|
6
|
-
- [ADR 0002: Evals Before Enforcement Hooks](0002-evals-before-hooks.md)
|
|
7
|
-
- [ADR 0003: Release Boundary](0003-release-boundary.md)
|
|
8
|
-
- [ADR 0004: Research Replaces Shallow Discovery Skills](0004-research-replaces-shallow-discovery-skills.md)
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# Architecture
|
|
2
|
-
|
|
3
|
-
Freeflow is a portable skill pack for coding agents.
|
|
4
|
-
|
|
5
|
-
## Runtime Boundary
|
|
6
|
-
|
|
7
|
-
Freeflow ships Markdown skills, bundled references, lightweight context-loading hooks, and a Pi extension. It does not ship a CLI, Codex/Claude native slash handlers, enforcement hooks, or a new agent runtime in this release.
|
|
8
|
-
|
|
9
|
-
Host runtimes still control tools, sandboxing, approvals, and permissions. Freeflow controls workflow pressure:
|
|
10
|
-
|
|
11
|
-
- how much clarification is needed
|
|
12
|
-
- when artifacts are useful
|
|
13
|
-
- when source-truth conflicts stop edits
|
|
14
|
-
- when review and verification are required
|
|
15
|
-
- when a handoff or durable decision is useful
|
|
16
|
-
|
|
17
|
-
## Package Layout
|
|
18
|
-
|
|
19
|
-
```text
|
|
20
|
-
freeflow/
|
|
21
|
-
package.json
|
|
22
|
-
.agents/plugins/marketplace.json
|
|
23
|
-
.claude-plugin/marketplace.json
|
|
24
|
-
README.md
|
|
25
|
-
LICENSE
|
|
26
|
-
CHANGELOG.md
|
|
27
|
-
docs/
|
|
28
|
-
plugins/freeflow/
|
|
29
|
-
.codex-plugin/plugin.json
|
|
30
|
-
.claude-plugin/plugin.json
|
|
31
|
-
command-surface.json
|
|
32
|
-
hooks/
|
|
33
|
-
pi-extension/
|
|
34
|
-
skills/
|
|
35
|
-
docs/
|
|
36
|
-
evals/
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
The repository root is the marketplace and package-facing shell. Codex uses `.agents/plugins/marketplace.json`; Claude uses `.claude-plugin/marketplace.json`. Both point at `plugins/freeflow/`. Pi uses the root `package.json` `pi` manifest to load `plugins/freeflow/skills/` and `plugins/freeflow/pi-extension/index.js`.
|
|
40
|
-
|
|
41
|
-
`plugins/freeflow/` is the single runtime source of truth. Skill edits, bundled references, eval metadata, and command-surface metadata live there to avoid generated package drift.
|
|
42
|
-
|
|
43
|
-
## Progressive Disclosure
|
|
44
|
-
|
|
45
|
-
Each skill keeps its active `SKILL.md` short. Stable details move into `references/` files only when they prevent bloat, reduce repeated work, or address measured failures.
|
|
46
|
-
|
|
47
|
-
This keeps the model's first-loaded instructions focused on behavior:
|
|
48
|
-
|
|
49
|
-
- trigger
|
|
50
|
-
- loop
|
|
51
|
-
- stop condition
|
|
52
|
-
- failure prevention
|
|
53
|
-
|
|
54
|
-
## Host Setup
|
|
55
|
-
|
|
56
|
-
`setup-freeflow` installs a compact always-on contract into the host repo.
|
|
57
|
-
|
|
58
|
-
The canonical setup contract lives in `skills/setup-freeflow/references/activation-contract.md`; setup docs, fixtures, and eval assertions should reference it or be checked against it.
|
|
59
|
-
|
|
60
|
-
Codex setup targets `AGENTS.md` and `.freeflow/config.json`.
|
|
61
|
-
|
|
62
|
-
Claude setup targets `CLAUDE.md`, `.claude/rules/freeflow-core.md`, and `.freeflow/config.json` when Claude is the selected host.
|
|
63
|
-
|
|
64
|
-
Setup should not silently update both hosts or overwrite stronger repo-specific rules. Existing repo instructions are source truth.
|
|
65
|
-
|
|
66
|
-
## Runtime Context Hooks
|
|
67
|
-
|
|
68
|
-
The installed plugin owns `hooks/hooks.json`. Setup does not copy hook files into target repos.
|
|
69
|
-
|
|
70
|
-
The hooks load the existing `workflow` skill, workflow map, and `interview-gate` skill:
|
|
71
|
-
|
|
72
|
-
- at session start, including startup, resume, clear, and compact
|
|
73
|
-
|
|
74
|
-
They also report whether the current repo appears set up, partially set up, or missing setup. They do not run after edit/write tools, block tools, grant permissions, enforce mode policy, or replace repo instructions.
|
|
75
|
-
|
|
76
|
-
Setup handles the same-session case directly: after successful setup verification, it reads the workflow skill, workflow map, and interview-gate skill before its final response and only then says workflow and interview-gate context is loaded.
|
|
77
|
-
|
|
78
|
-
Host runtimes may require plugin hooks to be reviewed and trusted after install. If the host skips untrusted hooks, setup still writes activation/config files, but future session-start runtime context will not load until hooks are trusted and the session is restarted, resumed, cleared, or compacted.
|
|
79
|
-
|
|
80
|
-
Pi uses an extension instead of `hooks/hooks.json`. The Pi extension registers direct commands, reads `workflow/SKILL.md`, `workflow/references/workflow-map.md`, `interview-gate/SKILL.md`, `output-router/SKILL.md`, and `output-router/references/safety-policy.md`, refreshes that context on `session_start` and `session_compact`, and injects it during Pi's `before_agent_start` lifecycle event. The same extension registers `freeflow_retrieve` and `freeflow_run` and gives them compact/expanded TUI renderers so collapsed tool rows stay readable while `ctrl+o` shows structured evidence and recovery details. Pi `/workflow` commands set a session-scoped current-mode override, while `.freeflow/config.json` remains the default-mode source. It follows the same boundary as the Codex/Claude hooks: context loading only, no enforcement.
|
|
81
|
-
|
|
82
|
-
## Deferred Enforcement
|
|
83
|
-
|
|
84
|
-
Enforcement hooks and CLI checks are intentionally deferred. They are useful only after skill wording and evals prove a repeated behavior needs mechanical enforcement.
|
|
85
|
-
|
|
86
|
-
For this release, commands are model-routed language such as `/write-spec` or `/verify-work`; they are not native registered slash handlers.
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
# Output Router
|
|
2
|
-
|
|
3
|
-
Freeflow Output Router keeps agent context focused while preserving exact evidence outside context.
|
|
4
|
-
|
|
5
|
-
Use it when broad repo exploration, generated artifacts, large logs, or noisy command output would otherwise flood the model.
|
|
6
|
-
|
|
7
|
-
For the full architecture, see [`docs/designs/freeflow-output-router-architecture.md`](../../../docs/designs/freeflow-output-router-architecture.md) in the repo root.
|
|
8
|
-
|
|
9
|
-
## Core Idea
|
|
10
|
-
|
|
11
|
-
```text
|
|
12
|
-
smallest sufficient evidence in context
|
|
13
|
-
+ exact raw recovery outside context
|
|
14
|
-
+ no surprise native tool semantics
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
The router ships two explicit tools:
|
|
18
|
-
|
|
19
|
-
- `freeflow_retrieve`: retrieve targeted repo/vault evidence.
|
|
20
|
-
- `freeflow_run`: run likely-large/noisy commands, vault raw output, and return compact evidence.
|
|
21
|
-
|
|
22
|
-
Native tools still matter:
|
|
23
|
-
|
|
24
|
-
- use native `read` for known whole files,
|
|
25
|
-
- use native `bash` for small/direct raw shell behavior,
|
|
26
|
-
- use native `edit`/`write` for mutations.
|
|
27
|
-
|
|
28
|
-
## Tiny Map
|
|
29
|
-
|
|
30
|
-
```mermaid
|
|
31
|
-
flowchart LR
|
|
32
|
-
Agent[agent]
|
|
33
|
-
Retrieve[freeflow_retrieve]
|
|
34
|
-
Run[freeflow_run]
|
|
35
|
-
Repo[repo files]
|
|
36
|
-
Vault[Freeflow vault]
|
|
37
|
-
Native[native read/bash]
|
|
38
|
-
Evidence[bounded evidence]
|
|
39
|
-
Raw[exact recovery]
|
|
40
|
-
|
|
41
|
-
Agent -->|existing info| Retrieve
|
|
42
|
-
Agent -->|noisy command| Run
|
|
43
|
-
Agent -->|direct/raw known output| Native
|
|
44
|
-
Retrieve --> Repo --> Evidence
|
|
45
|
-
Retrieve --> Vault --> Evidence
|
|
46
|
-
Run --> Vault
|
|
47
|
-
Run --> Evidence
|
|
48
|
-
Vault --> Raw
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Tool Choice
|
|
52
|
-
|
|
53
|
-
| Need | Use |
|
|
54
|
-
| --- | --- |
|
|
55
|
-
| Find repo evidence before reading files | `freeflow_retrieve action=query` |
|
|
56
|
-
| Get candidate paths first | `freeflow_retrieve action=locate` |
|
|
57
|
-
| Retrieve exact repo/vault lines | `freeflow_retrieve action=retrieve` with `lineRange` |
|
|
58
|
-
| Widen previous evidence | `freeflow_retrieve action=expand` |
|
|
59
|
-
| Explain a previous routed decision/output | `freeflow_retrieve action=explain` |
|
|
60
|
-
| Run noisy/large command output | `freeflow_run` |
|
|
61
|
-
| Read a known whole file | native `read` |
|
|
62
|
-
| Run small exact command | native `bash` |
|
|
63
|
-
|
|
64
|
-
## `freeflow_retrieve`
|
|
65
|
-
|
|
66
|
-
Sources:
|
|
67
|
-
|
|
68
|
-
- `repo`: local repo files.
|
|
69
|
-
- `vault`: previous routed command/native output.
|
|
70
|
-
|
|
71
|
-
Actions:
|
|
72
|
-
|
|
73
|
-
- `query`: returns best evidence packets; default `topK=1`.
|
|
74
|
-
- `locate`: returns candidate locations; default `topK=5`.
|
|
75
|
-
- `retrieve`: returns explicit path/line range evidence.
|
|
76
|
-
- `expand`: expands a previous evidence packet to `lines_30`, `lines_80`, or `full`.
|
|
77
|
-
- `explain`: explains a route decision or vault output.
|
|
78
|
-
|
|
79
|
-
Example:
|
|
80
|
-
|
|
81
|
-
```json
|
|
82
|
-
{
|
|
83
|
-
"action": "query",
|
|
84
|
-
"source": { "kind": "repo" },
|
|
85
|
-
"query": "Sandbox Permissions UseDefault RequireEscalated WithAdditionalPermissions",
|
|
86
|
-
"preserve": "important"
|
|
87
|
-
}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Evidence packets include:
|
|
91
|
-
|
|
92
|
-
- source/path,
|
|
93
|
-
- line range,
|
|
94
|
-
- exact excerpt,
|
|
95
|
-
- why the router selected it,
|
|
96
|
-
- expansion/recovery guidance.
|
|
97
|
-
|
|
98
|
-
Repo retrieval uses deterministic scanner ranking by default. Broad scans skip generated/dependency/cache paths such as `graphify-out/**`, but explicit path retrieval remains available.
|
|
99
|
-
|
|
100
|
-
## `freeflow_run`
|
|
101
|
-
|
|
102
|
-
`freeflow_run` executes once through the host-approved runner, stores exact raw output in the vault, then returns useful command evidence.
|
|
103
|
-
|
|
104
|
-
Example:
|
|
105
|
-
|
|
106
|
-
```json
|
|
107
|
-
{
|
|
108
|
-
"command": "npm test",
|
|
109
|
-
"goal": "verification",
|
|
110
|
-
"preserve": "important"
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
Returned results include:
|
|
115
|
-
|
|
116
|
-
- `outputId`,
|
|
117
|
-
- `execution.status` and `exitCode`,
|
|
118
|
-
- parser metadata,
|
|
119
|
-
- important lines,
|
|
120
|
-
- exact recovery instructions.
|
|
121
|
-
|
|
122
|
-
Command parsers currently cover:
|
|
123
|
-
|
|
124
|
-
- test runner output,
|
|
125
|
-
- TypeScript/lint diagnostics,
|
|
126
|
-
- git status/diffstat,
|
|
127
|
-
- build/toolchain errors,
|
|
128
|
-
- generic fallback,
|
|
129
|
-
- duplicate output detection.
|
|
130
|
-
|
|
131
|
-
## Vault Recovery
|
|
132
|
-
|
|
133
|
-
Recover exact command output with:
|
|
134
|
-
|
|
135
|
-
```json
|
|
136
|
-
{
|
|
137
|
-
"action": "retrieve",
|
|
138
|
-
"source": { "kind": "vault", "outputId": "ffout_...", "stream": "combined" },
|
|
139
|
-
"lineRange": { "start": 1, "end": 40 },
|
|
140
|
-
"preserve": "full"
|
|
141
|
-
}
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
Streams:
|
|
145
|
-
|
|
146
|
-
- command output: `stdout`, `stderr`, `combined`,
|
|
147
|
-
- native safety-net output: `raw`.
|
|
148
|
-
|
|
149
|
-
Default vault root:
|
|
150
|
-
|
|
151
|
-
```text
|
|
152
|
-
~/.cache/freeflow-router/vault
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
## Config
|
|
156
|
-
|
|
157
|
-
The router works with built-in defaults. Minimal `/setup-freeflow` writes only `defaultMode`.
|
|
158
|
-
|
|
159
|
-
Optional repo config lives in `.freeflow/config.json` only when explicitly requested:
|
|
160
|
-
|
|
161
|
-
```json
|
|
162
|
-
{
|
|
163
|
-
"defaultMode": "workflow",
|
|
164
|
-
"outputRouter": {
|
|
165
|
-
"postToolRouting": "off",
|
|
166
|
-
"largeOutputBytes": 64000,
|
|
167
|
-
"largeOutputLines": 1000,
|
|
168
|
-
"vaultRoot": "~/.cache/freeflow-router/vault",
|
|
169
|
-
"vaultRetentionDays": 7,
|
|
170
|
-
"generatedPaths": ["graphify-out/**"],
|
|
171
|
-
"noisyCommandHints": ["npm test"]
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
Rules:
|
|
177
|
-
|
|
178
|
-
- `postToolRouting` defaults to `off`.
|
|
179
|
-
- `safety-net` is opt-in.
|
|
180
|
-
- `strict` is reserved.
|
|
181
|
-
- Do not dump defaults into config.
|
|
182
|
-
- Write only requested keys.
|
|
183
|
-
|
|
184
|
-
## Native Safety Net
|
|
185
|
-
|
|
186
|
-
Pi can optionally route large native `read`/`bash` results after the tool runs.
|
|
187
|
-
|
|
188
|
-
Default: off.
|
|
189
|
-
|
|
190
|
-
When enabled, a routed native result is labeled, vaulted, and includes an `outputId`. If safety-net routing fails, Freeflow fails open and returns native output with a warning.
|
|
191
|
-
|
|
192
|
-
## Defaults And Experiments
|
|
193
|
-
|
|
194
|
-
Current adoption decisions:
|
|
195
|
-
|
|
196
|
-
- Scanner retrieval is the default backend.
|
|
197
|
-
- The no-dependency local index is experimental and not adopted by default.
|
|
198
|
-
- SQLite/FTS is not adopted.
|
|
199
|
-
- Model-assisted routing is not default.
|
|
200
|
-
- Graphify, Claude Context, RTK, and Squeez are optional references/comparators, not dependencies.
|
|
201
|
-
|
|
202
|
-
## Evidence
|
|
203
|
-
|
|
204
|
-
Current release evidence:
|
|
205
|
-
|
|
206
|
-
- Retrieval benchmark: improved router passed 7/7 fixtures.
|
|
207
|
-
- Command benchmark: `freeflow_run` passed 8/8 fixtures with exact recovery.
|
|
208
|
-
- Optional index benchmark: scanner remains default; index not adopted.
|
|
209
|
-
- Codex Structured Q&A benchmark: improved router passed the Sandbox Permissions fixture where native broad search selected `graphify-out/graph.html`.
|
|
210
|
-
- Setup eval: optional `outputRouter` config is opt-in; minimal setup remains only `defaultMode`.
|
|
211
|
-
|
|
212
|
-
See `release-evidence.md` and runtime reports under `plugins/freeflow/evals/reports/runtime/`.
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# Release Evidence
|
|
2
|
-
|
|
3
|
-
Freeflow v0.2.0 is based on the v0.1 local acceptance suite plus targeted runtime, setup, and output-router evidence from the development repository.
|
|
4
|
-
|
|
5
|
-
## Acceptance Summary
|
|
6
|
-
|
|
7
|
-
The local v0.1 acceptance suite passed after measured fixes and was rerun during prepublish verification on 2026-05-26.
|
|
8
|
-
|
|
9
|
-
High-signal behaviors covered:
|
|
10
|
-
|
|
11
|
-
- Source-truth conflicts stop before edits.
|
|
12
|
-
- Strict public API specs ask for owner decisions.
|
|
13
|
-
- Execution stops when verification reveals a bad plan.
|
|
14
|
-
- Commit flow refuses mixed staged sensitive changes.
|
|
15
|
-
- Research checkpoints replace separate research, grilling, and decision-capture commands for discovery work.
|
|
16
|
-
- Bypass skips ceremony, not judgment.
|
|
17
|
-
|
|
18
|
-
## Command Surface
|
|
19
|
-
|
|
20
|
-
The development registry covers:
|
|
21
|
-
|
|
22
|
-
- 4 mode commands.
|
|
23
|
-
- 11 direct workflow skill calls.
|
|
24
|
-
- 2 contributor skill calls.
|
|
25
|
-
|
|
26
|
-
Codex/Claude native slash handlers are not shipped in this release. In those hosts, commands are model-routed through natural language and skill activation. Pi registers direct Freeflow commands through its extension.
|
|
27
|
-
|
|
28
|
-
## Runtime Context
|
|
29
|
-
|
|
30
|
-
Freeflow ships plugin-bundled context hooks that load the existing `workflow` skill, workflow map, and `interview-gate` skill at session start. The Pi extension also loads output-router context, including its safety-policy reference, when the routed tools are available. These hooks do not run after edit/write tools, enforce behavior, block tools, or create repo-local hook files.
|
|
31
|
-
|
|
32
|
-
For the same session that runs setup, `setup-freeflow` reads the workflow skill, workflow map, and interview-gate skill after successful setup verification before saying workflow and interview-gate context is loaded.
|
|
33
|
-
|
|
34
|
-
Host trust prompts for plugin hooks are expected host behavior. Local metadata validation checks hook packaging and deterministic output, not end-to-end host trust UI.
|
|
35
|
-
|
|
36
|
-
## Output Router Evidence
|
|
37
|
-
|
|
38
|
-
Output-router behavior is backed by deterministic runtime reports under `plugins/freeflow/evals/reports/runtime/`.
|
|
39
|
-
|
|
40
|
-
Verified in the development repo:
|
|
41
|
-
|
|
42
|
-
- Retrieval benchmark: improved router passed 7/7 gated fixtures and fixed the generated-artifact Sandbox Permissions false-positive shape.
|
|
43
|
-
- Command-output benchmark: `freeflow_run` passed 8/8 fixtures, preserved exact facts, and verified raw vault recovery.
|
|
44
|
-
- Optional local index benchmark: scanner remains default, index is not adopted by default, and the no-dependency index remains experimental.
|
|
45
|
-
- Codex Structured Q&A macro benchmark: improved router passed the first Sandbox Permissions Q&A fixture while the native broad-search proxy selected `graphify-out/graph.html`.
|
|
46
|
-
- Large Codex scanner benchmark: scanner remains the retrieval backend; latest recorded report-refresh evidence kept scanner at 6/8 strict fixtures with bounded context.
|
|
47
|
-
- Setup/config eval: `setup-freeflow` supports optional `outputRouter` repo config only when explicitly requested; minimal setup still writes only `defaultMode`.
|
|
48
|
-
|
|
49
|
-
Adoption decisions:
|
|
50
|
-
|
|
51
|
-
- Scanner improvements ship as default behavior.
|
|
52
|
-
- Native post-tool safety-net routing remains off unless explicitly configured.
|
|
53
|
-
- The no-dependency local index stays experimental.
|
|
54
|
-
- SQLite/FTS, model-assisted routing, Graphify, and Claude Context remain optional/non-default comparison paths, not product dependencies.
|
|
55
|
-
|
|
56
|
-
## Release Metadata
|
|
57
|
-
|
|
58
|
-
Run `plugins/freeflow/evals/scripts/validate-release-metadata.sh` for local prepublish checks across marketplace metadata, host manifests, command-surface routing, release-boundary docs, package cleanliness, and deferred install-smoke status.
|
|
59
|
-
|
|
60
|
-
Run `plugins/freeflow/evals/scripts/check-runtime-context-hook.sh` after changing lifecycle context hooks.
|
|
61
|
-
|
|
62
|
-
## Known Deferred Work
|
|
63
|
-
|
|
64
|
-
- Live Claude smoke evals after Hassan confirms Claude testing is available again.
|
|
65
|
-
- GitHub-install smoke tests in separate Codex, Claude, and fresh Pi environments.
|
|
66
|
-
- Enforcement hooks or CLI checks only after repeated behavior failures justify them.
|
|
67
|
-
- Public marketplace submission only after GitHub install works for required hosts.
|
|
68
|
-
|
|
69
|
-
Full eval reports are development evidence and are not included in the runtime package.
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Skills
|
|
2
|
-
|
|
3
|
-
Freeflow ships a small workflow skill pack. Natural language is the preferred interface. In Codex/Claude, slash-style phrases work as model-routed skill hints; in Pi, the extension registers direct Freeflow commands.
|
|
4
|
-
|
|
5
|
-
## Core
|
|
6
|
-
|
|
7
|
-
| Skill | Use When |
|
|
8
|
-
| --- | --- |
|
|
9
|
-
| `workflow` | Choosing the next workflow entry point or explaining the full flow. |
|
|
10
|
-
| `mode-contract` | Inferring or switching `conversation`, `workflow`, or `strict-workflow`. |
|
|
11
|
-
| `interview-gate` | Ambiguity or a user-owned decision would change the next action. |
|
|
12
|
-
| `output-router` | Choosing routed tools for large/noisy output, vault recovery, or output-router configuration. |
|
|
13
|
-
| `bypass` | Skipping unnecessary ceremony without skipping judgment. |
|
|
14
|
-
|
|
15
|
-
## Discovery And Artifacts
|
|
16
|
-
|
|
17
|
-
| Skill | Use When |
|
|
18
|
-
| --- | --- |
|
|
19
|
-
| `research` | An idea, feature, architecture direction, vague task, or consequential question needs evidence, brainstorming, targeted questions, and a checkpoint before spec, plan, build, or durable memory. |
|
|
20
|
-
| `write-spec` | Agreed requirements or decisions need a durable spec. |
|
|
21
|
-
| `review-artifact` | A spec, plan, handoff, research checkpoint, or decision note must guide future work. |
|
|
22
|
-
| `write-plan` | An approved spec or explicit task context needs executable slices. |
|
|
23
|
-
|
|
24
|
-
## Execution And Closeout
|
|
25
|
-
|
|
26
|
-
| Skill | Use When |
|
|
27
|
-
| --- | --- |
|
|
28
|
-
| `execute-plan` | An approved plan exists and should be implemented in checked slices, especially multi-slice/TDD work with verification, review, commit, or handoff checkpoints. |
|
|
29
|
-
| `diagnose-failure` | Behavior is broken, failing, flaky, slow, or unclear. |
|
|
30
|
-
| `review-work` | A completed diff or review feedback needs bug/risk-focused review or adjudication before fixes. |
|
|
31
|
-
| `verify-work` | Fresh evidence is needed before claiming completion. |
|
|
32
|
-
| `commit-work` | Reviewed, verified, intended work is ready to commit. |
|
|
33
|
-
| `handoff` | Pausing, compacting, transferring context, or preserving continuation memory. |
|
|
34
|
-
|
|
35
|
-
## Contributor Skills
|
|
36
|
-
|
|
37
|
-
| Skill | Use When |
|
|
38
|
-
| --- | --- |
|
|
39
|
-
| `setup-freeflow` | Installing the compact always-on Freeflow contract into a repo. |
|
|
40
|
-
| `write-skill` | Creating or revising concise behavior-shaping skills. |
|
|
41
|
-
| `evaluate-skill` | Turning failures into baseline-vs-with-skill evals and revising from evidence. |
|
|
42
|
-
|
|
43
|
-
These contributor skills are shipped because teams may use Freeflow to install or adapt workflow behavior, but they are not normal workflow states for ordinary feature work.
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# Workflow
|
|
2
|
-
|
|
3
|
-
Freeflow is a workflow layer, not a new agent. It helps the agent choose the right amount of process for the task.
|
|
4
|
-
|
|
5
|
-
## Modes
|
|
6
|
-
|
|
7
|
-
- `conversation`: answer, explain, critique, or explore without workflow pressure.
|
|
8
|
-
- `workflow`: default for consequential work; use the workflow spine and scale detail to risk.
|
|
9
|
-
- `strict-workflow`: high-risk or hard-to-reverse work with stronger gates.
|
|
10
|
-
|
|
11
|
-
Use strict-workflow for security, privacy, billing, public APIs, migrations, data loss, compatibility, permissions, deployment, or irreversible architecture.
|
|
12
|
-
|
|
13
|
-
## Map
|
|
14
|
-
|
|
15
|
-
```mermaid
|
|
16
|
-
flowchart LR
|
|
17
|
-
Request{request}
|
|
18
|
-
Talk[conversation<br/>answer directly]
|
|
19
|
-
Discover[discover<br/>research checkpoint]
|
|
20
|
-
Spec[spec]
|
|
21
|
-
Plan[plan]
|
|
22
|
-
Build[build<br/>execute / diagnose]
|
|
23
|
-
Check[review + verify]
|
|
24
|
-
Close[commit / handoff]
|
|
25
|
-
|
|
26
|
-
Request -->|question| Talk
|
|
27
|
-
Request -->|work| Discover
|
|
28
|
-
Discover --> Spec --> Plan --> Build --> Check --> Close
|
|
29
|
-
Check -. new evidence or failed check .-> Discover
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
The map is orienting, not mandatory. Small reversible work can skip unnecessary artifacts and gates.
|
|
33
|
-
|
|
34
|
-
## Backward Edge
|
|
35
|
-
|
|
36
|
-
Loop back when new evidence changes the path:
|
|
37
|
-
|
|
38
|
-
```mermaid
|
|
39
|
-
flowchart LR
|
|
40
|
-
Trigger{new evidence<br/>conflict<br/>failed check<br/>owner decision}
|
|
41
|
-
Decide{changes<br/>next action?}
|
|
42
|
-
Continue[continue]
|
|
43
|
-
Reenter[clarify / research<br/>revise spec or plan<br/>diagnose / split / stop]
|
|
44
|
-
|
|
45
|
-
Trigger --> Decide
|
|
46
|
-
Decide -->|no| Continue
|
|
47
|
-
Decide -->|yes| Reenter
|
|
48
|
-
Reenter -. resume .-> Decide
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
The agent should not silently choose the backward destination when the choice changes product behavior, scope, compatibility, public APIs, security, privacy, billing, data loss, permissions, or irreversible architecture.
|
|
52
|
-
|
|
53
|
-
## Bypass
|
|
54
|
-
|
|
55
|
-
Bypass skips ceremony, not judgment.
|
|
56
|
-
|
|
57
|
-
Use `bypass` only to skip an unnecessary gate. It does not skip user-owned decisions, source-truth conflicts, risky checks, or fresh verification before completion claims.
|