@hassangameryt/freeflow 0.3.0 → 0.5.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 +4 -4
- package/.claude-plugin/plugin.json +6 -2
- package/.codex-plugin/plugin.json +9 -9
- package/README.md +190 -127
- package/assets/feedback-loop.png +0 -0
- package/assets/freeflow_workflow_map.png +0 -0
- package/assets/workflow.png +0 -0
- package/{skills → capabilities}/output-router/SKILL.md +21 -17
- package/{skills → capabilities}/output-router/references/safety-policy.md +1 -1
- package/capabilities/output-router/references/setup.md +110 -0
- package/command-surface.json +62 -7
- package/hooks/freeflow-runtime-context.mjs +572 -154
- package/hooks/hooks.json +26 -1
- package/hooks/tests/check-runtime-context-hook.sh +375 -0
- package/package.json +24 -24
- package/pi-extension/dist/index.js +264 -80
- 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 +230 -56
- package/pi-extension/src/{host-producer-identification.ts → output-router/host-producer-identification.ts} +37 -7
- package/pi-extension/src/{native-safety-net.ts → output-router/native-safety-net.ts} +8 -12
- package/pi-extension/src/{observed-tool-routing.ts → output-router/observed-tool-routing.ts} +19 -11
- package/pi-extension/src/{renderers.ts → output-router/renderers.ts} +246 -55
- package/pi-extension/src/{router-tools.ts → output-router/router-tools.ts} +130 -29
- package/pi-extension/src/{schemas.ts → output-router/schemas.ts} +171 -43
- package/pi-extension/src/output-router/status.ts +791 -0
- package/pi-extension/src/{utils.ts → output-router/utils.ts} +80 -18
- 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 +4020 -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/router/dist/benchmarks/benchmark-harness.d.ts +16 -13
- package/router/dist/benchmarks/benchmark-harness.js +62 -62
- package/router/dist/benchmarks/benchmarks.d.ts +80 -73
- package/router/dist/benchmarks/benchmarks.js +860 -761
- package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +71 -67
- package/router/dist/benchmarks/codex-qa-benchmarks.js +429 -390
- package/router/dist/benchmarks/command-benchmarks.d.ts +107 -92
- package/router/dist/benchmarks/command-benchmarks.js +616 -571
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +64 -56
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +679 -613
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +103 -95
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +1188 -1103
- package/router/dist/benchmarks/context-saving-baseline.d.ts +47 -41
- package/router/dist/benchmarks/context-saving-baseline.js +405 -374
- package/router/dist/benchmarks/index-benchmarks.d.ts +74 -69
- package/router/dist/benchmarks/index-benchmarks.js +761 -661
- package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +80 -69
- package/router/dist/benchmarks/storage-policy-benchmarks.js +549 -469
- package/router/dist/benchmarks/vault-index-benchmarks.d.ts +43 -34
- package/router/dist/benchmarks/vault-index-benchmarks.js +294 -229
- package/router/dist/config/config.d.ts +62 -55
- package/router/dist/config/config.js +552 -373
- package/router/dist/config/router-contract.d.ts +2 -2
- package/router/dist/config/router-contract.js +38 -38
- package/router/dist/config/schema.d.ts +19 -10
- package/router/dist/config/schema.js +586 -538
- package/router/dist/config/types.d.ts +413 -361
- package/router/dist/config/types.js +19 -8
- package/router/dist/evidence/bounded-evidence.d.ts +26 -26
- package/router/dist/evidence/bounded-evidence.js +265 -252
- package/router/dist/evidence/evidence-range-selector.d.ts +16 -14
- package/router/dist/evidence/evidence-range-selector.js +192 -191
- package/router/dist/evidence/evidence-search.d.ts +18 -16
- package/router/dist/evidence/evidence-search.js +401 -377
- package/router/dist/evidence/evidence.d.ts +17 -17
- package/router/dist/evidence/evidence.js +163 -159
- package/router/dist/evidence/failure-contracts.d.ts +25 -15
- package/router/dist/evidence/failure-contracts.js +132 -126
- package/router/dist/evidence/line-ranges.d.ts +17 -15
- package/router/dist/evidence/line-ranges.js +18 -18
- package/router/dist/experiments/local-index.d.ts +47 -41
- package/router/dist/experiments/local-index.js +477 -458
- 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 +94 -70
- package/router/dist/processing/engine.js +462 -364
- package/router/dist/processing/reducers.d.ts +208 -194
- package/router/dist/processing/reducers.js +1434 -1256
- package/router/dist/processing/renderers.d.ts +24 -18
- package/router/dist/processing/renderers.js +161 -152
- package/router/dist/processing/scripts.d.ts +80 -67
- package/router/dist/processing/scripts.js +343 -290
- package/router/dist/repo/repo-traversal.d.ts +9 -9
- package/router/dist/repo/repo-traversal.js +205 -202
- package/router/dist/routing/observed-reducers.d.ts +25 -19
- package/router/dist/routing/observed-reducers.js +559 -545
- package/router/dist/routing/observed-routing.d.ts +23 -14
- package/router/dist/routing/observed-routing.js +319 -318
- package/router/dist/routing/parsers.d.ts +10 -10
- package/router/dist/routing/parsers.js +454 -406
- package/router/dist/routing/run-filters.d.ts +45 -41
- package/router/dist/routing/run-filters.js +215 -207
- package/router/dist/routing/run-reducers.d.ts +45 -26
- package/router/dist/routing/run-reducers.js +102 -90
- package/router/dist/sandbox/adapter-roots.d.ts +34 -26
- package/router/dist/sandbox/adapter-roots.js +43 -41
- package/router/dist/sandbox/eryx-python-adapter.d.ts +9 -5
- package/router/dist/sandbox/eryx-python-adapter.js +659 -588
- package/router/dist/sandbox/jq-wasm-adapter.d.ts +3 -3
- package/router/dist/sandbox/jq-wasm-adapter.js +319 -311
- package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +9 -5
- package/router/dist/sandbox/quickjs-wasi-adapter.js +336 -333
- package/router/dist/sandbox/script-sandbox.d.ts +105 -84
- package/router/dist/sandbox/script-sandbox.js +294 -260
- package/router/dist/setup/script-transform-adapters.d.ts +23 -19
- package/router/dist/setup/script-transform-adapters.js +223 -204
- package/router/dist/tools/batch.d.ts +27 -16
- package/router/dist/tools/batch.js +493 -416
- package/router/dist/tools/run.d.ts +47 -35
- package/router/dist/tools/run.js +1172 -1087
- package/router/dist/tools/search.d.ts +53 -31
- package/router/dist/tools/search.js +1224 -1065
- package/router/dist/transform/engine.d.ts +121 -96
- package/router/dist/transform/engine.js +1853 -1736
- package/router/dist/vault/vault-index.d.ts +97 -78
- package/router/dist/vault/vault-index.js +347 -342
- package/router/dist/vault/vault.d.ts +109 -74
- package/router/dist/vault/vault.js +528 -533
- package/runtime/interaction-contract.md +16 -0
- package/skills/bypass/SKILL.md +52 -38
- package/skills/commit-work/SKILL.md +54 -46
- package/skills/commit-work/references/staging-decisions.md +46 -24
- package/skills/decision-gate/SKILL.md +48 -0
- package/skills/design-for-depth/SKILL.md +75 -59
- package/skills/design-for-depth/references/design-pressure-signals.md +56 -7
- package/skills/design-for-depth/references/interface-design-loop.md +156 -0
- package/skills/design-for-depth/references/software-design-philosophy.md +32 -3
- package/skills/diagnose-failure/SKILL.md +65 -60
- package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +36 -0
- package/skills/diagnose-failure/references/flaky-and-performance.md +30 -18
- package/skills/discuss/SKILL.md +121 -0
- package/skills/discuss/references/checkpoints.md +66 -0
- package/skills/evaluate-skill/SKILL.md +62 -53
- 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 +65 -39
- package/skills/handoff/references/templates.md +104 -27
- 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 +72 -52
- package/skills/release-work/SKILL.md +118 -0
- package/skills/release-work/references/release-evidence.md +78 -0
- package/skills/review-artifact/SKILL.md +77 -69
- package/skills/review-artifact/references/reviewer-prompt.md +133 -42
- package/skills/review-work/SKILL.md +82 -57
- package/skills/review-work/references/reviewer-prompt.md +97 -60
- package/skills/review-work/references/security-risk-lens.md +67 -0
- package/skills/setup-freeflow/SKILL.md +54 -68
- package/skills/setup-freeflow/references/activation-contract.md +84 -69
- package/skills/setup-freeflow/references/host-setup.md +50 -17
- 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 +59 -38
- 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 +53 -59
- 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 +85 -58
- package/skills/write-plan/references/plan-shapes.md +132 -46
- package/skills/write-skill/SKILL.md +82 -51
- 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 +65 -54
- package/skills/write-spec/references/artifact-standards.md +60 -41
- package/skills/write-spec/references/decision-records.md +77 -0
- package/skills/write-spec/references/spec-shapes.md +119 -60
- package/evals/README.md +0 -32
- package/evals/fixtures/copy-conventions.md +0 -31
- package/evals/fixtures/output-router/README.md +0 -12
- package/evals/fixtures/output-router/failed-command-output.txt +0 -9
- package/evals/fixtures/output-router/large-router-manual.md +0 -63
- package/evals/fixtures/output-router/native-large-output.txt +0 -40
- package/evals/fixtures/output-router/noisy-test-output.txt +0 -30
- package/evals/fixtures/output-router/verification-output.txt +0 -8
- package/evals/fixtures/tiny-artifact-review-app/README.md +0 -5
- package/evals/fixtures/tiny-artifact-review-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-artifact-review-app/docs/specs/billing-webhook-api-draft.md +0 -21
- package/evals/fixtures/tiny-artifact-review-app/docs/specs/failed-payment-grace-period.md +0 -24
- package/evals/fixtures/tiny-artifact-review-app/docs/specs/immediate-downgrade.md +0 -17
- package/evals/fixtures/tiny-artifact-review-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-commit-ambiguous-app/.freeflow-eval-setup.sh +0 -15
- package/evals/fixtures/tiny-commit-ambiguous-app/README.md +0 -3
- package/evals/fixtures/tiny-commit-ambiguous-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-commit-ambiguous-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-commit-ambiguous-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-commit-app/.freeflow-eval-setup.sh +0 -14
- package/evals/fixtures/tiny-commit-app/README.md +0 -3
- package/evals/fixtures/tiny-commit-app/docs/specs/settings-title.md +0 -5
- package/evals/fixtures/tiny-commit-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-commit-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-commit-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-commit-everything-app/.freeflow-eval-setup.sh +0 -15
- package/evals/fixtures/tiny-commit-everything-app/README.md +0 -3
- package/evals/fixtures/tiny-commit-everything-app/docs/specs/settings-title.md +0 -5
- package/evals/fixtures/tiny-commit-everything-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-commit-everything-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-commit-everything-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-commit-staged-app/.freeflow-eval-setup.sh +0 -15
- package/evals/fixtures/tiny-commit-staged-app/README.md +0 -3
- package/evals/fixtures/tiny-commit-staged-app/docs/specs/settings-title.md +0 -5
- package/evals/fixtures/tiny-commit-staged-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-commit-staged-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-commit-staged-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-commit-staged-mixed-app/.freeflow-eval-setup.sh +0 -15
- package/evals/fixtures/tiny-commit-staged-mixed-app/README.md +0 -3
- package/evals/fixtures/tiny-commit-staged-mixed-app/docs/billing-policy.md +0 -3
- package/evals/fixtures/tiny-commit-staged-mixed-app/docs/release-notes.md +0 -3
- package/evals/fixtures/tiny-commit-staged-mixed-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-dashboard-stale-app/README.md +0 -11
- package/evals/fixtures/tiny-dashboard-stale-app/src/api-client.ts +0 -13
- package/evals/fixtures/tiny-dashboard-stale-app/src/dashboard-data.ts +0 -19
- package/evals/fixtures/tiny-dashboard-stale-app/tests/dashboard-data.test.md +0 -9
- package/evals/fixtures/tiny-decision-destination-app/README.md +0 -6
- package/evals/fixtures/tiny-decision-destination-app/src/risk.ts +0 -8
- package/evals/fixtures/tiny-decision-destination-app/tests/risk.test.md +0 -4
- package/evals/fixtures/tiny-design-depth-app/README.md +0 -15
- package/evals/fixtures/tiny-design-depth-app/src/routes.ts +0 -25
- package/evals/fixtures/tiny-design-depth-app/src/sendEmail.ts +0 -3
- package/evals/fixtures/tiny-design-depth-app/src/sendSms.ts +0 -3
- package/evals/fixtures/tiny-design-depth-app/src/telemetry.ts +0 -3
- package/evals/fixtures/tiny-design-depth-app/tests/routes.test.md +0 -12
- package/evals/fixtures/tiny-eval-method-app/README.md +0 -8
- package/evals/fixtures/tiny-eval-method-app/evals/reports/review-pr-eval-result.md +0 -5
- package/evals/fixtures/tiny-eval-method-app/evals/reports/triage-question-failure.md +0 -17
- package/evals/fixtures/tiny-eval-method-app/evals/runs/review-pr-with-skill-output.diff +0 -11
- package/evals/fixtures/tiny-eval-method-app/evals/runs/review-pr-with-skill-output.md +0 -3
- package/evals/fixtures/tiny-eval-method-app/skills/review-pr/SKILL.md +0 -10
- package/evals/fixtures/tiny-eval-method-app/skills/triage-question/SKILL.md +0 -10
- package/evals/fixtures/tiny-execute-plan-app/README.md +0 -5
- package/evals/fixtures/tiny-execute-plan-app/checks/settings-and-billing-check.sh +0 -5
- package/evals/fixtures/tiny-execute-plan-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/immediate-downgrade-plan.md +0 -11
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/settings-title-plan.md +0 -12
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/settings-title-with-bad-check.md +0 -15
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/unverified-billing-plan.md +0 -9
- package/evals/fixtures/tiny-execute-plan-app/docs/specs/failed-payment-grace-period.md +0 -9
- package/evals/fixtures/tiny-execute-plan-app/docs/specs/settings-title.md +0 -9
- package/evals/fixtures/tiny-execute-plan-app/src/billing.ts +0 -7
- package/evals/fixtures/tiny-execute-plan-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-execute-plan-app/tests/billing.test.md +0 -7
- package/evals/fixtures/tiny-execute-plan-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-execute-review-loop-app/README.md +0 -5
- package/evals/fixtures/tiny-execute-review-loop-app/docs/billing-policy.md +0 -9
- package/evals/fixtures/tiny-execute-review-loop-app/docs/plans/settings-title-plan.md +0 -12
- package/evals/fixtures/tiny-execute-review-loop-app/docs/review/previous-agent-summary.md +0 -15
- package/evals/fixtures/tiny-execute-review-loop-app/docs/review/review-pass-1-non-pass.md +0 -11
- package/evals/fixtures/tiny-execute-review-loop-app/docs/specs/settings-title.md +0 -9
- package/evals/fixtures/tiny-execute-review-loop-app/src/billing.ts +0 -7
- package/evals/fixtures/tiny-execute-review-loop-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-execute-review-loop-app/tests/billing.test.md +0 -7
- package/evals/fixtures/tiny-execute-review-loop-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-flaky-session-app/README.md +0 -10
- package/evals/fixtures/tiny-flaky-session-app/src/session-timeout.ts +0 -13
- package/evals/fixtures/tiny-flaky-session-app/tests/session-timeout.test.md +0 -8
- package/evals/fixtures/tiny-handoff-app/README.md +0 -5
- package/evals/fixtures/tiny-handoff-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-handoff-app/docs/handoffs/old-agent-handoff.md +0 -8
- package/evals/fixtures/tiny-handoff-app/docs/plans/billing-retry-plan.md +0 -11
- package/evals/fixtures/tiny-handoff-app/src/billing.ts +0 -7
- package/evals/fixtures/tiny-handoff-report-app/README.md +0 -3
- package/evals/fixtures/tiny-handoff-report-app/evals/runs/handoff-3/hof-003/with-skill-output.diff +0 -1
- package/evals/fixtures/tiny-handoff-report-app/evals/runs/handoff-3/hof-003/with-skill-output.md +0 -1
- package/evals/fixtures/tiny-handoff-report-app/evals/scores/hof-003-score.txt +0 -4
- package/evals/fixtures/tiny-plan-app/README.md +0 -5
- package/evals/fixtures/tiny-plan-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-plan-app/docs/specs/failed-payment-grace-period.md +0 -25
- package/evals/fixtures/tiny-plan-app/src/billing.ts +0 -17
- package/evals/fixtures/tiny-plan-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-plan-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-plan-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-plan-strict-api-app/README.md +0 -3
- package/evals/fixtures/tiny-plan-strict-api-app/docs/billing-policy.md +0 -5
- package/evals/fixtures/tiny-plan-strict-api-app/docs/specs/billing-webhook-api.md +0 -25
- package/evals/fixtures/tiny-plan-strict-api-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-plan-strict-api-app/src/webhooks.ts +0 -3
- package/evals/fixtures/tiny-plan-strict-api-app/tests/billing-webhook.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-invalid-config-app/.freeflow/config.json +0 -3
- package/evals/fixtures/tiny-post-setup-invalid-config-app/AGENTS.md +0 -15
- package/evals/fixtures/tiny-post-setup-invalid-config-app/README.md +0 -16
- package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/auth-review.md +0 -15
- package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/copy-conventions.md +0 -15
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/auth-middleware.ts +0 -12
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/billing.ts +0 -20
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/login-copy.ts +0 -1
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/auth-middleware.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/copy.test.md +0 -7
- package/evals/fixtures/tiny-post-setup-missing-config-app/AGENTS.md +0 -15
- package/evals/fixtures/tiny-post-setup-missing-config-app/README.md +0 -16
- package/evals/fixtures/tiny-post-setup-missing-config-app/docs/auth-review.md +0 -15
- package/evals/fixtures/tiny-post-setup-missing-config-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-post-setup-missing-config-app/docs/copy-conventions.md +0 -15
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/auth-middleware.ts +0 -12
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/billing.ts +0 -20
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/login-copy.ts +0 -1
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-post-setup-missing-config-app/tests/auth-middleware.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-missing-config-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-missing-config-app/tests/copy.test.md +0 -7
- package/evals/fixtures/tiny-post-setup-source-conflict-app/.freeflow/config.json +0 -3
- package/evals/fixtures/tiny-post-setup-source-conflict-app/AGENTS.md +0 -15
- package/evals/fixtures/tiny-post-setup-source-conflict-app/README.md +0 -16
- package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/auth-review.md +0 -15
- package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/copy-conventions.md +0 -15
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/auth-middleware.ts +0 -12
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/billing.ts +0 -20
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/login-copy.ts +0 -1
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/auth-middleware.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/copy.test.md +0 -7
- package/evals/fixtures/tiny-report-performance-app/README.md +0 -11
- package/evals/fixtures/tiny-report-performance-app/docs/performance.md +0 -10
- package/evals/fixtures/tiny-report-performance-app/src/report-summary.ts +0 -29
- package/evals/fixtures/tiny-report-performance-app/tests/report-performance.test.md +0 -8
- package/evals/fixtures/tiny-review-request-app/README.md +0 -3
- package/evals/fixtures/tiny-review-request-app/docs/billing-policy.md +0 -5
- package/evals/fixtures/tiny-review-request-app/docs/plans/billing-webhook-api.md +0 -19
- package/evals/fixtures/tiny-review-request-app/docs/review/previous-agent-summary.md +0 -20
- package/evals/fixtures/tiny-review-request-app/docs/specs/billing-webhook-api.md +0 -25
- package/evals/fixtures/tiny-review-request-app/src/billing.ts +0 -11
- package/evals/fixtures/tiny-review-request-app/src/webhooks.ts +0 -19
- package/evals/fixtures/tiny-review-request-app/tests/billing-webhook.test.md +0 -8
- package/evals/fixtures/tiny-review-work-app/README.md +0 -5
- package/evals/fixtures/tiny-review-work-app/docs/billing-policy.md +0 -9
- package/evals/fixtures/tiny-review-work-app/docs/plans/settings-title-plan.md +0 -12
- package/evals/fixtures/tiny-review-work-app/docs/review/previous-agent-summary.md +0 -15
- package/evals/fixtures/tiny-review-work-app/docs/specs/settings-title.md +0 -9
- package/evals/fixtures/tiny-review-work-app/src/billing.ts +0 -7
- package/evals/fixtures/tiny-review-work-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-review-work-app/tests/billing.test.md +0 -7
- package/evals/fixtures/tiny-review-work-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-saas-app/README.md +0 -16
- package/evals/fixtures/tiny-saas-app/docs/auth-review.md +0 -15
- package/evals/fixtures/tiny-saas-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-saas-app/docs/copy-conventions.md +0 -15
- package/evals/fixtures/tiny-saas-app/docs/specs/settings-title.md +0 -13
- package/evals/fixtures/tiny-saas-app/src/auth-middleware.ts +0 -12
- package/evals/fixtures/tiny-saas-app/src/billing.ts +0 -20
- package/evals/fixtures/tiny-saas-app/src/login-copy.ts +0 -1
- package/evals/fixtures/tiny-saas-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-saas-app/tests/auth-middleware.test.md +0 -8
- package/evals/fixtures/tiny-saas-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-saas-app/tests/copy.test.md +0 -7
- package/evals/fixtures/tiny-setup-agents-app/AGENTS.md +0 -6
- package/evals/fixtures/tiny-setup-both-app/AGENTS.md +0 -5
- package/evals/fixtures/tiny-setup-both-app/CLAUDE.md +0 -5
- package/evals/fixtures/tiny-setup-claude-app/CLAUDE.md +0 -6
- package/evals/fixtures/tiny-setup-codex-rules-app/.codex/rules/shell.rules +0 -5
- package/evals/fixtures/tiny-setup-codex-rules-app/AGENTS.md +0 -6
- package/evals/fixtures/tiny-setup-conflict-app/AGENTS.md +0 -6
- package/evals/fixtures/tiny-setup-existing-block-app/AGENTS.md +0 -14
- package/evals/fixtures/tiny-setup-four-rules-app/CLAUDE.md +0 -6
- package/evals/fixtures/tiny-skill-dev-app/README.md +0 -10
- package/evals/fixtures/tiny-skill-dev-app/evals/prompts/review-pr-001.txt +0 -8
- package/evals/fixtures/tiny-skill-dev-app/evals/reports/review-pr-failure.md +0 -17
- package/evals/fixtures/tiny-skill-dev-app/skills/review-pr/SKILL.md +0 -13
- package/evals/fixtures/tiny-team-app/README.md +0 -5
- package/evals/fixtures/tiny-team-app/docs/product.md +0 -6
- package/evals/fixtures/tiny-team-app/src/teams.ts +0 -9
- package/evals/fixtures/tiny-team-app/src/users.ts +0 -5
- package/evals/fixtures/tiny-team-app/tests/teams.test.md +0 -7
- package/evals/fixtures/tiny-verify-app/README.md +0 -5
- package/evals/fixtures/tiny-verify-app/src/settings-nav.ts +0 -1
- package/evals/fixtures/tiny-verify-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-verify-app/tests/settings.test.md +0 -7
- package/evals/prompts/aon-001.txt +0 -2
- package/evals/prompts/byp-001.txt +0 -2
- package/evals/prompts/byp-002.txt +0 -2
- package/evals/prompts/cap-001.txt +0 -3
- package/evals/prompts/cap-002.txt +0 -3
- package/evals/prompts/cmd-001.txt +0 -3
- package/evals/prompts/cmd-002.txt +0 -3
- package/evals/prompts/cmd-003.txt +0 -6
- package/evals/prompts/cmd-004.txt +0 -5
- package/evals/prompts/cmd-005.txt +0 -5
- package/evals/prompts/cmd-006.txt +0 -5
- package/evals/prompts/cmd-007.txt +0 -5
- package/evals/prompts/cmd-008.txt +0 -5
- package/evals/prompts/cmd-009.txt +0 -8
- package/evals/prompts/cmd-010.txt +0 -5
- package/evals/prompts/cmd-011.txt +0 -5
- package/evals/prompts/cmd-012.txt +0 -5
- package/evals/prompts/cmd-013.txt +0 -5
- package/evals/prompts/cmd-014.txt +0 -7
- package/evals/prompts/cmd-015.txt +0 -7
- package/evals/prompts/cmd-016.txt +0 -5
- package/evals/prompts/cmt-001.txt +0 -1
- package/evals/prompts/cmt-002.txt +0 -1
- package/evals/prompts/cmt-003.txt +0 -1
- package/evals/prompts/cmt-004.txt +0 -1
- package/evals/prompts/cmt-005.txt +0 -1
- package/evals/prompts/dfd-001.txt +0 -3
- package/evals/prompts/dia-001.txt +0 -3
- package/evals/prompts/dia-002.txt +0 -3
- package/evals/prompts/dia-003.txt +0 -3
- package/evals/prompts/dis-001.txt +0 -5
- package/evals/prompts/dis-002.txt +0 -5
- package/evals/prompts/esk-001.txt +0 -5
- package/evals/prompts/esk-002.txt +0 -5
- package/evals/prompts/esk-003.txt +0 -5
- package/evals/prompts/grc-001.txt +0 -3
- package/evals/prompts/hof-001.txt +0 -3
- package/evals/prompts/hof-002.txt +0 -1
- package/evals/prompts/hof-003.txt +0 -1
- package/evals/prompts/hof-004.txt +0 -1
- package/evals/prompts/hof-005.txt +0 -1
- package/evals/prompts/ivg-001.txt +0 -1
- package/evals/prompts/ivg-002.txt +0 -11
- package/evals/prompts/ivg-003.txt +0 -1
- package/evals/prompts/ivg-004.txt +0 -1
- package/evals/prompts/mode-001.txt +0 -3
- package/evals/prompts/mode-002.txt +0 -1
- package/evals/prompts/mode-003.txt +0 -3
- package/evals/prompts/mode-004.txt +0 -3
- package/evals/prompts/mode-005.txt +0 -3
- package/evals/prompts/mode-006.txt +0 -3
- package/evals/prompts/mode-007.txt +0 -3
- package/evals/prompts/otr-001.txt +0 -3
- package/evals/prompts/otr-002.txt +0 -3
- package/evals/prompts/rar-001.txt +0 -5
- package/evals/prompts/rar-002.txt +0 -3
- package/evals/prompts/rar-003.txt +0 -6
- package/evals/prompts/rar-004.txt +0 -15
- package/evals/prompts/rar-005.txt +0 -10
- package/evals/prompts/rbr-001.txt +0 -3
- package/evals/prompts/rbr-002.txt +0 -3
- package/evals/prompts/rbr-003.txt +0 -7
- package/evals/prompts/rev-001.txt +0 -3
- package/evals/prompts/rev-002.txt +0 -5
- package/evals/prompts/rev-003.txt +0 -6
- package/evals/prompts/rev-004.txt +0 -1
- package/evals/prompts/rev-005.txt +0 -15
- package/evals/prompts/rev-006.txt +0 -5
- package/evals/prompts/stp-001.txt +0 -1
- package/evals/prompts/stp-002.txt +0 -1
- package/evals/prompts/stp-003.txt +0 -1
- package/evals/prompts/stp-004.txt +0 -1
- package/evals/prompts/stp-005.txt +0 -1
- package/evals/prompts/stp-006.txt +0 -1
- package/evals/prompts/stp-007.txt +0 -1
- package/evals/prompts/stp-008.txt +0 -1
- package/evals/prompts/stp-009.txt +0 -1
- package/evals/prompts/stp-010.txt +0 -1
- package/evals/prompts/stp-011.txt +0 -1
- package/evals/prompts/vfy-003.txt +0 -1
- package/evals/prompts/wpl-001.txt +0 -3
- package/evals/prompts/wpl-002.txt +0 -5
- package/evals/prompts/wpl-003.txt +0 -3
- package/evals/prompts/wpl-004.txt +0 -5
- package/evals/prompts/wpl-005.txt +0 -1
- package/evals/prompts/wrc-001.txt +0 -10
- package/evals/prompts/wrc-002.txt +0 -3
- package/evals/prompts/wsk-001.txt +0 -6
- package/evals/prompts/wsp-001.txt +0 -5
- package/evals/prompts/wsp-002.txt +0 -15
- package/evals/prompts/wsp-003.txt +0 -3
- package/evals/prompts/wsp-004.txt +0 -15
- package/evals/prompts/wsp-005.txt +0 -5
- package/evals/prompts/wsp-006.txt +0 -12
- package/evals/prompts/wsp-007.txt +0 -9
- package/evals/prompts/wsp-008.txt +0 -13
- package/evals/prompts/xpl-001.txt +0 -1
- package/evals/prompts/xpl-002.txt +0 -3
- package/evals/prompts/xpl-003.txt +0 -3
- package/evals/prompts/xpl-004.txt +0 -3
- package/evals/prompts/xpl-005.txt +0 -5
- package/evals/prompts/xpl-006.txt +0 -3
- package/evals/registries/adversarial-evals.json +0 -39
- package/evals/registries/fixture-evals.json +0 -2513
- package/evals/registries/handoff-evals.json +0 -74
- package/evals/registries/legacy-evals.json +0 -147
- package/evals/registries/skill-evidence.json +0 -193
- package/evals/registries/verify-work-evals.json +0 -46
- package/evals/reports/acceptance/v0.1-acceptance-report.md +0 -130
- package/evals/reports/by-command-surface/command-surface-1-report.md +0 -45
- package/evals/reports/by-command-surface/command-surface-10-report.md +0 -76
- package/evals/reports/by-command-surface/command-surface-11-report.md +0 -77
- package/evals/reports/by-command-surface/command-surface-12-report.md +0 -91
- package/evals/reports/by-command-surface/command-surface-13-report.md +0 -64
- package/evals/reports/by-command-surface/command-surface-14-report.md +0 -66
- package/evals/reports/by-command-surface/command-surface-15-report.md +0 -124
- package/evals/reports/by-command-surface/command-surface-16-report.md +0 -39
- package/evals/reports/by-command-surface/command-surface-2-report.md +0 -80
- package/evals/reports/by-command-surface/command-surface-3-report.md +0 -86
- package/evals/reports/by-command-surface/command-surface-4-report.md +0 -76
- package/evals/reports/by-command-surface/command-surface-5-report.md +0 -80
- package/evals/reports/by-command-surface/command-surface-6-report.md +0 -74
- package/evals/reports/by-command-surface/command-surface-7-report.md +0 -84
- package/evals/reports/by-command-surface/command-surface-8-report.md +0 -79
- package/evals/reports/by-command-surface/command-surface-9-report.md +0 -79
- package/evals/reports/by-command-surface/command-surface-matrix.md +0 -91
- package/evals/reports/by-skill/bypass-1-report.md +0 -124
- package/evals/reports/by-skill/capture-decisions-1-report.md +0 -99
- package/evals/reports/by-skill/capture-decisions-2-report.md +0 -102
- package/evals/reports/by-skill/commit-work-1-report.md +0 -165
- package/evals/reports/by-skill/commit-work-2-report.md +0 -109
- package/evals/reports/by-skill/design-for-depth-1-report.md +0 -95
- package/evals/reports/by-skill/diagnose-failure-1-report.md +0 -91
- package/evals/reports/by-skill/diagnose-failure-2-report.md +0 -94
- package/evals/reports/by-skill/discover-1-report.md +0 -118
- package/evals/reports/by-skill/evaluate-skill-2-report.md +0 -71
- package/evals/reports/by-skill/execute-plan-1-report.md +0 -103
- package/evals/reports/by-skill/execute-plan-2-report.md +0 -112
- package/evals/reports/by-skill/execute-plan-3-report.md +0 -87
- package/evals/reports/by-skill/grill-context-1-report.md +0 -103
- package/evals/reports/by-skill/handoff-1-report.md +0 -123
- package/evals/reports/by-skill/handoff-2-report.md +0 -105
- package/evals/reports/by-skill/handoff-3-report.md +0 -100
- package/evals/reports/by-skill/handoff-7-report.md +0 -77
- package/evals/reports/by-skill/interview-gate-1-report.md +0 -63
- package/evals/reports/by-skill/interview-gate-2-report.md +0 -105
- package/evals/reports/by-skill/mode-contract-1-report.md +0 -74
- package/evals/reports/by-skill/mode-contract-2-report.md +0 -87
- package/evals/reports/by-skill/mode-contract-3-report.md +0 -65
- package/evals/reports/by-skill/mode-contract-4-report.md +0 -71
- package/evals/reports/by-skill/mode-contract-5-report.md +0 -70
- package/evals/reports/by-skill/output-router-1-report.md +0 -76
- package/evals/reports/by-skill/output-router-2-report.md +0 -65
- package/evals/reports/by-skill/research-1-report.md +0 -144
- package/evals/reports/by-skill/research-brief-1-report.md +0 -94
- package/evals/reports/by-skill/research-brief-2-report.md +0 -75
- package/evals/reports/by-skill/review-artifact-1-report.md +0 -91
- package/evals/reports/by-skill/review-artifact-2-report.md +0 -79
- package/evals/reports/by-skill/review-artifact-3-report.md +0 -120
- package/evals/reports/by-skill/review-artifact-4-report.md +0 -89
- package/evals/reports/by-skill/review-artifact-5-report.md +0 -66
- package/evals/reports/by-skill/review-work-1-report.md +0 -85
- package/evals/reports/by-skill/review-work-2-report.md +0 -87
- package/evals/reports/by-skill/review-work-3-report.md +0 -104
- package/evals/reports/by-skill/review-work-4-report.md +0 -108
- package/evals/reports/by-skill/review-work-5-report.md +0 -73
- package/evals/reports/by-skill/review-work-6-report.md +0 -66
- package/evals/reports/by-skill/setup-freeflow-1-report.md +0 -199
- package/evals/reports/by-skill/setup-freeflow-2-report.md +0 -105
- package/evals/reports/by-skill/setup-freeflow-3-report.md +0 -105
- package/evals/reports/by-skill/setup-freeflow-4-report.md +0 -88
- package/evals/reports/by-skill/setup-freeflow-5-report.md +0 -115
- package/evals/reports/by-skill/skill-authoring-1-report.md +0 -81
- package/evals/reports/by-skill/verify-work-1-report.md +0 -111
- package/evals/reports/by-skill/verify-work-2-report.md +0 -120
- package/evals/reports/by-skill/workflow-1-report.md +0 -65
- package/evals/reports/by-skill/write-plan-1-report.md +0 -123
- package/evals/reports/by-skill/write-plan-2-report.md +0 -98
- package/evals/reports/by-skill/write-plan-3-report.md +0 -110
- package/evals/reports/by-skill/write-spec-1-report.md +0 -88
- package/evals/reports/by-skill/write-spec-2-report.md +0 -89
- package/evals/reports/by-skill/write-spec-3-report.md +0 -90
- package/evals/reports/by-skill/write-spec-4-report.md +0 -167
- package/evals/reports/harness/claude-harness-1-report.md +0 -103
- package/evals/reports/harness/eval-harness-1-report.md +0 -91
- package/evals/reports/iterations/iteration-1-report.md +0 -71
- package/evals/reports/iterations/iteration-2-report.md +0 -78
- package/evals/reports/iterations/iteration-3-report.md +0 -118
- package/evals/reports/iterations/iteration-4-report.md +0 -131
- package/evals/reports/iterations/iteration-5-report.md +0 -149
- package/evals/reports/iterations/iteration-6-report.md +0 -136
- package/evals/reports/runtime/always-on-runtime-1-report.md +0 -107
- package/evals/reports/runtime/context-mode-normalized-benchmark-1-report.md +0 -52
- package/evals/reports/runtime/context-mode-real-deep-baseline-1-report.md +0 -410
- package/evals/reports/runtime/context-mode-real-deep-final-slice-11-report.md +0 -203
- package/evals/reports/runtime/context-mode-real-deep-final-slice-11-review.md +0 -51
- package/evals/reports/runtime/context-saving-native-tools-baseline-1-report.md +0 -99
- package/evals/reports/runtime/eryx-python-compatibility-reprobe-1-report.md +0 -166
- package/evals/reports/runtime/eryx-python-proof-spike-1-report.md +0 -96
- package/evals/reports/runtime/eryx-python-proof-spike-2-report.md +0 -151
- package/evals/reports/runtime/eryx-python-script-derive-execution-1-report.md +0 -233
- package/evals/reports/runtime/jq-script-derive-execution-1-report.md +0 -215
- package/evals/reports/runtime/jq-wasm-proof-spike-1-report.md +0 -67
- package/evals/reports/runtime/output-router-benchmark-1-report.md +0 -81
- package/evals/reports/runtime/output-router-capture-derive-provider-eval-1-report.md +0 -35
- package/evals/reports/runtime/output-router-codex-large-index-sqlite-adhoc-report.md +0 -150
- package/evals/reports/runtime/output-router-codex-qa-benchmark-1-report.md +0 -46
- package/evals/reports/runtime/output-router-command-benchmark-1-report.md +0 -62
- package/evals/reports/runtime/output-router-index-benchmark-1-report.md +0 -64
- package/evals/reports/runtime/output-router-regression-1-report.md +0 -81
- package/evals/reports/runtime/output-router-transform-eval-1-report.md +0 -28
- package/evals/reports/runtime/pi-observed-routing-eval-1-report.md +0 -44
- package/evals/reports/runtime/quickjs-script-derive-execution-1-report.md +0 -159
- package/evals/reports/runtime/quickjs-wasi-proof-spike-1-report.md +0 -55
- package/evals/reports/runtime/render-format-row-protocol-1-report.md +0 -58
- package/evals/reports/runtime/script-sandbox-adapter-selection-review-1-report.md +0 -84
- package/evals/reports/runtime/script-sandbox-probe-resource-hardening-1-report.md +0 -51
- package/evals/reports/runtime/storage-policy-benchmark-1-report.md +0 -176
- package/evals/reports/runtime/vault-index-storage-spike-1-report.md +0 -39
- package/evals/reports/runtime/workflow-context-hook-1-report.md +0 -82
- package/evals/runbooks/adversarial-eval-runbook.md +0 -28
- package/evals/runbooks/fixture-eval-runbook.md +0 -137
- package/evals/runbooks/handoff-eval-runbook.md +0 -22
- package/evals/runbooks/verify-work-eval-runbook.md +0 -27
- package/evals/scripts/audit-command-surface.sh +0 -160
- package/evals/scripts/check-activation-contract.sh +0 -121
- package/evals/scripts/check-runtime-context-hook.sh +0 -183
- package/evals/scripts/grade-fixture-eval.sh +0 -446
- package/evals/scripts/run-claude-fixture-eval.sh +0 -26
- package/evals/scripts/run-codex-fixture-eval.sh +0 -26
- package/evals/scripts/run-eryx-python-proof-spike.js +0 -559
- package/evals/scripts/run-fixture-eval-by-id.sh +0 -23
- package/evals/scripts/run-fixture-eval.sh +0 -464
- package/evals/scripts/run-jq-wasm-proof-spike.js +0 -299
- package/evals/scripts/run-output-router-transform-eval.js +0 -115
- package/evals/scripts/run-pi-observed-routing-eval.js +0 -478
- package/evals/scripts/run-quickjs-wasi-proof-spike.js +0 -339
- package/evals/scripts/skill-evidence.sh +0 -316
- package/evals/scripts/validate-release-metadata.sh +0 -486
- package/evals/suites/v0.1-acceptance-suite.md +0 -131
- package/pi-extension/dist/host-producer-identification.js +0 -186
- package/pi-extension/dist/mcp-config.js +0 -30
- package/pi-extension/dist/native-safety-net.js +0 -209
- package/pi-extension/dist/observed-tool-routing.js +0 -114
- package/pi-extension/dist/renderers.js +0 -835
- package/pi-extension/dist/router-tools.js +0 -438
- package/pi-extension/dist/runtime-context.js +0 -288
- package/pi-extension/dist/schemas.js +0 -254
- package/pi-extension/dist/status.js +0 -449
- package/pi-extension/dist/utils.js +0 -467
- package/pi-extension/src/runtime-context.ts +0 -347
- package/pi-extension/src/status.ts +0 -505
- package/plugin-docs/README.md +0 -40
- package/plugin-docs/adr/0001-three-modes.md +0 -27
- package/plugin-docs/adr/0002-evals-before-hooks.md +0 -17
- package/plugin-docs/adr/0003-release-boundary.md +0 -21
- package/plugin-docs/adr/0004-discover-replaces-shallow-discovery-skills.md +0 -26
- package/plugin-docs/adr/README.md +0 -10
- package/plugin-docs/architecture.md +0 -89
- package/plugin-docs/output-router.md +0 -396
- package/plugin-docs/release-evidence.md +0 -77
- package/plugin-docs/skills.md +0 -44
- package/plugin-docs/workflow.md +0 -57
- package/skills/diagnose-failure/references/feedback-loop-catalog.md +0 -25
- package/skills/discover/ARTIFACT-DESTINATIONS.md +0 -58
- package/skills/discover/CHECKPOINTS.md +0 -74
- package/skills/discover/SKILL.md +0 -173
- package/skills/evaluate-skill/references/eval-patterns.md +0 -41
- package/skills/evaluate-skill/references/grading-priority.md +0 -33
- package/skills/execute-plan/SKILL.md +0 -133
- package/skills/execute-plan/references/execution-map.md +0 -122
- package/skills/interview-gate/SKILL.md +0 -90
- package/skills/setup-freeflow/references/output-router-setup.md +0 -102
- package/skills/workflow/references/workflow-map.md +0 -104
- /package/pi-extension/src/{mcp-config.ts → integrations/mcp-config.ts} +0 -0
|
@@ -1,69 +1,128 @@
|
|
|
1
1
|
# Spec Shapes
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Read this when choosing the structure of a spec-like artifact. These are composable shapes, not mandatory templates. Use only the sections the artifact needs for its intended use.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Product Spec Or PRD
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Use for a product, capability, workflow, or user-facing outcome.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- Intended outcome.
|
|
11
|
-
- Users or actors.
|
|
12
|
-
- In scope.
|
|
13
|
-
- Out of scope.
|
|
14
|
-
- Requirements.
|
|
15
|
-
- Acceptance criteria.
|
|
16
|
-
- Decisions made.
|
|
17
|
-
- Open questions.
|
|
9
|
+
Possible sections:
|
|
18
10
|
|
|
19
|
-
|
|
11
|
+
- problem and motivation;
|
|
12
|
+
- intended outcome;
|
|
13
|
+
- users or actors;
|
|
14
|
+
- scope and non-goals;
|
|
15
|
+
- user journeys or observable behavior;
|
|
16
|
+
- requirements and constraints;
|
|
17
|
+
- product, policy, or domain decisions;
|
|
18
|
+
- edge and failure behavior;
|
|
19
|
+
- acceptance criteria;
|
|
20
|
+
- unresolved questions and source evidence.
|
|
21
|
+
|
|
22
|
+
Do not turn a PRD into an implementation task list.
|
|
23
|
+
|
|
24
|
+
## Issue Or Problem Specification
|
|
25
|
+
|
|
26
|
+
Use when a durable issue must define a problem clearly enough to investigate, fix, or accept.
|
|
27
|
+
|
|
28
|
+
Possible sections:
|
|
29
|
+
|
|
30
|
+
- observed problem or requested change;
|
|
31
|
+
- affected behavior and users;
|
|
32
|
+
- current evidence, reproduction, or examples;
|
|
33
|
+
- expected behavior;
|
|
34
|
+
- scope and non-goals;
|
|
35
|
+
- severity, constraints, and known impact;
|
|
36
|
+
- acceptance criteria;
|
|
37
|
+
- unresolved facts or owner decisions.
|
|
38
|
+
|
|
39
|
+
Do not present a guessed cause or requested patch as established fact. A fix sequence belongs in a Plan after the cause and path are sufficiently understood.
|
|
40
|
+
|
|
41
|
+
## Requirements Or Behavioral Specification
|
|
42
|
+
|
|
43
|
+
Use when observable behavior and constraints matter more than implementation structure.
|
|
44
|
+
|
|
45
|
+
Possible sections:
|
|
46
|
+
|
|
47
|
+
- actors and preconditions;
|
|
48
|
+
- required behavior and invariants;
|
|
49
|
+
- inputs, outputs, states, and transitions;
|
|
50
|
+
- errors, rejection, degradation, and recovery;
|
|
51
|
+
- forbidden outcomes;
|
|
52
|
+
- compatibility and data guarantees;
|
|
53
|
+
- acceptance examples and evidence.
|
|
54
|
+
|
|
55
|
+
Express behavior precisely without copying implementation logic into the contract.
|
|
20
56
|
|
|
21
57
|
## Technical Design
|
|
22
58
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
|
|
69
|
-
|
|
59
|
+
Use when the artifact must define an accepted technical direction in depth.
|
|
60
|
+
|
|
61
|
+
Possible sections:
|
|
62
|
+
|
|
63
|
+
- problem and current evidence;
|
|
64
|
+
- goals and non-goals;
|
|
65
|
+
- proposed architecture or design;
|
|
66
|
+
- module, interface, state, and ownership boundaries;
|
|
67
|
+
- data flow and persistence;
|
|
68
|
+
- failure contract and recovery;
|
|
69
|
+
- security, privacy, performance, and operational constraints;
|
|
70
|
+
- alternatives and rationale;
|
|
71
|
+
- compatibility or migration impact;
|
|
72
|
+
- risks, validation, and unresolved design questions.
|
|
73
|
+
|
|
74
|
+
A technical design may contain implementation detail when that detail defines the accepted design. Ordered phases and execution slices still belong in a Plan.
|
|
75
|
+
|
|
76
|
+
## API, Protocol, Or Interface Contract
|
|
77
|
+
|
|
78
|
+
Use for a public or internal interface that callers will depend on.
|
|
79
|
+
|
|
80
|
+
Possible sections:
|
|
81
|
+
|
|
82
|
+
- interface, endpoint, command, event, or protocol name;
|
|
83
|
+
- callers, roles, authentication, and permissions;
|
|
84
|
+
- requests, inputs, responses, outputs, and schemas;
|
|
85
|
+
- invariants and ordering;
|
|
86
|
+
- errors and failure semantics;
|
|
87
|
+
- idempotency, retries, versioning, and compatibility;
|
|
88
|
+
- privacy, billing, data-safety, and operational constraints;
|
|
89
|
+
- examples and acceptance evidence.
|
|
90
|
+
|
|
91
|
+
Stop rather than inventing caller-visible behavior or compatibility promises.
|
|
92
|
+
|
|
93
|
+
## Migration Contract
|
|
94
|
+
|
|
95
|
+
Use when current and target states, compatibility, and safety obligations must be durable before execution is planned.
|
|
96
|
+
|
|
97
|
+
Possible sections:
|
|
98
|
+
|
|
99
|
+
- current and target contracts;
|
|
100
|
+
- affected consumers, data, traffic, or configuration;
|
|
101
|
+
- compatibility and support commitments;
|
|
102
|
+
- data and state invariants;
|
|
103
|
+
- cutover, rollback, or forward-recovery requirements;
|
|
104
|
+
- observation and removal conditions;
|
|
105
|
+
- consequential failure behavior;
|
|
106
|
+
- acceptance and completion evidence;
|
|
107
|
+
- decisions still required.
|
|
108
|
+
|
|
109
|
+
Include ordering only when it is part of the accepted migration contract. Detailed execution phases belong in a migration or implementation Plan.
|
|
110
|
+
|
|
111
|
+
## Decision Artifact
|
|
112
|
+
|
|
113
|
+
Use when a durable choice and its rationale are the artifact's primary job. Read [decision records](decision-records.md) before choosing a task-local decision note, durable decision record, or ADR.
|
|
114
|
+
|
|
115
|
+
Possible sections:
|
|
116
|
+
|
|
117
|
+
- context and decision question;
|
|
118
|
+
- decision and owner;
|
|
119
|
+
- materially different alternatives;
|
|
120
|
+
- rationale and evidence;
|
|
121
|
+
- consequences and constraints;
|
|
122
|
+
- revisit or supersession conditions.
|
|
123
|
+
|
|
124
|
+
## Combine Carefully
|
|
125
|
+
|
|
126
|
+
An artifact may combine shapes when it genuinely owns both jobs, such as a technical design containing an API contract. Keep each responsibility legible.
|
|
127
|
+
|
|
128
|
+
Do not create an omnibus artifact merely to avoid links. Separate artifacts when they have different owners, statuses, audiences, lifecycles, or review boundaries.
|
package/evals/README.md
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Freeflow Evals
|
|
2
|
-
|
|
3
|
-
- `registries/`: eval definitions.
|
|
4
|
-
- `registries/skill-evidence.json`: explicit skill-to-eval grouping metadata.
|
|
5
|
-
- `fixtures/`: tiny repo fixtures used by fixture evals.
|
|
6
|
-
- `prompts/`: prompts referenced by registries.
|
|
7
|
-
- `scripts/`: local runners and audits.
|
|
8
|
-
- `reports/by-skill/`: skill-family eval reports.
|
|
9
|
-
- `reports/by-command-surface/`: slash-style command routing reports and matrix.
|
|
10
|
-
- `reports/iterations/`: early broad iteration reports.
|
|
11
|
-
- `reports/harness/`: eval runner and harness reports.
|
|
12
|
-
- `reports/acceptance/`: release acceptance reports.
|
|
13
|
-
- `reports/runtime/`: always-on runtime evidence.
|
|
14
|
-
- `runbooks/`: how to run specific eval families.
|
|
15
|
-
- `suites/`: curated release or acceptance suites.
|
|
16
|
-
- `runs/`: ignored generated output.
|
|
17
|
-
|
|
18
|
-
Use `registries/fixture-evals.json` for current adversarial fixture coverage.
|
|
19
|
-
Use `scripts/grade-fixture-eval.sh <eval-id> --output <run-output.md>` after fixture runs that define `objective_checks`; it grades mechanical evidence such as changed files, empty diffs, exit status, and fixed output/diff text.
|
|
20
|
-
Baseline fixture runs set `FREEFLOW_DISABLE_RUNTIME_CONTEXT=1` before launching nested agents so installed lifecycle hooks do not inject Freeflow mode-contract, workflow, interview-gate, discover, and output-router context into the baseline.
|
|
21
|
-
Use `scripts/skill-evidence.sh <skill>` to group command routes, eval definitions, acceptance membership, and reports for a skill.
|
|
22
|
-
Use `scripts/run-output-router-transform-eval.js` after transform-routing changes; it writes `reports/runtime/output-router-transform-eval-1-report.md`.
|
|
23
|
-
Use `scripts/run-pi-observed-routing-eval.js` after Pi observed-routing changes; it writes `reports/runtime/pi-observed-routing-eval-1-report.md`.
|
|
24
|
-
Use `npm run bench:router:vault-index` after vault-index interface/storage changes; it writes `reports/runtime/vault-index-storage-spike-1-report.md`.
|
|
25
|
-
Use `scripts/run-quickjs-wasi-proof-spike.js --quickjs-wasi-root <temp-or-installed-package-root>` after JavaScript sandbox-adapter proof changes; it writes `reports/runtime/quickjs-wasi-proof-spike-1-report.md`.
|
|
26
|
-
Use `reports/runtime/eryx-python-proof-spike-1-report.md` for the original Python Eryx compatibility blocker, `reports/runtime/eryx-python-compatibility-reprobe-1-report.md` for the temp-only import workaround reprobe, and `reports/runtime/eryx-python-proof-spike-2-report.md` for the 9/9 Eryx proof spike. Python script transform execution requires a proof-backed adapter from the global adapter cache or `FREEFLOW_ERYX_ROOT`, a JSPI-capable Node runner, and explicit `scriptTransform` opt-in.
|
|
27
|
-
Use `scripts/run-jq-wasm-proof-spike.js --jq-wasm-root <temp-or-installed-package-root>` after jq sandbox-adapter proof changes; it writes `reports/runtime/jq-wasm-proof-spike-1-report.md`.
|
|
28
|
-
Use `reports/runtime/script-sandbox-adapter-selection-review-1-report.md` for the adapter-family selection gate.
|
|
29
|
-
Use `reports/runtime/script-sandbox-probe-resource-hardening-1-report.md` for follow-up proof-probe resource hardening evidence. Use `scripts/run-output-router-transform-eval.js` for current transform-routing evidence. Script transform is disabled by default; JavaScript, Python, and jq execute only through explicit proof-backed adapter roots and `scriptTransform` config.
|
|
30
|
-
Use `scripts/validate-release-metadata.sh` before release or prepublish checks to validate marketplace metadata, manifests, command-surface routing, release-boundary docs, package cleanliness, and deferred install-smoke status.
|
|
31
|
-
Use `scripts/check-runtime-context-hook.sh` after changing plugin-bundled runtime context hooks.
|
|
32
|
-
Prefer the latest acceptance report over old smoke evals when evidence conflicts.
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Copy Conventions Fixture
|
|
2
|
-
|
|
3
|
-
Use this fixture for inspect-before-asking evals.
|
|
4
|
-
|
|
5
|
-
## Error Copy
|
|
6
|
-
|
|
7
|
-
- Keep user-facing errors short.
|
|
8
|
-
- Use sentence case.
|
|
9
|
-
- Avoid blame.
|
|
10
|
-
- Prefer recovery-oriented language.
|
|
11
|
-
- Do not expose internal implementation details.
|
|
12
|
-
|
|
13
|
-
## Existing Examples
|
|
14
|
-
|
|
15
|
-
- "We could not sign you in. Check your email and password."
|
|
16
|
-
- "Your session expired. Sign in again to continue."
|
|
17
|
-
- "We could not save your changes. Try again."
|
|
18
|
-
|
|
19
|
-
## Login Copy Target
|
|
20
|
-
|
|
21
|
-
Current login error:
|
|
22
|
-
|
|
23
|
-
```text
|
|
24
|
-
Authentication failed due to invalid credentials.
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Expected direction:
|
|
28
|
-
|
|
29
|
-
```text
|
|
30
|
-
We could not sign you in. Check your email and password.
|
|
31
|
-
```
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# Output Router Regression Fixtures
|
|
2
|
-
|
|
3
|
-
Deterministic fixtures for Freeflow Router regression tests.
|
|
4
|
-
|
|
5
|
-
They are intentionally plain text so tests can verify:
|
|
6
|
-
|
|
7
|
-
- targeted retrieval from large docs,
|
|
8
|
-
- exact full-fidelity chunk behavior over caps,
|
|
9
|
-
- noisy command output reduction,
|
|
10
|
-
- failed-command exact evidence,
|
|
11
|
-
- verification-summary exactness,
|
|
12
|
-
- post-tool native safety-net vaulting and recovery.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
FAIL packages/router/run.test.js
|
|
2
|
-
freeflowRun failed-command fixture
|
|
3
|
-
AssertionError: expected false to equal true
|
|
4
|
-
at Object.<anonymous> (router/tests/fixture.test.js:12:7)
|
|
5
|
-
at async TestContext.run (node:internal/test_runner/test:1054:7)
|
|
6
|
-
Exact failure evidence must remain unchanged.
|
|
7
|
-
Stack trace line 007 for deterministic fixture coverage.
|
|
8
|
-
Stack trace line 008 for deterministic fixture coverage.
|
|
9
|
-
Stack trace line 009 for deterministic fixture coverage.
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Output Router Large Manual Fixture
|
|
2
|
-
|
|
3
|
-
HEAD_SENTINEL_FULL_FIDELITY
|
|
4
|
-
|
|
5
|
-
This fixture is intentionally longer than the full-fidelity cap used by regression tests.
|
|
6
|
-
The first section should appear only when exact head chunks are requested.
|
|
7
|
-
Do not rely on this opening text to answer targeted output-router questions.
|
|
8
|
-
The router should prefer bounded evidence when the query has a clear anchor.
|
|
9
|
-
|
|
10
|
-
## Background
|
|
11
|
-
|
|
12
|
-
Filler background line 001 about portable host adapters and deterministic routing.
|
|
13
|
-
Filler background line 002 about session-linked vaults and recoverable output.
|
|
14
|
-
Filler background line 003 about native tools remaining direct by default.
|
|
15
|
-
Filler background line 004 about preserving raw evidence before transformation.
|
|
16
|
-
Filler background line 005 about avoiding model-assisted runtime summarization.
|
|
17
|
-
Filler background line 006 about keeping exact evidence available through retrieval.
|
|
18
|
-
Filler background line 007 about routing commands only after command output exists.
|
|
19
|
-
Filler background line 008 about host-approved runners for command execution.
|
|
20
|
-
Filler background line 009 about package whitelists for compiled router runtime.
|
|
21
|
-
Filler background line 010 about output-router skill guidance staying compact.
|
|
22
|
-
|
|
23
|
-
## Output Router Safety Net Anchor
|
|
24
|
-
|
|
25
|
-
The OUTPUT_ROUTER_SKILL_DECISION_ANCHOR says the safety net is optional and config controlled.
|
|
26
|
-
When enabled, large native read or bash output can be vaulted, labeled, and recovered by output id.
|
|
27
|
-
When disabled, native read and bash output keep their direct host semantics.
|
|
28
|
-
This exact paragraph is the target for bounded retrieval and should not require the full file.
|
|
29
|
-
|
|
30
|
-
## More Background
|
|
31
|
-
|
|
32
|
-
Filler background line 011 about deterministic line windows for retrieved evidence.
|
|
33
|
-
Filler background line 012 about exact chunks replacing lossy summaries for full fidelity.
|
|
34
|
-
Filler background line 013 about preserving verification evidence for completion claims.
|
|
35
|
-
Filler background line 014 about preserving failure evidence for diagnosis.
|
|
36
|
-
Filler background line 015 about source-truth conflicts requiring exact support.
|
|
37
|
-
Filler background line 016 about privacy-sensitive output avoiding silent compression.
|
|
38
|
-
Filler background line 017 about billing-sensitive output avoiding silent compression.
|
|
39
|
-
Filler background line 018 about public API evidence avoiding silent compression.
|
|
40
|
-
Filler background line 019 about generated paths and noisy command hints.
|
|
41
|
-
Filler background line 020 about future capability routing reusing retrieval primitives.
|
|
42
|
-
Filler background line 021 about session indexes grouping command records by execution status.
|
|
43
|
-
Filler background line 022 about raw text records storing native safety-net output.
|
|
44
|
-
Filler background line 023 about command records storing stdout stderr and combined streams.
|
|
45
|
-
Filler background line 024 about vault retention using TTL metadata.
|
|
46
|
-
Filler background line 025 about durable promotion requiring explicit request.
|
|
47
|
-
Filler background line 026 about exact recovery by line range.
|
|
48
|
-
Filler background line 027 about not flooding context to hide router failure.
|
|
49
|
-
Filler background line 028 about failing open when post-tool safety net storage fails.
|
|
50
|
-
Filler background line 029 about strict mode changing guidance strength only.
|
|
51
|
-
Filler background line 030 about modes not enabling post-tool routing.
|
|
52
|
-
|
|
53
|
-
## Tail
|
|
54
|
-
|
|
55
|
-
Tail filler line 001 should only appear in full-fidelity tail chunks.
|
|
56
|
-
Tail filler line 002 should only appear in full-fidelity tail chunks.
|
|
57
|
-
Tail filler line 003 should only appear in full-fidelity tail chunks.
|
|
58
|
-
Tail filler line 004 should only appear in full-fidelity tail chunks.
|
|
59
|
-
Tail filler line 005 should only appear in full-fidelity tail chunks.
|
|
60
|
-
Tail filler line 006 should only appear in full-fidelity tail chunks.
|
|
61
|
-
Tail filler line 007 should only appear in full-fidelity tail chunks.
|
|
62
|
-
Tail filler line 008 should only appear in full-fidelity tail chunks.
|
|
63
|
-
TAIL_SENTINEL_DO_NOT_INCLUDE_IN_TARGETED_QUERY
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
native output fixture line 001 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
2
|
-
native output fixture line 002 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
3
|
-
native output fixture line 003 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
4
|
-
native output fixture line 004 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
5
|
-
native output fixture line 005 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
6
|
-
native output fixture line 006 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
7
|
-
native output fixture line 007 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
8
|
-
native output fixture line 008 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
9
|
-
native output fixture line 009 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
10
|
-
native output fixture line 010 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
11
|
-
native output fixture line 011 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
12
|
-
native output fixture line 012 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
13
|
-
native output fixture line 013 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
14
|
-
native output fixture line 014 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
15
|
-
native output fixture line 015 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
16
|
-
native output fixture line 016 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
17
|
-
native output fixture line 017 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
18
|
-
native output fixture line 018 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
19
|
-
native output fixture line 019 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
20
|
-
native output fixture line 020 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
21
|
-
native output fixture line 021 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
22
|
-
native output fixture line 022 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
23
|
-
native output fixture line 023 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
24
|
-
native output fixture line 024 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
25
|
-
native output fixture line 025 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
26
|
-
native output fixture line 026 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
27
|
-
native output fixture line 027 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
28
|
-
native output fixture line 028 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
29
|
-
native output fixture line 029 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
30
|
-
native output fixture line 030 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
31
|
-
native output fixture line 031 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
32
|
-
native output fixture line 032 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
33
|
-
native output fixture line 033 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
34
|
-
native output fixture line 034 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
35
|
-
native output fixture line 035 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
36
|
-
native output fixture line 036 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
37
|
-
native output fixture line 037 :: long context flood filler alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu
|
|
38
|
-
native output fixture line 038
|
|
39
|
-
native output fixture line 039
|
|
40
|
-
NATIVE_RAW_TAIL_SENTINEL
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
router noisy fixture line 001 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
2
|
-
router noisy fixture line 002 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
3
|
-
router noisy fixture line 003 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
4
|
-
router noisy fixture line 004 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
5
|
-
router noisy fixture line 005 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
6
|
-
router noisy fixture line 006 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
7
|
-
router noisy fixture line 007 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
8
|
-
router noisy fixture line 008 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
9
|
-
router noisy fixture line 009 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
10
|
-
router noisy fixture line 010 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
11
|
-
router noisy fixture line 011 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
12
|
-
router noisy fixture line 012 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
13
|
-
router noisy fixture line 013 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
14
|
-
router noisy fixture line 014 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
15
|
-
router noisy fixture line 015 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
16
|
-
router noisy fixture line 016 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
17
|
-
router noisy fixture line 017 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
18
|
-
router noisy fixture line 018 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
19
|
-
router noisy fixture line 019 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
20
|
-
router noisy fixture line 020 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
21
|
-
router noisy fixture line 021 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
22
|
-
router noisy fixture line 022 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
23
|
-
router noisy fixture line 023 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
24
|
-
router noisy fixture line 024 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
25
|
-
router noisy fixture line 025 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
26
|
-
router noisy fixture line 026 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
27
|
-
router noisy fixture line 027 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
28
|
-
router noisy fixture line 028 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
29
|
-
router noisy fixture line 029 :: setup chatter with repeated package graph traversal details alpha beta gamma delta epsilon zeta eta theta iota kappa lambda
|
|
30
|
-
NOISY_OUTPUT_TAIL_SENTINEL
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
router verification setup line 001
|
|
2
|
-
router verification setup line 002
|
|
3
|
-
router verification setup line 003
|
|
4
|
-
router verification setup line 004
|
|
5
|
-
router verification setup line 005
|
|
6
|
-
Tests: 2 failed, 198 passed, 200 total
|
|
7
|
-
Time: 9.42s
|
|
8
|
-
router verification teardown line 001
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# Billing Policy
|
|
2
|
-
|
|
3
|
-
When a recurring payment fails:
|
|
4
|
-
|
|
5
|
-
1. Keep paid access active during a 7-day grace period.
|
|
6
|
-
2. Retry payment until there are 3 total failed payment attempts.
|
|
7
|
-
3. Email the user after each failed payment attempt.
|
|
8
|
-
4. Downgrade to the free plan only after the third failed payment attempt.
|
|
9
|
-
|
|
10
|
-
Do not immediately downgrade on the first failed payment.
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Billing Webhook API Draft
|
|
2
|
-
|
|
3
|
-
## Problem
|
|
4
|
-
|
|
5
|
-
External accounting systems need webhook notifications when payment retries succeed or finally fail.
|
|
6
|
-
|
|
7
|
-
## Requirements
|
|
8
|
-
|
|
9
|
-
- Send a webhook when a payment retry succeeds.
|
|
10
|
-
- Send a webhook when payment retries finally fail.
|
|
11
|
-
- Use the existing failed-payment policy for retry and downgrade timing.
|
|
12
|
-
- Endpoint URL shape: TBD.
|
|
13
|
-
- Authentication scheme: TBD.
|
|
14
|
-
- Payload fields: TBD.
|
|
15
|
-
- Delivery retry semantics: TBD.
|
|
16
|
-
|
|
17
|
-
## Acceptance Criteria
|
|
18
|
-
|
|
19
|
-
- External accounting systems receive the success notification.
|
|
20
|
-
- External accounting systems receive the final-failure notification.
|
|
21
|
-
- The webhook does not fire on the first failed payment unless the final retry has failed.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Failed Payment Grace Period Spec
|
|
2
|
-
|
|
3
|
-
## Problem
|
|
4
|
-
|
|
5
|
-
Recurring payment failures need a consistent downgrade flow that preserves paid access during the grace period and only downgrades after retry attempts are exhausted.
|
|
6
|
-
|
|
7
|
-
## Requirements
|
|
8
|
-
|
|
9
|
-
- On the first failed recurring payment, increment `paymentFailures`.
|
|
10
|
-
- Set `accessStatus` to `grace_period` after the first failed payment.
|
|
11
|
-
- Keep the user's current paid plan active during the 7-day grace period.
|
|
12
|
-
- Retry payment until there are 3 total failed payment attempts.
|
|
13
|
-
- Email the user after each failed payment attempt.
|
|
14
|
-
- Downgrade to the free plan only after the third failed payment attempt.
|
|
15
|
-
- Do not immediately downgrade on the first failed payment.
|
|
16
|
-
|
|
17
|
-
## Acceptance Criteria
|
|
18
|
-
|
|
19
|
-
- First failed payment increments `paymentFailures`.
|
|
20
|
-
- First failed payment sets `accessStatus` to `grace_period`.
|
|
21
|
-
- First failed payment keeps the current paid plan.
|
|
22
|
-
- Downgrade is allowed only after 3 failed payment attempts.
|
|
23
|
-
- Billing behavior matches `docs/billing-policy.md`.
|
|
24
|
-
- Billing checks in `tests/billing.test.md` remain valid.
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Immediate Downgrade Spec
|
|
2
|
-
|
|
3
|
-
## Problem
|
|
4
|
-
|
|
5
|
-
Users should lose paid access immediately after a failed payment.
|
|
6
|
-
|
|
7
|
-
## Requirements
|
|
8
|
-
|
|
9
|
-
- Downgrade users to the free plan after the first failed payment.
|
|
10
|
-
- Do not keep users in a grace period after a failed payment.
|
|
11
|
-
- Email users after the downgrade.
|
|
12
|
-
|
|
13
|
-
## Acceptance Criteria
|
|
14
|
-
|
|
15
|
-
- First failed payment changes the plan to `free`.
|
|
16
|
-
- First failed payment sets access to `downgraded`.
|
|
17
|
-
- Billing tests are updated to remove grace-period expectations.
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# Billing Behavior Checks
|
|
2
|
-
|
|
3
|
-
Expected behavior:
|
|
4
|
-
|
|
5
|
-
- First failed payment increments `paymentFailures`.
|
|
6
|
-
- First failed payment sets `accessStatus` to `grace_period`.
|
|
7
|
-
- The account remains on its current paid plan during grace period.
|
|
8
|
-
- Downgrade is allowed only after 3 failed payment attempts.
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
set -euo pipefail
|
|
3
|
-
|
|
4
|
-
git init --separate-git-dir=git-meta -q
|
|
5
|
-
git config user.email "freeflow-eval@example.com"
|
|
6
|
-
git config user.name "Freeflow Eval"
|
|
7
|
-
printf "git-meta/\n" >> git-meta/info/exclude
|
|
8
|
-
printf "git-meta/\n" > .ignore
|
|
9
|
-
rm .freeflow-eval-setup.sh
|
|
10
|
-
git add .
|
|
11
|
-
git commit -qm "Initial fixture"
|
|
12
|
-
|
|
13
|
-
perl -0pi -e 's/Setings/Settings/g' src/settings-page.ts
|
|
14
|
-
perl -0pi -e 's/export const gracePeriodDays = 7;/export const gracePeriodDays = 0;/' src/billing.ts
|
|
15
|
-
printf "debug-token=local-only\n" > debug.log
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const settingsTitle = "Setings";
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
set -euo pipefail
|
|
3
|
-
|
|
4
|
-
git init --separate-git-dir=git-meta -q
|
|
5
|
-
git config user.email "freeflow-eval@example.com"
|
|
6
|
-
git config user.name "Freeflow Eval"
|
|
7
|
-
printf "git-meta/\n" >> git-meta/info/exclude
|
|
8
|
-
printf "git-meta/\n" > .ignore
|
|
9
|
-
rm .freeflow-eval-setup.sh
|
|
10
|
-
git add .
|
|
11
|
-
git commit -qm "Initial fixture"
|
|
12
|
-
|
|
13
|
-
perl -0pi -e 's/Setings/Settings/g' src/settings-page.ts
|
|
14
|
-
perl -0pi -e 's/export const gracePeriodDays = 7;/export const gracePeriodDays = 0;/' src/billing.ts
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const settingsTitle = "Setings";
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
set -euo pipefail
|
|
3
|
-
|
|
4
|
-
git init --separate-git-dir=git-meta -q
|
|
5
|
-
git config user.email "freeflow-eval@example.com"
|
|
6
|
-
git config user.name "Freeflow Eval"
|
|
7
|
-
printf "git-meta/\n" >> git-meta/info/exclude
|
|
8
|
-
printf "git-meta/\n" > .ignore
|
|
9
|
-
rm .freeflow-eval-setup.sh
|
|
10
|
-
git add .
|
|
11
|
-
git commit -qm "Initial fixture"
|
|
12
|
-
|
|
13
|
-
perl -0pi -e 's/Setings/Settings/g' src/settings-page.ts
|
|
14
|
-
perl -0pi -e 's/export const gracePeriodDays = 7;/export const gracePeriodDays = 0;/' src/billing.ts
|
|
15
|
-
printf "debug-token=local-only\n" > debug.log
|