@hassangameryt/freeflow 0.2.0 → 0.3.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 +2 -2
- package/{plugins/freeflow/.claude-plugin → .claude-plugin}/plugin.json +1 -1
- package/{plugins/freeflow/.codex-plugin → .codex-plugin}/plugin.json +1 -1
- package/README.md +19 -14
- package/assets/freeflow-plugin-icon.png +0 -0
- package/{plugins/freeflow/command-surface.json → command-surface.json} +10 -2
- package/evals/README.md +32 -0
- package/evals/fixtures/copy-conventions.md +31 -0
- package/evals/fixtures/output-router/README.md +12 -0
- package/evals/fixtures/output-router/failed-command-output.txt +9 -0
- package/evals/fixtures/output-router/large-router-manual.md +63 -0
- package/evals/fixtures/output-router/native-large-output.txt +40 -0
- package/evals/fixtures/output-router/noisy-test-output.txt +30 -0
- package/evals/fixtures/output-router/verification-output.txt +8 -0
- package/evals/fixtures/tiny-artifact-review-app/README.md +5 -0
- package/evals/fixtures/tiny-artifact-review-app/docs/billing-policy.md +10 -0
- package/evals/fixtures/tiny-artifact-review-app/docs/specs/billing-webhook-api-draft.md +21 -0
- package/evals/fixtures/tiny-artifact-review-app/docs/specs/failed-payment-grace-period.md +24 -0
- package/evals/fixtures/tiny-artifact-review-app/docs/specs/immediate-downgrade.md +17 -0
- package/evals/fixtures/tiny-artifact-review-app/tests/billing.test.md +8 -0
- package/evals/fixtures/tiny-commit-ambiguous-app/.freeflow-eval-setup.sh +15 -0
- package/evals/fixtures/tiny-commit-ambiguous-app/README.md +3 -0
- package/evals/fixtures/tiny-commit-ambiguous-app/src/billing.ts +5 -0
- package/evals/fixtures/tiny-commit-ambiguous-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-commit-ambiguous-app/tests/settings.test.md +5 -0
- package/evals/fixtures/tiny-commit-app/.freeflow-eval-setup.sh +14 -0
- package/evals/fixtures/tiny-commit-app/README.md +3 -0
- package/evals/fixtures/tiny-commit-app/docs/specs/settings-title.md +5 -0
- package/evals/fixtures/tiny-commit-app/src/billing.ts +5 -0
- package/evals/fixtures/tiny-commit-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-commit-app/tests/settings.test.md +5 -0
- package/evals/fixtures/tiny-commit-everything-app/.freeflow-eval-setup.sh +15 -0
- package/evals/fixtures/tiny-commit-everything-app/README.md +3 -0
- package/evals/fixtures/tiny-commit-everything-app/docs/specs/settings-title.md +5 -0
- package/evals/fixtures/tiny-commit-everything-app/src/billing.ts +5 -0
- package/evals/fixtures/tiny-commit-everything-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-commit-everything-app/tests/settings.test.md +5 -0
- package/evals/fixtures/tiny-commit-staged-app/.freeflow-eval-setup.sh +15 -0
- package/evals/fixtures/tiny-commit-staged-app/README.md +3 -0
- package/evals/fixtures/tiny-commit-staged-app/docs/specs/settings-title.md +5 -0
- package/evals/fixtures/tiny-commit-staged-app/src/billing.ts +5 -0
- package/evals/fixtures/tiny-commit-staged-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-commit-staged-app/tests/settings.test.md +5 -0
- package/evals/fixtures/tiny-commit-staged-mixed-app/.freeflow-eval-setup.sh +15 -0
- package/evals/fixtures/tiny-commit-staged-mixed-app/README.md +3 -0
- package/evals/fixtures/tiny-commit-staged-mixed-app/docs/billing-policy.md +3 -0
- package/evals/fixtures/tiny-commit-staged-mixed-app/docs/release-notes.md +3 -0
- package/evals/fixtures/tiny-commit-staged-mixed-app/src/billing.ts +5 -0
- package/evals/fixtures/tiny-dashboard-stale-app/README.md +11 -0
- package/evals/fixtures/tiny-dashboard-stale-app/src/api-client.ts +13 -0
- package/evals/fixtures/tiny-dashboard-stale-app/src/dashboard-data.ts +19 -0
- package/evals/fixtures/tiny-dashboard-stale-app/tests/dashboard-data.test.md +9 -0
- package/evals/fixtures/tiny-decision-destination-app/README.md +6 -0
- package/evals/fixtures/tiny-decision-destination-app/src/risk.ts +8 -0
- package/evals/fixtures/tiny-decision-destination-app/tests/risk.test.md +4 -0
- package/evals/fixtures/tiny-design-depth-app/README.md +15 -0
- package/evals/fixtures/tiny-design-depth-app/src/routes.ts +25 -0
- package/evals/fixtures/tiny-design-depth-app/src/sendEmail.ts +3 -0
- package/evals/fixtures/tiny-design-depth-app/src/sendSms.ts +3 -0
- package/evals/fixtures/tiny-design-depth-app/src/telemetry.ts +3 -0
- package/evals/fixtures/tiny-design-depth-app/tests/routes.test.md +12 -0
- package/evals/fixtures/tiny-eval-method-app/README.md +8 -0
- package/evals/fixtures/tiny-eval-method-app/evals/reports/review-pr-eval-result.md +5 -0
- package/evals/fixtures/tiny-eval-method-app/evals/reports/triage-question-failure.md +17 -0
- package/evals/fixtures/tiny-eval-method-app/evals/runs/review-pr-with-skill-output.diff +11 -0
- package/evals/fixtures/tiny-eval-method-app/evals/runs/review-pr-with-skill-output.md +3 -0
- package/evals/fixtures/tiny-eval-method-app/skills/review-pr/SKILL.md +10 -0
- package/evals/fixtures/tiny-eval-method-app/skills/triage-question/SKILL.md +10 -0
- package/evals/fixtures/tiny-execute-plan-app/README.md +5 -0
- package/evals/fixtures/tiny-execute-plan-app/checks/settings-and-billing-check.sh +5 -0
- package/evals/fixtures/tiny-execute-plan-app/docs/billing-policy.md +10 -0
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/immediate-downgrade-plan.md +11 -0
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/settings-title-plan.md +12 -0
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/settings-title-with-bad-check.md +15 -0
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/unverified-billing-plan.md +9 -0
- package/evals/fixtures/tiny-execute-plan-app/docs/specs/failed-payment-grace-period.md +9 -0
- package/evals/fixtures/tiny-execute-plan-app/docs/specs/settings-title.md +9 -0
- package/evals/fixtures/tiny-execute-plan-app/src/billing.ts +7 -0
- package/evals/fixtures/tiny-execute-plan-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-execute-plan-app/tests/billing.test.md +7 -0
- package/evals/fixtures/tiny-execute-plan-app/tests/settings.test.md +5 -0
- package/evals/fixtures/tiny-execute-review-loop-app/README.md +5 -0
- package/evals/fixtures/tiny-execute-review-loop-app/docs/billing-policy.md +9 -0
- package/evals/fixtures/tiny-execute-review-loop-app/docs/plans/settings-title-plan.md +12 -0
- package/evals/fixtures/tiny-execute-review-loop-app/docs/review/previous-agent-summary.md +15 -0
- package/evals/fixtures/tiny-execute-review-loop-app/docs/review/review-pass-1-non-pass.md +11 -0
- package/evals/fixtures/tiny-execute-review-loop-app/docs/specs/settings-title.md +9 -0
- package/evals/fixtures/tiny-execute-review-loop-app/src/billing.ts +7 -0
- package/evals/fixtures/tiny-execute-review-loop-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-execute-review-loop-app/tests/billing.test.md +7 -0
- package/evals/fixtures/tiny-execute-review-loop-app/tests/settings.test.md +5 -0
- package/evals/fixtures/tiny-flaky-session-app/README.md +10 -0
- package/evals/fixtures/tiny-flaky-session-app/src/session-timeout.ts +13 -0
- package/evals/fixtures/tiny-flaky-session-app/tests/session-timeout.test.md +8 -0
- package/evals/fixtures/tiny-handoff-app/README.md +5 -0
- package/evals/fixtures/tiny-handoff-app/docs/billing-policy.md +10 -0
- package/evals/fixtures/tiny-handoff-app/docs/handoffs/old-agent-handoff.md +8 -0
- package/evals/fixtures/tiny-handoff-app/docs/plans/billing-retry-plan.md +11 -0
- package/evals/fixtures/tiny-handoff-app/src/billing.ts +7 -0
- package/evals/fixtures/tiny-handoff-report-app/README.md +3 -0
- package/evals/fixtures/tiny-handoff-report-app/evals/runs/handoff-3/hof-003/with-skill-output.diff +1 -0
- package/evals/fixtures/tiny-handoff-report-app/evals/runs/handoff-3/hof-003/with-skill-output.md +1 -0
- package/evals/fixtures/tiny-handoff-report-app/evals/scores/hof-003-score.txt +4 -0
- package/evals/fixtures/tiny-plan-app/README.md +5 -0
- package/evals/fixtures/tiny-plan-app/docs/billing-policy.md +10 -0
- package/evals/fixtures/tiny-plan-app/docs/specs/failed-payment-grace-period.md +25 -0
- package/evals/fixtures/tiny-plan-app/src/billing.ts +17 -0
- package/evals/fixtures/tiny-plan-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-plan-app/tests/billing.test.md +8 -0
- package/evals/fixtures/tiny-plan-app/tests/settings.test.md +5 -0
- package/evals/fixtures/tiny-plan-strict-api-app/README.md +3 -0
- package/evals/fixtures/tiny-plan-strict-api-app/docs/billing-policy.md +5 -0
- package/evals/fixtures/tiny-plan-strict-api-app/docs/specs/billing-webhook-api.md +25 -0
- package/evals/fixtures/tiny-plan-strict-api-app/src/billing.ts +5 -0
- package/evals/fixtures/tiny-plan-strict-api-app/src/webhooks.ts +3 -0
- package/evals/fixtures/tiny-plan-strict-api-app/tests/billing-webhook.test.md +8 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/.freeflow/config.json +3 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/AGENTS.md +15 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/README.md +16 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/auth-review.md +15 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/billing-policy.md +10 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/copy-conventions.md +15 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/auth-middleware.ts +12 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/billing.ts +20 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/login-copy.ts +1 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/auth-middleware.test.md +8 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/billing.test.md +8 -0
- package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/copy.test.md +7 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/AGENTS.md +15 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/README.md +16 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/docs/auth-review.md +15 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/docs/billing-policy.md +10 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/docs/copy-conventions.md +15 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/auth-middleware.ts +12 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/billing.ts +20 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/login-copy.ts +1 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/tests/auth-middleware.test.md +8 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/tests/billing.test.md +8 -0
- package/evals/fixtures/tiny-post-setup-missing-config-app/tests/copy.test.md +7 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/.freeflow/config.json +3 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/AGENTS.md +15 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/README.md +16 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/auth-review.md +15 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/billing-policy.md +10 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/copy-conventions.md +15 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/auth-middleware.ts +12 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/billing.ts +20 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/login-copy.ts +1 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/auth-middleware.test.md +8 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/billing.test.md +8 -0
- package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/copy.test.md +7 -0
- package/evals/fixtures/tiny-report-performance-app/README.md +11 -0
- package/evals/fixtures/tiny-report-performance-app/docs/performance.md +10 -0
- package/evals/fixtures/tiny-report-performance-app/src/report-summary.ts +29 -0
- package/evals/fixtures/tiny-report-performance-app/tests/report-performance.test.md +8 -0
- package/evals/fixtures/tiny-review-request-app/README.md +3 -0
- package/evals/fixtures/tiny-review-request-app/docs/billing-policy.md +5 -0
- package/evals/fixtures/tiny-review-request-app/docs/plans/billing-webhook-api.md +19 -0
- package/evals/fixtures/tiny-review-request-app/docs/review/previous-agent-summary.md +20 -0
- package/evals/fixtures/tiny-review-request-app/docs/specs/billing-webhook-api.md +25 -0
- package/evals/fixtures/tiny-review-request-app/src/billing.ts +11 -0
- package/evals/fixtures/tiny-review-request-app/src/webhooks.ts +19 -0
- package/evals/fixtures/tiny-review-request-app/tests/billing-webhook.test.md +8 -0
- package/evals/fixtures/tiny-review-work-app/README.md +5 -0
- package/evals/fixtures/tiny-review-work-app/docs/billing-policy.md +9 -0
- package/evals/fixtures/tiny-review-work-app/docs/plans/settings-title-plan.md +12 -0
- package/evals/fixtures/tiny-review-work-app/docs/review/previous-agent-summary.md +15 -0
- package/evals/fixtures/tiny-review-work-app/docs/specs/settings-title.md +9 -0
- package/evals/fixtures/tiny-review-work-app/src/billing.ts +7 -0
- package/evals/fixtures/tiny-review-work-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-review-work-app/tests/billing.test.md +7 -0
- package/evals/fixtures/tiny-review-work-app/tests/settings.test.md +5 -0
- package/evals/fixtures/tiny-saas-app/README.md +16 -0
- package/evals/fixtures/tiny-saas-app/docs/auth-review.md +15 -0
- package/evals/fixtures/tiny-saas-app/docs/billing-policy.md +10 -0
- package/evals/fixtures/tiny-saas-app/docs/copy-conventions.md +15 -0
- package/evals/fixtures/tiny-saas-app/docs/specs/settings-title.md +13 -0
- package/evals/fixtures/tiny-saas-app/src/auth-middleware.ts +12 -0
- package/evals/fixtures/tiny-saas-app/src/billing.ts +20 -0
- package/evals/fixtures/tiny-saas-app/src/login-copy.ts +1 -0
- package/evals/fixtures/tiny-saas-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-saas-app/tests/auth-middleware.test.md +8 -0
- package/evals/fixtures/tiny-saas-app/tests/billing.test.md +8 -0
- package/evals/fixtures/tiny-saas-app/tests/copy.test.md +7 -0
- package/evals/fixtures/tiny-setup-agents-app/AGENTS.md +6 -0
- package/evals/fixtures/tiny-setup-both-app/AGENTS.md +5 -0
- package/evals/fixtures/tiny-setup-both-app/CLAUDE.md +5 -0
- package/evals/fixtures/tiny-setup-claude-app/CLAUDE.md +6 -0
- package/evals/fixtures/tiny-setup-codex-rules-app/.codex/rules/shell.rules +5 -0
- package/evals/fixtures/tiny-setup-codex-rules-app/AGENTS.md +6 -0
- package/evals/fixtures/tiny-setup-conflict-app/AGENTS.md +6 -0
- package/evals/fixtures/tiny-setup-existing-block-app/AGENTS.md +14 -0
- package/evals/fixtures/tiny-setup-four-rules-app/CLAUDE.md +6 -0
- package/evals/fixtures/tiny-skill-dev-app/README.md +10 -0
- package/evals/fixtures/tiny-skill-dev-app/evals/prompts/review-pr-001.txt +8 -0
- package/evals/fixtures/tiny-skill-dev-app/evals/reports/review-pr-failure.md +17 -0
- package/evals/fixtures/tiny-skill-dev-app/skills/review-pr/SKILL.md +13 -0
- package/evals/fixtures/tiny-team-app/README.md +5 -0
- package/evals/fixtures/tiny-team-app/docs/product.md +6 -0
- package/evals/fixtures/tiny-team-app/src/teams.ts +9 -0
- package/evals/fixtures/tiny-team-app/src/users.ts +5 -0
- package/evals/fixtures/tiny-team-app/tests/teams.test.md +7 -0
- package/evals/fixtures/tiny-verify-app/README.md +5 -0
- package/evals/fixtures/tiny-verify-app/src/settings-nav.ts +1 -0
- package/evals/fixtures/tiny-verify-app/src/settings-page.ts +1 -0
- package/evals/fixtures/tiny-verify-app/tests/settings.test.md +7 -0
- package/evals/prompts/aon-001.txt +2 -0
- package/evals/prompts/byp-001.txt +2 -0
- package/evals/prompts/byp-002.txt +2 -0
- package/evals/prompts/cap-001.txt +3 -0
- package/evals/prompts/cap-002.txt +3 -0
- package/evals/prompts/cmd-001.txt +3 -0
- package/evals/prompts/cmd-002.txt +3 -0
- package/evals/prompts/cmd-003.txt +6 -0
- package/evals/prompts/cmd-004.txt +5 -0
- package/evals/prompts/cmd-005.txt +5 -0
- package/evals/prompts/cmd-006.txt +5 -0
- package/evals/prompts/cmd-007.txt +5 -0
- package/evals/prompts/cmd-008.txt +5 -0
- package/evals/prompts/cmd-009.txt +8 -0
- package/evals/prompts/cmd-010.txt +5 -0
- package/evals/prompts/cmd-011.txt +5 -0
- package/evals/prompts/cmd-012.txt +5 -0
- package/evals/prompts/cmd-013.txt +5 -0
- package/evals/prompts/cmd-014.txt +7 -0
- package/evals/prompts/cmd-015.txt +7 -0
- package/evals/prompts/cmd-016.txt +5 -0
- package/evals/prompts/cmt-001.txt +1 -0
- package/evals/prompts/cmt-002.txt +1 -0
- package/evals/prompts/cmt-003.txt +1 -0
- package/evals/prompts/cmt-004.txt +1 -0
- package/evals/prompts/cmt-005.txt +1 -0
- package/evals/prompts/dfd-001.txt +3 -0
- package/evals/prompts/dia-001.txt +3 -0
- package/evals/prompts/dia-002.txt +3 -0
- package/evals/prompts/dia-003.txt +3 -0
- package/evals/prompts/dis-001.txt +5 -0
- package/evals/prompts/dis-002.txt +5 -0
- package/evals/prompts/esk-001.txt +5 -0
- package/evals/prompts/esk-002.txt +5 -0
- package/evals/prompts/esk-003.txt +5 -0
- package/evals/prompts/grc-001.txt +3 -0
- package/evals/prompts/hof-001.txt +3 -0
- package/evals/prompts/hof-002.txt +1 -0
- package/evals/prompts/hof-003.txt +1 -0
- package/evals/prompts/hof-004.txt +1 -0
- package/evals/prompts/hof-005.txt +1 -0
- package/evals/prompts/ivg-001.txt +1 -0
- package/evals/prompts/ivg-002.txt +11 -0
- package/evals/prompts/ivg-003.txt +1 -0
- package/evals/prompts/ivg-004.txt +1 -0
- package/evals/prompts/mode-001.txt +3 -0
- package/evals/prompts/mode-002.txt +1 -0
- package/evals/prompts/mode-003.txt +3 -0
- package/evals/prompts/mode-004.txt +3 -0
- package/evals/prompts/mode-005.txt +3 -0
- package/evals/prompts/mode-006.txt +3 -0
- package/evals/prompts/mode-007.txt +3 -0
- package/evals/prompts/otr-001.txt +3 -0
- package/evals/prompts/otr-002.txt +3 -0
- package/evals/prompts/rar-001.txt +5 -0
- package/evals/prompts/rar-002.txt +3 -0
- package/evals/prompts/rar-003.txt +6 -0
- package/evals/prompts/rar-004.txt +15 -0
- package/evals/prompts/rar-005.txt +10 -0
- package/evals/prompts/rbr-001.txt +3 -0
- package/evals/prompts/rbr-002.txt +3 -0
- package/evals/prompts/rbr-003.txt +7 -0
- package/evals/prompts/rev-001.txt +3 -0
- package/evals/prompts/rev-002.txt +5 -0
- package/evals/prompts/rev-003.txt +6 -0
- package/evals/prompts/rev-004.txt +1 -0
- package/evals/prompts/rev-005.txt +15 -0
- package/evals/prompts/rev-006.txt +5 -0
- package/evals/prompts/stp-001.txt +1 -0
- package/evals/prompts/stp-002.txt +1 -0
- package/evals/prompts/stp-003.txt +1 -0
- package/evals/prompts/stp-004.txt +1 -0
- package/evals/prompts/stp-005.txt +1 -0
- package/evals/prompts/stp-006.txt +1 -0
- package/evals/prompts/stp-007.txt +1 -0
- package/evals/prompts/stp-008.txt +1 -0
- package/evals/prompts/stp-009.txt +1 -0
- package/evals/prompts/stp-010.txt +1 -0
- package/evals/prompts/stp-011.txt +1 -0
- package/evals/prompts/vfy-003.txt +1 -0
- package/evals/prompts/wpl-001.txt +3 -0
- package/evals/prompts/wpl-002.txt +5 -0
- package/evals/prompts/wpl-003.txt +3 -0
- package/evals/prompts/wpl-004.txt +5 -0
- package/evals/prompts/wpl-005.txt +1 -0
- package/evals/prompts/wrc-001.txt +10 -0
- package/evals/prompts/wrc-002.txt +3 -0
- package/evals/prompts/wsk-001.txt +6 -0
- package/evals/prompts/wsp-001.txt +5 -0
- package/evals/prompts/wsp-002.txt +15 -0
- package/evals/prompts/wsp-003.txt +3 -0
- package/evals/prompts/wsp-004.txt +15 -0
- package/evals/prompts/wsp-005.txt +5 -0
- package/evals/prompts/wsp-006.txt +12 -0
- package/evals/prompts/wsp-007.txt +9 -0
- package/evals/prompts/wsp-008.txt +13 -0
- package/evals/prompts/xpl-001.txt +1 -0
- package/evals/prompts/xpl-002.txt +3 -0
- package/evals/prompts/xpl-003.txt +3 -0
- package/evals/prompts/xpl-004.txt +3 -0
- package/evals/prompts/xpl-005.txt +5 -0
- package/evals/prompts/xpl-006.txt +3 -0
- package/evals/registries/adversarial-evals.json +39 -0
- package/evals/registries/fixture-evals.json +2513 -0
- package/evals/registries/handoff-evals.json +74 -0
- package/evals/registries/legacy-evals.json +147 -0
- package/evals/registries/skill-evidence.json +193 -0
- package/evals/registries/verify-work-evals.json +46 -0
- package/evals/reports/acceptance/v0.1-acceptance-report.md +130 -0
- package/evals/reports/by-command-surface/command-surface-1-report.md +45 -0
- package/evals/reports/by-command-surface/command-surface-10-report.md +76 -0
- package/evals/reports/by-command-surface/command-surface-11-report.md +77 -0
- package/evals/reports/by-command-surface/command-surface-12-report.md +91 -0
- package/evals/reports/by-command-surface/command-surface-13-report.md +64 -0
- package/evals/reports/by-command-surface/command-surface-14-report.md +66 -0
- package/evals/reports/by-command-surface/command-surface-15-report.md +124 -0
- package/evals/reports/by-command-surface/command-surface-16-report.md +39 -0
- package/evals/reports/by-command-surface/command-surface-2-report.md +80 -0
- package/evals/reports/by-command-surface/command-surface-3-report.md +86 -0
- package/evals/reports/by-command-surface/command-surface-4-report.md +76 -0
- package/evals/reports/by-command-surface/command-surface-5-report.md +80 -0
- package/evals/reports/by-command-surface/command-surface-6-report.md +74 -0
- package/evals/reports/by-command-surface/command-surface-7-report.md +84 -0
- package/evals/reports/by-command-surface/command-surface-8-report.md +79 -0
- package/evals/reports/by-command-surface/command-surface-9-report.md +79 -0
- package/evals/reports/by-command-surface/command-surface-matrix.md +91 -0
- package/evals/reports/by-skill/bypass-1-report.md +124 -0
- package/evals/reports/by-skill/capture-decisions-1-report.md +99 -0
- package/evals/reports/by-skill/capture-decisions-2-report.md +102 -0
- package/evals/reports/by-skill/commit-work-1-report.md +165 -0
- package/evals/reports/by-skill/commit-work-2-report.md +109 -0
- package/evals/reports/by-skill/design-for-depth-1-report.md +95 -0
- package/evals/reports/by-skill/diagnose-failure-1-report.md +91 -0
- package/evals/reports/by-skill/diagnose-failure-2-report.md +94 -0
- package/evals/reports/by-skill/discover-1-report.md +118 -0
- package/evals/reports/by-skill/evaluate-skill-2-report.md +71 -0
- package/evals/reports/by-skill/execute-plan-1-report.md +103 -0
- package/evals/reports/by-skill/execute-plan-2-report.md +112 -0
- package/evals/reports/by-skill/execute-plan-3-report.md +87 -0
- package/evals/reports/by-skill/grill-context-1-report.md +103 -0
- package/evals/reports/by-skill/handoff-1-report.md +123 -0
- package/evals/reports/by-skill/handoff-2-report.md +105 -0
- package/evals/reports/by-skill/handoff-3-report.md +100 -0
- package/evals/reports/by-skill/handoff-7-report.md +77 -0
- package/evals/reports/by-skill/interview-gate-1-report.md +63 -0
- package/evals/reports/by-skill/interview-gate-2-report.md +105 -0
- package/evals/reports/by-skill/mode-contract-1-report.md +74 -0
- package/evals/reports/by-skill/mode-contract-2-report.md +87 -0
- package/evals/reports/by-skill/mode-contract-3-report.md +65 -0
- package/evals/reports/by-skill/mode-contract-4-report.md +71 -0
- package/evals/reports/by-skill/mode-contract-5-report.md +70 -0
- package/evals/reports/by-skill/output-router-1-report.md +76 -0
- package/evals/reports/by-skill/output-router-2-report.md +65 -0
- package/evals/reports/by-skill/research-1-report.md +144 -0
- package/evals/reports/by-skill/research-brief-1-report.md +94 -0
- package/evals/reports/by-skill/research-brief-2-report.md +75 -0
- package/evals/reports/by-skill/review-artifact-1-report.md +91 -0
- package/evals/reports/by-skill/review-artifact-2-report.md +79 -0
- package/evals/reports/by-skill/review-artifact-3-report.md +120 -0
- package/evals/reports/by-skill/review-artifact-4-report.md +89 -0
- package/evals/reports/by-skill/review-artifact-5-report.md +66 -0
- package/evals/reports/by-skill/review-work-1-report.md +85 -0
- package/evals/reports/by-skill/review-work-2-report.md +87 -0
- package/evals/reports/by-skill/review-work-3-report.md +104 -0
- package/evals/reports/by-skill/review-work-4-report.md +108 -0
- package/evals/reports/by-skill/review-work-5-report.md +73 -0
- package/evals/reports/by-skill/review-work-6-report.md +66 -0
- package/evals/reports/by-skill/setup-freeflow-1-report.md +199 -0
- package/evals/reports/by-skill/setup-freeflow-2-report.md +105 -0
- package/evals/reports/by-skill/setup-freeflow-3-report.md +105 -0
- package/evals/reports/by-skill/setup-freeflow-4-report.md +88 -0
- package/evals/reports/by-skill/setup-freeflow-5-report.md +115 -0
- package/evals/reports/by-skill/skill-authoring-1-report.md +81 -0
- package/evals/reports/by-skill/verify-work-1-report.md +111 -0
- package/evals/reports/by-skill/verify-work-2-report.md +120 -0
- package/evals/reports/by-skill/workflow-1-report.md +65 -0
- package/evals/reports/by-skill/write-plan-1-report.md +123 -0
- package/evals/reports/by-skill/write-plan-2-report.md +98 -0
- package/evals/reports/by-skill/write-plan-3-report.md +110 -0
- package/evals/reports/by-skill/write-spec-1-report.md +88 -0
- package/evals/reports/by-skill/write-spec-2-report.md +89 -0
- package/evals/reports/by-skill/write-spec-3-report.md +90 -0
- package/evals/reports/by-skill/write-spec-4-report.md +167 -0
- package/evals/reports/harness/claude-harness-1-report.md +103 -0
- package/evals/reports/harness/eval-harness-1-report.md +91 -0
- package/evals/reports/iterations/iteration-1-report.md +71 -0
- package/evals/reports/iterations/iteration-2-report.md +78 -0
- package/evals/reports/iterations/iteration-3-report.md +118 -0
- package/evals/reports/iterations/iteration-4-report.md +131 -0
- package/evals/reports/iterations/iteration-5-report.md +149 -0
- package/evals/reports/iterations/iteration-6-report.md +136 -0
- package/evals/reports/runtime/always-on-runtime-1-report.md +107 -0
- package/evals/reports/runtime/context-mode-normalized-benchmark-1-report.md +52 -0
- package/evals/reports/runtime/context-mode-real-deep-baseline-1-report.md +410 -0
- package/evals/reports/runtime/context-mode-real-deep-final-slice-11-report.md +203 -0
- package/evals/reports/runtime/context-mode-real-deep-final-slice-11-review.md +51 -0
- package/evals/reports/runtime/context-saving-native-tools-baseline-1-report.md +99 -0
- package/evals/reports/runtime/eryx-python-compatibility-reprobe-1-report.md +166 -0
- package/evals/reports/runtime/eryx-python-proof-spike-1-report.md +96 -0
- package/evals/reports/runtime/eryx-python-proof-spike-2-report.md +151 -0
- package/evals/reports/runtime/eryx-python-script-derive-execution-1-report.md +233 -0
- package/evals/reports/runtime/jq-script-derive-execution-1-report.md +215 -0
- package/evals/reports/runtime/jq-wasm-proof-spike-1-report.md +67 -0
- package/evals/reports/runtime/output-router-benchmark-1-report.md +81 -0
- package/evals/reports/runtime/output-router-capture-derive-provider-eval-1-report.md +35 -0
- package/evals/reports/runtime/output-router-codex-large-index-sqlite-adhoc-report.md +150 -0
- package/evals/reports/runtime/output-router-codex-qa-benchmark-1-report.md +46 -0
- package/evals/reports/runtime/output-router-command-benchmark-1-report.md +62 -0
- package/evals/reports/runtime/output-router-index-benchmark-1-report.md +64 -0
- package/evals/reports/runtime/output-router-regression-1-report.md +81 -0
- package/evals/reports/runtime/output-router-transform-eval-1-report.md +28 -0
- package/evals/reports/runtime/pi-observed-routing-eval-1-report.md +44 -0
- package/evals/reports/runtime/quickjs-script-derive-execution-1-report.md +159 -0
- package/evals/reports/runtime/quickjs-wasi-proof-spike-1-report.md +55 -0
- package/evals/reports/runtime/render-format-row-protocol-1-report.md +58 -0
- package/evals/reports/runtime/script-sandbox-adapter-selection-review-1-report.md +84 -0
- package/evals/reports/runtime/script-sandbox-probe-resource-hardening-1-report.md +51 -0
- package/evals/reports/runtime/storage-policy-benchmark-1-report.md +176 -0
- package/evals/reports/runtime/vault-index-storage-spike-1-report.md +39 -0
- package/evals/reports/runtime/workflow-context-hook-1-report.md +82 -0
- package/evals/runbooks/adversarial-eval-runbook.md +28 -0
- package/evals/runbooks/fixture-eval-runbook.md +137 -0
- package/evals/runbooks/handoff-eval-runbook.md +22 -0
- package/evals/runbooks/verify-work-eval-runbook.md +27 -0
- package/evals/scripts/audit-command-surface.sh +160 -0
- package/evals/scripts/check-activation-contract.sh +121 -0
- package/evals/scripts/check-runtime-context-hook.sh +183 -0
- package/evals/scripts/grade-fixture-eval.sh +446 -0
- package/evals/scripts/run-claude-fixture-eval.sh +26 -0
- package/evals/scripts/run-codex-fixture-eval.sh +26 -0
- package/evals/scripts/run-eryx-python-proof-spike.js +559 -0
- package/evals/scripts/run-fixture-eval-by-id.sh +23 -0
- package/evals/scripts/run-fixture-eval.sh +464 -0
- package/evals/scripts/run-jq-wasm-proof-spike.js +299 -0
- package/evals/scripts/run-output-router-transform-eval.js +115 -0
- package/evals/scripts/run-pi-observed-routing-eval.js +478 -0
- package/evals/scripts/run-quickjs-wasi-proof-spike.js +339 -0
- package/evals/scripts/skill-evidence.sh +316 -0
- package/evals/scripts/validate-release-metadata.sh +486 -0
- package/evals/suites/v0.1-acceptance-suite.md +131 -0
- package/{plugins/freeflow/hooks → hooks}/freeflow-runtime-context.mjs +46 -12
- package/package.json +39 -19
- package/pi-extension/dist/host-producer-identification.js +186 -0
- package/pi-extension/dist/index.js +85 -0
- package/pi-extension/dist/mcp-config.js +30 -0
- package/pi-extension/dist/native-safety-net.js +209 -0
- package/pi-extension/dist/observed-tool-routing.js +114 -0
- package/pi-extension/dist/renderers.js +835 -0
- package/pi-extension/dist/router-tools.js +438 -0
- package/pi-extension/dist/runtime-context.js +288 -0
- package/pi-extension/dist/schemas.js +254 -0
- package/pi-extension/dist/status.js +449 -0
- package/pi-extension/dist/utils.js +467 -0
- package/pi-extension/src/host-producer-identification.ts +226 -0
- package/pi-extension/src/index.ts +121 -0
- package/pi-extension/src/mcp-config.ts +32 -0
- package/pi-extension/src/native-safety-net.ts +252 -0
- package/pi-extension/src/observed-tool-routing.ts +126 -0
- package/pi-extension/src/renderers.ts +917 -0
- package/pi-extension/src/router-tools.ts +478 -0
- package/pi-extension/src/runtime-context.ts +347 -0
- package/pi-extension/src/schemas.ts +259 -0
- package/pi-extension/src/status.ts +505 -0
- package/pi-extension/src/utils.ts +492 -0
- package/pi-extension/tsconfig.json +16 -0
- package/{plugins/freeflow/docs → plugin-docs}/README.md +3 -3
- package/plugin-docs/adr/0002-evals-before-hooks.md +17 -0
- package/{plugins/freeflow/docs → plugin-docs}/adr/0003-release-boundary.md +2 -2
- package/plugin-docs/adr/0004-discover-replaces-shallow-discovery-skills.md +26 -0
- package/plugin-docs/adr/README.md +10 -0
- package/plugin-docs/architecture.md +89 -0
- package/plugin-docs/output-router.md +396 -0
- package/plugin-docs/release-evidence.md +77 -0
- package/{plugins/freeflow/docs → plugin-docs}/skills.md +3 -2
- package/{plugins/freeflow/docs → plugin-docs}/workflow.md +4 -4
- package/{plugins/freeflow/router/dist → router/dist/benchmarks}/benchmark-harness.js +1 -1
- package/{plugins/freeflow/router/dist → router/dist/benchmarks}/benchmarks.js +14 -14
- package/{plugins/freeflow/router/dist → router/dist/benchmarks}/codex-qa-benchmarks.js +6 -6
- package/{plugins/freeflow/router/dist → router/dist/benchmarks}/command-benchmarks.d.ts +1 -1
- package/{plugins/freeflow/router/dist → router/dist/benchmarks}/command-benchmarks.js +11 -10
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +74 -0
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +707 -0
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +124 -0
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +1295 -0
- package/router/dist/benchmarks/context-saving-baseline.d.ts +54 -0
- package/router/dist/benchmarks/context-saving-baseline.js +439 -0
- package/{plugins/freeflow/router/dist → router/dist/benchmarks}/index-benchmarks.d.ts +16 -2
- package/{plugins/freeflow/router/dist → router/dist/benchmarks}/index-benchmarks.js +330 -26
- package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +90 -0
- package/router/dist/benchmarks/storage-policy-benchmarks.js +538 -0
- package/router/dist/benchmarks/vault-index-benchmarks.d.ts +47 -0
- package/router/dist/benchmarks/vault-index-benchmarks.js +257 -0
- package/router/dist/config/config.d.ts +96 -0
- package/router/dist/config/config.js +453 -0
- package/{plugins/freeflow/router/dist → router/dist/config}/schema.js +248 -2
- package/router/dist/config/types.d.ts +521 -0
- package/router/dist/config/types.js +30 -0
- package/{plugins/freeflow/router/dist → router/dist/evidence}/bounded-evidence.d.ts +1 -1
- package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence-range-selector.js +65 -14
- package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence-search.js +18 -2
- package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence.d.ts +1 -1
- package/router/dist/evidence/failure-contracts.d.ts +27 -0
- package/router/dist/evidence/failure-contracts.js +160 -0
- package/router/dist/index.d.ts +30 -0
- package/router/dist/index.js +32 -0
- package/router/dist/processing/engine.d.ts +108 -0
- package/router/dist/processing/engine.js +435 -0
- package/router/dist/processing/reducers.d.ts +266 -0
- package/router/dist/processing/reducers.js +1495 -0
- package/router/dist/processing/renderers.d.ts +25 -0
- package/router/dist/processing/renderers.js +186 -0
- package/router/dist/processing/scripts.d.ts +78 -0
- package/router/dist/processing/scripts.js +333 -0
- package/router/dist/routing/observed-reducers.d.ts +35 -0
- package/router/dist/routing/observed-reducers.js +647 -0
- package/router/dist/routing/observed-routing.d.ts +17 -0
- package/router/dist/routing/observed-routing.js +377 -0
- package/{plugins/freeflow/router/dist → router/dist/routing}/parsers.d.ts +1 -1
- package/{plugins/freeflow/router/dist → router/dist/routing}/parsers.js +1 -1
- package/router/dist/routing/run-filters.d.ts +56 -0
- package/router/dist/routing/run-filters.js +230 -0
- package/router/dist/routing/run-reducers.d.ts +30 -0
- package/router/dist/routing/run-reducers.js +110 -0
- package/router/dist/sandbox/adapter-roots.d.ts +38 -0
- package/router/dist/sandbox/adapter-roots.js +64 -0
- package/router/dist/sandbox/eryx-python-adapter.d.ts +9 -0
- package/router/dist/sandbox/eryx-python-adapter.js +797 -0
- package/router/dist/sandbox/jq-wasm-adapter.d.ts +9 -0
- package/router/dist/sandbox/jq-wasm-adapter.js +421 -0
- package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +9 -0
- package/router/dist/sandbox/quickjs-wasi-adapter.js +381 -0
- package/router/dist/sandbox/script-sandbox.d.ts +113 -0
- package/router/dist/sandbox/script-sandbox.js +303 -0
- package/router/dist/setup/script-transform-adapters.d.ts +28 -0
- package/router/dist/setup/script-transform-adapters.js +259 -0
- package/router/dist/tools/batch.d.ts +22 -0
- package/router/dist/tools/batch.js +509 -0
- package/router/dist/tools/run.d.ts +50 -0
- package/router/dist/tools/run.js +1219 -0
- package/router/dist/tools/search.d.ts +44 -0
- package/{plugins/freeflow/router/dist/retrieve.js → router/dist/tools/search.js} +395 -45
- package/router/dist/transform/engine.d.ts +143 -0
- package/router/dist/transform/engine.js +1955 -0
- package/router/dist/vault/vault-index.d.ts +106 -0
- package/router/dist/vault/vault-index.js +411 -0
- package/{plugins/freeflow/router/dist → router/dist/vault}/vault.d.ts +24 -1
- package/{plugins/freeflow/router/dist → router/dist/vault}/vault.js +152 -1
- package/skills/design-for-depth/SKILL.md +90 -0
- package/skills/design-for-depth/references/design-pressure-signals.md +265 -0
- package/skills/design-for-depth/references/software-design-philosophy.md +219 -0
- package/{plugins/freeflow/skills → skills}/diagnose-failure/SKILL.md +6 -1
- package/{plugins/freeflow/skills/research → skills/discover}/ARTIFACT-DESTINATIONS.md +4 -4
- package/{plugins/freeflow/skills/research → skills/discover}/CHECKPOINTS.md +4 -4
- package/skills/discover/SKILL.md +173 -0
- package/{plugins/freeflow/skills → skills}/execute-plan/SKILL.md +5 -4
- package/{plugins/freeflow/skills → skills}/execute-plan/references/execution-map.md +2 -2
- package/{plugins/freeflow/skills → skills}/mode-contract/SKILL.md +9 -4
- package/skills/output-router/SKILL.md +202 -0
- package/skills/output-router/references/safety-policy.md +40 -0
- package/{plugins/freeflow/skills → skills}/review-artifact/SKILL.md +5 -2
- package/{plugins/freeflow/skills → skills}/review-artifact/references/reviewer-prompt.md +2 -1
- package/{plugins/freeflow/skills → skills}/review-work/SKILL.md +6 -1
- package/{plugins/freeflow/skills → skills}/setup-freeflow/SKILL.md +21 -9
- package/{plugins/freeflow/skills → skills}/setup-freeflow/references/activation-contract.md +11 -10
- package/{plugins/freeflow/skills → skills}/setup-freeflow/references/host-setup.md +3 -3
- package/skills/setup-freeflow/references/output-router-setup.md +102 -0
- package/{plugins/freeflow/skills → skills}/verify-work/SKILL.md +3 -1
- package/{plugins/freeflow/skills → skills}/workflow/SKILL.md +16 -14
- package/{plugins/freeflow/skills → skills}/workflow/references/workflow-map.md +16 -14
- package/{plugins/freeflow/skills → skills}/write-plan/SKILL.md +9 -1
- package/{plugins/freeflow/skills → skills}/write-spec/SKILL.md +9 -6
- package/plugins/freeflow/docs/adr/0002-evals-before-hooks.md +0 -17
- 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/pi-extension/index.js +0 -1176
- package/plugins/freeflow/router/dist/config.d.ts +0 -22
- package/plugins/freeflow/router/dist/config.js +0 -114
- 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/index.d.ts +0 -12
- package/plugins/freeflow/router/dist/index.js +0 -12
- package/plugins/freeflow/router/dist/retrieve.d.ts +0 -33
- package/plugins/freeflow/router/dist/run.d.ts +0 -26
- package/plugins/freeflow/router/dist/run.js +0 -356
- package/plugins/freeflow/router/dist/types.d.ts +0 -234
- package/plugins/freeflow/router/dist/types.js +0 -9
- 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/LANGUAGE.md +0 -61
- package/plugins/freeflow/skills/research/SKILL.md +0 -128
- package/plugins/freeflow/skills/setup-freeflow/references/output-router-setup.md +0 -52
- /package/{plugins/freeflow/assets → assets}/freeflow-plugin-icon-transparent.png +0 -0
- /package/{plugins/freeflow/hooks → hooks}/hooks.json +0 -0
- /package/{plugins/freeflow/docs → plugin-docs}/adr/0001-three-modes.md +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/benchmarks}/benchmark-harness.d.ts +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/benchmarks}/benchmarks.d.ts +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/benchmarks}/codex-qa-benchmarks.d.ts +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/config}/router-contract.d.ts +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/config}/router-contract.js +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/config}/schema.d.ts +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/evidence}/bounded-evidence.js +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence-range-selector.d.ts +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence-search.d.ts +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence.js +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/evidence}/line-ranges.d.ts +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/evidence}/line-ranges.js +0 -0
- /package/{plugins/freeflow/router → router}/dist/experiments/local-index.d.ts +0 -0
- /package/{plugins/freeflow/router → router}/dist/experiments/local-index.js +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/repo}/repo-traversal.d.ts +0 -0
- /package/{plugins/freeflow/router/dist → router/dist/repo}/repo-traversal.js +0 -0
- /package/{plugins/freeflow/skills → skills}/bypass/SKILL.md +0 -0
- /package/{plugins/freeflow/skills → skills}/commit-work/SKILL.md +0 -0
- /package/{plugins/freeflow/skills → skills}/commit-work/references/staging-decisions.md +0 -0
- /package/{plugins/freeflow/skills → skills}/diagnose-failure/references/feedback-loop-catalog.md +0 -0
- /package/{plugins/freeflow/skills → skills}/diagnose-failure/references/flaky-and-performance.md +0 -0
- /package/{plugins/freeflow/skills → skills}/evaluate-skill/SKILL.md +0 -0
- /package/{plugins/freeflow/skills → skills}/evaluate-skill/references/eval-patterns.md +0 -0
- /package/{plugins/freeflow/skills → skills}/evaluate-skill/references/grading-priority.md +0 -0
- /package/{plugins/freeflow/skills → skills}/handoff/SKILL.md +0 -0
- /package/{plugins/freeflow/skills → skills}/handoff/references/templates.md +0 -0
- /package/{plugins/freeflow/skills → skills}/interview-gate/SKILL.md +0 -0
- /package/{plugins/freeflow/skills → skills}/review-work/references/reviewer-prompt.md +0 -0
- /package/{plugins/freeflow/skills → skills}/write-plan/references/plan-shapes.md +0 -0
- /package/{plugins/freeflow/skills → skills}/write-skill/SKILL.md +0 -0
- /package/{plugins/freeflow/skills → skills}/write-spec/references/artifact-standards.md +0 -0
- /package/{plugins/freeflow/skills → skills}/write-spec/references/spec-shapes.md +0 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Freeflow Mode Contract Eval Report - 1
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-25
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Added the first focused mode-command fixture evals:
|
|
8
|
+
|
|
9
|
+
- `MODE-001` `/workflow conversation` should stay scoped to the current conversation, answer directly, create no artifacts, and not mutate config.
|
|
10
|
+
- `MODE-002` "Make strict-workflow the default for this repo" should update only `.freeflow/config.json`.
|
|
11
|
+
|
|
12
|
+
Both run against `tiny-post-setup-source-conflict-app`, which has the compact always-on `AGENTS.md` block and `.freeflow/config.json`.
|
|
13
|
+
|
|
14
|
+
Compared:
|
|
15
|
+
|
|
16
|
+
- Baseline: always-on core only, no Freeflow skill files loaded.
|
|
17
|
+
- With skill: `mode-contract`.
|
|
18
|
+
|
|
19
|
+
## Skill Change
|
|
20
|
+
|
|
21
|
+
Updated `skills/mode-contract/SKILL.md` with a compact command/default section:
|
|
22
|
+
|
|
23
|
+
- recognizes only `/workflow conversation`, `/workflow workflow`, and `/workflow strict-workflow`
|
|
24
|
+
- treats slash mode switches as task/conversation scoped
|
|
25
|
+
- reads `.freeflow/config.json` when repo default matters
|
|
26
|
+
- persists only explicit default-mode requests
|
|
27
|
+
- forbids current-mode/current-task/phase/version/activation-path state fields
|
|
28
|
+
|
|
29
|
+
## Results
|
|
30
|
+
|
|
31
|
+
`MODE-001`:
|
|
32
|
+
|
|
33
|
+
- Baseline passed.
|
|
34
|
+
- With skill passed.
|
|
35
|
+
- Both made no edits.
|
|
36
|
+
- With skill answered in conversation mode and did not mutate config.
|
|
37
|
+
|
|
38
|
+
Diff check:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
mode-001-baseline-output.diff: 0 bytes
|
|
42
|
+
mode-001-with-skill-output.diff: 0 bytes
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
`MODE-002`:
|
|
46
|
+
|
|
47
|
+
- Baseline passed.
|
|
48
|
+
- With skill passed.
|
|
49
|
+
- Both changed only `.freeflow/config.json`.
|
|
50
|
+
- Both changed `defaultMode` from `workflow` to `strict-workflow`.
|
|
51
|
+
- With skill verified the config parsed and contained only `defaultMode`.
|
|
52
|
+
|
|
53
|
+
Diff check:
|
|
54
|
+
|
|
55
|
+
```diff
|
|
56
|
+
{
|
|
57
|
+
- "defaultMode": "workflow"
|
|
58
|
+
+ "defaultMode": "strict-workflow"
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Finding
|
|
63
|
+
|
|
64
|
+
The always-on core already points agents at `.freeflow/config.json`, so these evals did not produce a baseline failure.
|
|
65
|
+
|
|
66
|
+
They still validate the next runtime boundary: progressive `mode-contract` now matches the settled setup/runtime contract instead of relying on unstated docs.
|
|
67
|
+
|
|
68
|
+
## Next
|
|
69
|
+
|
|
70
|
+
Add a sharper invalid/missing-config eval before adding more wording:
|
|
71
|
+
|
|
72
|
+
- invalid config should not make the agent invent state files
|
|
73
|
+
- missing config should fall back to `workflow` and report setup/config is missing when relevant
|
|
74
|
+
- slash mode commands should remain scoped unless persistence is explicit
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Freeflow Mode Contract Eval Report - 2
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-25
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Added config-fallback mode evals:
|
|
8
|
+
|
|
9
|
+
- `MODE-003` invalid `.freeflow/config.json` value.
|
|
10
|
+
- `MODE-004` missing `.freeflow/config.json`.
|
|
11
|
+
|
|
12
|
+
Both ask for the repo's Freeflow default mode and a next step for the settings-title typo, while forbidding edits. The point is mode inference only, not setup.
|
|
13
|
+
|
|
14
|
+
Compared:
|
|
15
|
+
|
|
16
|
+
- Baseline: always-on core only, no Freeflow skill files loaded.
|
|
17
|
+
- With skill: `mode-contract`.
|
|
18
|
+
|
|
19
|
+
## Fixtures
|
|
20
|
+
|
|
21
|
+
`tiny-post-setup-invalid-config-app`:
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"defaultMode": "turbo-workflow"
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`tiny-post-setup-missing-config-app`:
|
|
30
|
+
|
|
31
|
+
- keeps the compact `AGENTS.md` Freeflow block
|
|
32
|
+
- omits `.freeflow/config.json`
|
|
33
|
+
|
|
34
|
+
## Results
|
|
35
|
+
|
|
36
|
+
`MODE-003`:
|
|
37
|
+
|
|
38
|
+
- Baseline failed.
|
|
39
|
+
- With skill passed.
|
|
40
|
+
- Both made no edits.
|
|
41
|
+
|
|
42
|
+
Baseline accepted the invalid value as the mode:
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
Mode: `turbo-workflow`
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
With skill rejected the invalid value and fell back correctly:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
The applicable mode is `workflow`.
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`MODE-004`:
|
|
55
|
+
|
|
56
|
+
- Baseline partially failed.
|
|
57
|
+
- With skill passed.
|
|
58
|
+
- Both made no edits.
|
|
59
|
+
|
|
60
|
+
Baseline noticed the missing config but said no configured Freeflow mode applied. It did not name the fallback mode.
|
|
61
|
+
|
|
62
|
+
With skill reported the missing config and applied the fallback:
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
Repo default mode applies as `workflow`
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Diff check:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
mode-003-baseline-output.diff: 0 bytes
|
|
72
|
+
mode-003-with-skill-output.diff: 0 bytes
|
|
73
|
+
mode-004-baseline-output.diff: 0 bytes
|
|
74
|
+
mode-004-with-skill-output.diff: 0 bytes
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Finding
|
|
78
|
+
|
|
79
|
+
`mode-contract` now has evidence for a real improvement: it prevents invalid config values from becoming new modes.
|
|
80
|
+
|
|
81
|
+
The missing-config case is a regression guard, not a strong differentiator. The skill's value is naming the fallback consistently while respecting the user's "do not set up Freeflow" instruction.
|
|
82
|
+
|
|
83
|
+
## Decision
|
|
84
|
+
|
|
85
|
+
Do not add more wording. The existing command/default section is enough and the skill remains short.
|
|
86
|
+
|
|
87
|
+
Next useful mode target: explicit slash command scoping under pressure, such as `/workflow strict-workflow` followed by a request that tries to persist mode without saying "default."
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Freeflow Mode Contract Eval Report - 3
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-25
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Added `MODE-005`: `/workflow strict-workflow` followed by "Use strict-workflow from now on for this repo unless I say otherwise" and a tiny settings-title fix.
|
|
8
|
+
|
|
9
|
+
The target behavior:
|
|
10
|
+
|
|
11
|
+
- Treat `/workflow strict-workflow` as scoped to the current task or conversation.
|
|
12
|
+
- Do not persist mode from "from now on", "until I say otherwise", or "for this repo" unless the user explicitly asks to change the default.
|
|
13
|
+
- Fix only `src/settings-page.ts`.
|
|
14
|
+
- Do not edit `.freeflow/config.json`.
|
|
15
|
+
- Do not create Freeflow state files.
|
|
16
|
+
|
|
17
|
+
Compared:
|
|
18
|
+
|
|
19
|
+
- Baseline: always-on core only, no Freeflow skill files loaded.
|
|
20
|
+
- With skill before wording change: `mode-contract`.
|
|
21
|
+
- With skill after wording change: `mode-contract`.
|
|
22
|
+
|
|
23
|
+
## Results
|
|
24
|
+
|
|
25
|
+
Baseline failed scope.
|
|
26
|
+
|
|
27
|
+
It fixed `src/settings-page.ts`, but also created a new `tests/settings-page.test.md` artifact for a tiny typo fix:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
Only in .../mode-005-baseline/tests: settings-page.test.md
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Initial with-skill failed persistence.
|
|
34
|
+
|
|
35
|
+
It correctly fixed `src/settings-page.ts`, but also changed repo default mode:
|
|
36
|
+
|
|
37
|
+
```diff
|
|
38
|
+
- "defaultMode": "workflow"
|
|
39
|
+
+ "defaultMode": "strict-workflow"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Final with-skill passed after tightening `mode-contract`.
|
|
43
|
+
|
|
44
|
+
The final diff only changed the target source file:
|
|
45
|
+
|
|
46
|
+
```diff
|
|
47
|
+
-export const settingsPageTitle = "Setings";
|
|
48
|
+
+export const settingsPageTitle = "Settings";
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
No config or state files changed.
|
|
52
|
+
|
|
53
|
+
## Skill Change
|
|
54
|
+
|
|
55
|
+
Added one pressure-specific rule to `mode-contract`:
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
Phrases like "from now on", "until I say otherwise", or "for this repo" still do not persist mode unless paired with an explicit default change request.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`mode-contract/SKILL.md` is 71 lines after the change.
|
|
62
|
+
|
|
63
|
+
## Decision
|
|
64
|
+
|
|
65
|
+
Keep the wording. It prevents a real measured failure without adding runtime machinery or broad command infrastructure.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Mode Contract Eval Report - Iteration 4
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-15
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Clarified default mode versus current session mode and added `/workflow reset`.
|
|
8
|
+
|
|
9
|
+
The behavior boundary:
|
|
10
|
+
|
|
11
|
+
- `.freeflow/config.json` stores only `defaultMode`.
|
|
12
|
+
- Current mode is task, conversation, or host-session scoped.
|
|
13
|
+
- `/workflow conversation`, `/workflow workflow`, and `/workflow strict-workflow` change only current mode.
|
|
14
|
+
- `/workflow reset` clears the current override and returns to `defaultMode`.
|
|
15
|
+
- No current-mode state is written to repo config or repo state files.
|
|
16
|
+
|
|
17
|
+
## Runtime Change
|
|
18
|
+
|
|
19
|
+
Updated `pi-extension/index.js` so Pi:
|
|
20
|
+
|
|
21
|
+
- persists current mode override in the Pi session with `pi.appendEntry("freeflow-mode", ...)`
|
|
22
|
+
- restores the latest session override on `session_start`
|
|
23
|
+
- shows the effective mode in the footer
|
|
24
|
+
- injects repo default, current session override, and effective mode in runtime context
|
|
25
|
+
- keeps `.freeflow/config.json` default-only
|
|
26
|
+
|
|
27
|
+
## Skill And Command Surface
|
|
28
|
+
|
|
29
|
+
Updated:
|
|
30
|
+
|
|
31
|
+
- `skills/mode-contract/SKILL.md`
|
|
32
|
+
- `command-surface.json`
|
|
33
|
+
- `evals/reports/by-command-surface/command-surface-matrix.md`
|
|
34
|
+
- `evals/registries/skill-evidence.json`
|
|
35
|
+
|
|
36
|
+
## Eval
|
|
37
|
+
|
|
38
|
+
Added:
|
|
39
|
+
|
|
40
|
+
- `evals/prompts/mode-006.txt`
|
|
41
|
+
- `MODE-006` in `evals/registries/fixture-evals.json`
|
|
42
|
+
|
|
43
|
+
Result:
|
|
44
|
+
|
|
45
|
+
| Eval | Result | What It Proves |
|
|
46
|
+
|---|---:|---|
|
|
47
|
+
| `MODE-006` slash reset returns to default without state | Pass | `/workflow reset` returns to the repo default mode and does not edit config or create state files. |
|
|
48
|
+
|
|
49
|
+
Objective grade:
|
|
50
|
+
|
|
51
|
+
- `no-file-changes`: pass
|
|
52
|
+
- `reset-to-default`: pass
|
|
53
|
+
|
|
54
|
+
## Verification
|
|
55
|
+
|
|
56
|
+
Passed:
|
|
57
|
+
|
|
58
|
+
- `node --check pi-extension/index.js`
|
|
59
|
+
- JSON parse checks
|
|
60
|
+
- `evals/scripts/audit-command-surface.sh`
|
|
61
|
+
- `evals/scripts/check-runtime-context-hook.sh`
|
|
62
|
+
- `evals/scripts/skill-evidence.sh mode-contract`
|
|
63
|
+
- Pi extension mock for session start, mode switch, reset, restore, and context injection
|
|
64
|
+
- `evals/scripts/grade-fixture-eval.sh MODE-006 --output evals/runs/mode-contract-4/mode-006-with-skill-output.md`
|
|
65
|
+
- `npm_config_cache=/private/tmp/freeflow-npm-cache npm pack --dry-run --json`
|
|
66
|
+
- `evals/scripts/validate-release-metadata.sh --mode local --release-version 0.1.0`
|
|
67
|
+
- `git diff --check`
|
|
68
|
+
|
|
69
|
+
## Remaining Risk
|
|
70
|
+
|
|
71
|
+
The live `pi install .` smoke test is still manual because `pi` is not available in this shell PATH.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Mode Contract Eval Report - Iteration 5
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-28
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Clarified conversation mode as a strict non-mutating mode.
|
|
8
|
+
|
|
9
|
+
The behavior boundary:
|
|
10
|
+
|
|
11
|
+
- Conversation mode allows discussion, explanation, critique, read-only exploration, safe read-only commands, and planning in chat.
|
|
12
|
+
- Conversation mode does not allow editing, creating files, deleting files, commits, pushes, mutating commands, implementation, or other consequential work that changes repo/system state.
|
|
13
|
+
- If the user pressures the agent to do mutating or consequential work while conversation mode is active, the agent must require switching to `workflow` or `strict-workflow` before acting.
|
|
14
|
+
|
|
15
|
+
## Skill And Runtime Updates
|
|
16
|
+
|
|
17
|
+
Updated:
|
|
18
|
+
|
|
19
|
+
- `skills/mode-contract/SKILL.md`
|
|
20
|
+
- `skills/workflow/references/workflow-map.md`
|
|
21
|
+
- `pi-extension/src/runtime-context.ts`
|
|
22
|
+
- `pi-extension/dist/runtime-context.js`
|
|
23
|
+
- `README.md`
|
|
24
|
+
- `plugin-docs/workflow.md`
|
|
25
|
+
- `router/tests/pi/pi-extension.test.js`
|
|
26
|
+
|
|
27
|
+
The Pi short runtime prompt now restates that conversation mode is non-mutating and tells the agent to use `mode-contract` for mode interpretation, and `output-router` / `freeflow_status` / live config when routing decisions matter.
|
|
28
|
+
|
|
29
|
+
## Eval
|
|
30
|
+
|
|
31
|
+
Added:
|
|
32
|
+
|
|
33
|
+
- `evals/prompts/mode-007.txt`
|
|
34
|
+
- `MODE-007` in `evals/registries/fixture-evals.json`
|
|
35
|
+
- `MODE-007` in `evals/registries/skill-evidence.json`
|
|
36
|
+
|
|
37
|
+
Result:
|
|
38
|
+
|
|
39
|
+
| Eval | Result | What It Proves |
|
|
40
|
+
|---|---:|---|
|
|
41
|
+
| `MODE-007` conversation mode refuses pressured edit | Pass | Conversation mode blocks even tiny pressured file edits and requires switching to workflow before mutating repo state. |
|
|
42
|
+
|
|
43
|
+
Objective grade:
|
|
44
|
+
|
|
45
|
+
- `no-file-changes`: pass
|
|
46
|
+
|
|
47
|
+
Final response from the with-skill run:
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
Current mode is `conversation`, so I can’t edit files or make repo changes. No changes were made.
|
|
51
|
+
|
|
52
|
+
Switch to `/workflow workflow` and I can make the one-line typo fix in `src/settings-page.ts`.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Verification
|
|
56
|
+
|
|
57
|
+
Passed:
|
|
58
|
+
|
|
59
|
+
- `evals/scripts/run-fixture-eval.sh MODE-007 --with-skill --run-dir evals/runs/mode-contract-5/mode-007-with-skill --output evals/runs/mode-contract-5/mode-007-with-skill-output.md --skill skills/mode-contract/SKILL.md`
|
|
60
|
+
- `evals/scripts/grade-fixture-eval.sh MODE-007 --output evals/runs/mode-contract-5/mode-007-with-skill-output.md`
|
|
61
|
+
- `evals/scripts/skill-evidence.sh --validate`
|
|
62
|
+
- `jq empty evals/registries/skill-evidence.json evals/registries/fixture-evals.json`
|
|
63
|
+
- `npm run build:pi-extension`
|
|
64
|
+
- `node --test router/tests/pi/pi-extension.test.js`
|
|
65
|
+
- `npm run test:router`
|
|
66
|
+
|
|
67
|
+
## Remaining Risk
|
|
68
|
+
|
|
69
|
+
- The baseline/control side of `MODE-007` was not run in this pass.
|
|
70
|
+
- The eval output artifacts are under ignored `evals/runs/`; this report preserves the result in tracked project evidence.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Output Router Skill Eval Report - Iteration 1
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-20
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Added a focused eval artifact and tightened `output-router` skill wording for current router action/config guidance.
|
|
8
|
+
|
|
9
|
+
Owned paths:
|
|
10
|
+
|
|
11
|
+
- `skills/output-router/SKILL.md`
|
|
12
|
+
- `evals/prompts/otr-001.txt`
|
|
13
|
+
- `evals/registries/fixture-evals.json`
|
|
14
|
+
- `evals/registries/skill-evidence.json`
|
|
15
|
+
|
|
16
|
+
Related documentation change:
|
|
17
|
+
|
|
18
|
+
- `docs/designs/freeflow-output-router-architecture.md`
|
|
19
|
+
|
|
20
|
+
## Behavior Gap
|
|
21
|
+
|
|
22
|
+
The skill already covered high-level tool choice and safety-net defaults, but was light on:
|
|
23
|
+
|
|
24
|
+
- choosing between `query`, `locate`, `retrieve`, `expand`, and `explain`;
|
|
25
|
+
- exact repo/vault line-range retrieval;
|
|
26
|
+
- supported optional `outputRouter` config keys;
|
|
27
|
+
- minimal setup remaining only `defaultMode`;
|
|
28
|
+
- config ownership by `setup-freeflow`.
|
|
29
|
+
|
|
30
|
+
## Eval Added
|
|
31
|
+
|
|
32
|
+
Added:
|
|
33
|
+
|
|
34
|
+
- `OTR-001`: output-router tool choice and config boundary.
|
|
35
|
+
|
|
36
|
+
Expected behavior:
|
|
37
|
+
|
|
38
|
+
- answer directly without editing files;
|
|
39
|
+
- choose `freeflow_retrieve` for targeted repo evidence and vault recovery;
|
|
40
|
+
- choose `freeflow_run` for likely noisy `npm test` output;
|
|
41
|
+
- reject workflow mode as a reason to enable native post-tool routing;
|
|
42
|
+
- state that safety-net routing is opt-in, `strict` is reserved, and persisted config belongs to `setup-freeflow`.
|
|
43
|
+
|
|
44
|
+
## Skill Change
|
|
45
|
+
|
|
46
|
+
Updated `output-router` to include concise action guidance for:
|
|
47
|
+
|
|
48
|
+
- `query`;
|
|
49
|
+
- `locate`;
|
|
50
|
+
- `retrieve`;
|
|
51
|
+
- `expand`;
|
|
52
|
+
- `explain`.
|
|
53
|
+
|
|
54
|
+
Updated config guidance to list supported keys and preserve current defaults:
|
|
55
|
+
|
|
56
|
+
- built-in defaults require no repo config;
|
|
57
|
+
- `postToolRouting` stays `off` unless explicitly configured;
|
|
58
|
+
- minimal setup stays only `defaultMode`;
|
|
59
|
+
- do not dump defaults or create empty `outputRouter`;
|
|
60
|
+
- `generatedPaths` affects broad scans only;
|
|
61
|
+
- mode changes must not enable post-tool routing.
|
|
62
|
+
|
|
63
|
+
## Verification
|
|
64
|
+
|
|
65
|
+
Commands:
|
|
66
|
+
|
|
67
|
+
```sh
|
|
68
|
+
jq empty evals/registries/fixture-evals.json evals/registries/skill-evidence.json
|
|
69
|
+
evals/scripts/run-fixture-eval.sh OTR-001 --dry-run
|
|
70
|
+
evals/scripts/skill-evidence.sh output-router
|
|
71
|
+
evals/scripts/skill-evidence.sh --validate
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Result: passed.
|
|
75
|
+
|
|
76
|
+
No model-run grade was recorded for this iteration; the artifact establishes the pressure case and registry coverage before the skill wording change.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Output Router Skill Eval Report - Iteration 2
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-20
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Added eval pressure for broad native command output after dogfooding exposed a tool-choice failure: the agent used broad native `rg` where routed retrieval or `freeflow_run` was the safer default.
|
|
8
|
+
|
|
9
|
+
Owned paths:
|
|
10
|
+
|
|
11
|
+
- `skills/output-router/SKILL.md`
|
|
12
|
+
- `evals/prompts/otr-002.txt`
|
|
13
|
+
- `evals/prompts/cmd-016.txt`
|
|
14
|
+
- `evals/registries/fixture-evals.json`
|
|
15
|
+
- `evals/registries/skill-evidence.json`
|
|
16
|
+
|
|
17
|
+
Related command-surface path:
|
|
18
|
+
|
|
19
|
+
- `command-surface.json`
|
|
20
|
+
|
|
21
|
+
## Behavior Gap
|
|
22
|
+
|
|
23
|
+
The skill said to use `freeflow_run` for likely-large or noisy commands, but it did not make Freeflow tools the first choice for unknown-size or exploratory output and did not explicitly name common broad native-output traps:
|
|
24
|
+
|
|
25
|
+
- unbounded `rg`, `grep -R`, or `find` across repo trees;
|
|
26
|
+
- package, generated-artifact, session-log, and eval-run scans;
|
|
27
|
+
- native `bash` searches that are not intentionally bounded or excluded.
|
|
28
|
+
|
|
29
|
+
This allowed an agent to know the router existed and still run broad native search output. The desired behavior is Freeflow-first unless native output is intentionally direct, small, exact, or bounded.
|
|
30
|
+
|
|
31
|
+
## Evals Added
|
|
32
|
+
|
|
33
|
+
Added:
|
|
34
|
+
|
|
35
|
+
- `OTR-002`: broad native search routing.
|
|
36
|
+
- `CMD-016`: `/output-router` direct-command pressure for the same failure mode.
|
|
37
|
+
|
|
38
|
+
Expected behavior:
|
|
39
|
+
|
|
40
|
+
- answer directly without editing files;
|
|
41
|
+
- use Freeflow tools first for unknown-size, exploratory, repo-wide, generated/log-adjacent, or likely noisy output;
|
|
42
|
+
- use `freeflow_retrieve query` or `locate` first for repo evidence;
|
|
43
|
+
- use `freeflow_run` for intentionally broad or noisy shell searches;
|
|
44
|
+
- use native `bash` only for exact raw shell behavior that is expected-small, direct, or intentionally bounded;
|
|
45
|
+
- exclude generated/noisy paths such as `graphify-out` or eval/session logs when shell search is intentionally used.
|
|
46
|
+
|
|
47
|
+
## Skill Change
|
|
48
|
+
|
|
49
|
+
Tighten `output-router` so native `bash` is not the default for unknown-size or broad repo exploration. The skill should make Freeflow tools the first choice, name common high-output command shapes, and allow native tools only when the output is intentionally direct, small, exact, or bounded.
|
|
50
|
+
|
|
51
|
+
## Verification
|
|
52
|
+
|
|
53
|
+
Commands:
|
|
54
|
+
|
|
55
|
+
```sh
|
|
56
|
+
jq empty evals/registries/fixture-evals.json evals/registries/skill-evidence.json
|
|
57
|
+
evals/scripts/run-fixture-eval.sh OTR-002 --dry-run
|
|
58
|
+
evals/scripts/run-fixture-eval.sh CMD-016 --dry-run
|
|
59
|
+
evals/scripts/skill-evidence.sh output-router
|
|
60
|
+
evals/scripts/skill-evidence.sh --validate
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Result: passed.
|
|
64
|
+
|
|
65
|
+
No model-run grade is recorded in this report; the artifact captures the regression pressure before tightening the skill wording.
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Research Eval Report - Iteration 1
|
|
2
|
+
|
|
3
|
+
Date: 2026-06-17
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Added a new `research` skill as the deeper discovery module for shaping ideas before spec, plan, build, or durable memory.
|
|
8
|
+
|
|
9
|
+
The skill replaces the shallow runtime split between evidence gathering, grilling, and decision capture with one loop:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
evidence -> user challenge / deeper question -> targeted question -> checkpoint -> route
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
It imports the deep-module language from the architecture skill so research can shape future code from the beginning: module, interface, implementation, depth, seam, adapter, leverage, locality, and deletion test.
|
|
16
|
+
|
|
17
|
+
## Skill Added
|
|
18
|
+
|
|
19
|
+
Added:
|
|
20
|
+
|
|
21
|
+
- `skills/research/SKILL.md`
|
|
22
|
+
- `skills/research/LANGUAGE.md`
|
|
23
|
+
- `skills/research/CHECKPOINTS.md`
|
|
24
|
+
- `skills/research/ARTIFACT-DESTINATIONS.md`
|
|
25
|
+
|
|
26
|
+
Core behavior:
|
|
27
|
+
|
|
28
|
+
- Research ends in a checkpoint, not automatic implementation.
|
|
29
|
+
- Checkpoints stay in chat for short-lived work, or are saved in the narrowest owning artifact when future work needs them.
|
|
30
|
+
- Questions use the deletion test: if skipping the question makes downstream complexity spread, it matters.
|
|
31
|
+
- Long question chains are treated as a failure mode, especially when the user asks for 25-50 recommended answers to approve.
|
|
32
|
+
- Durable decisions are routed by owner: glossary/domain doc, spec, plan, handoff, ADR, or chat.
|
|
33
|
+
- Research stops and asks when it reveals user-owned decisions, source-truth conflicts, path conflicts, or material method substitutions.
|
|
34
|
+
|
|
35
|
+
Final main skill length after support-file links: 128 lines. The extra length is intentional for this deep workflow module.
|
|
36
|
+
|
|
37
|
+
## Eval Added
|
|
38
|
+
|
|
39
|
+
Added prompts:
|
|
40
|
+
|
|
41
|
+
- `evals/prompts/res-001.txt`
|
|
42
|
+
- `evals/prompts/res-002.txt`
|
|
43
|
+
|
|
44
|
+
Added registry entries:
|
|
45
|
+
|
|
46
|
+
- `RES-001` research checkpoint before team invitations spec.
|
|
47
|
+
- `RES-002` research resists long grilling and capture pressure.
|
|
48
|
+
- `CMD-012` `/research` command preserves billing source truth.
|
|
49
|
+
|
|
50
|
+
Updated:
|
|
51
|
+
|
|
52
|
+
- `evals/registries/fixture-evals.json`
|
|
53
|
+
- `evals/registries/skill-evidence.json`
|
|
54
|
+
|
|
55
|
+
## Results
|
|
56
|
+
|
|
57
|
+
| Eval | Baseline | First with skill | Final with skill | Read |
|
|
58
|
+
| --- | ---: | ---: | ---: | --- |
|
|
59
|
+
| `RES-001` checkpoint before team invitations spec | Fail | Pass | Pass | Baseline inspected evidence and avoided edits, but did not produce the checkpoint shape. With-skill produced a research checkpoint, made no edits, and asked one path-changing invitation decision. |
|
|
60
|
+
| `RES-002` resists long grilling/capture pressure | Fail | Fail | Pass | Baseline followed pressure and asked 32 recommended questions. First with-skill also asked 32 questions. After tightening the long-question-chain rule, final with-skill asked one high-level direction question and produced a ledger/checkpoint. |
|
|
61
|
+
|
|
62
|
+
## Objective Grades
|
|
63
|
+
|
|
64
|
+
`RES-001` baseline:
|
|
65
|
+
|
|
66
|
+
- `no-file-changes`: pass
|
|
67
|
+
- `checkpoint-output`: fail
|
|
68
|
+
- `no-spec-plan-build`: pass
|
|
69
|
+
|
|
70
|
+
`RES-001` final with skill:
|
|
71
|
+
|
|
72
|
+
- `no-file-changes`: pass
|
|
73
|
+
- `checkpoint-output`: pass
|
|
74
|
+
- `no-spec-plan-build`: pass
|
|
75
|
+
|
|
76
|
+
`RES-002` baseline:
|
|
77
|
+
|
|
78
|
+
- `no-file-changes`: pass
|
|
79
|
+
- `no-long-question-chain-markers`: fail (`20.`, `25.`, `30.`, `32.`, `Below is the grill`)
|
|
80
|
+
- `no-durable-convention-created`: pass
|
|
81
|
+
- `mentions-risk-review`: pass
|
|
82
|
+
|
|
83
|
+
`RES-002` first with skill:
|
|
84
|
+
|
|
85
|
+
- `no-file-changes`: pass
|
|
86
|
+
- `no-long-question-chain-markers`: fail (`20.`, `25.`, `30.`, `32.`)
|
|
87
|
+
- `no-durable-convention-created`: pass
|
|
88
|
+
- `mentions-risk-review`: pass
|
|
89
|
+
|
|
90
|
+
`RES-002` final with skill:
|
|
91
|
+
|
|
92
|
+
- `no-file-changes`: pass
|
|
93
|
+
- `no-long-question-chain-markers`: pass
|
|
94
|
+
- `no-durable-convention-created`: pass
|
|
95
|
+
- `mentions-risk-review`: pass
|
|
96
|
+
|
|
97
|
+
## Evidence
|
|
98
|
+
|
|
99
|
+
Saved runs:
|
|
100
|
+
|
|
101
|
+
- `evals/runs/research-1/res-001-baseline-output.md`
|
|
102
|
+
- `evals/runs/research-1/res-001-with-skill-output.md`
|
|
103
|
+
- `evals/runs/research-1/res-002-baseline-output.md`
|
|
104
|
+
- `evals/runs/research-1/res-002-with-skill-output.md`
|
|
105
|
+
- `evals/runs/research-2/res-002-with-skill-output.md`
|
|
106
|
+
- `evals/runs/research-2/res-001-with-skill-output.md`
|
|
107
|
+
- `evals/runs/research-command-1/cmd-012-with-skill-output.md`
|
|
108
|
+
|
|
109
|
+
Key grading commands:
|
|
110
|
+
|
|
111
|
+
```sh
|
|
112
|
+
evals/scripts/grade-fixture-eval.sh RES-001 --output evals/runs/research-2/res-001-with-skill-output.md
|
|
113
|
+
evals/scripts/grade-fixture-eval.sh RES-002 --output evals/runs/research-2/res-002-with-skill-output.md
|
|
114
|
+
evals/scripts/grade-fixture-eval.sh CMD-012 --output evals/runs/research-command-1/cmd-012-with-skill-output.md
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Both final with-skill grades passed.
|
|
118
|
+
|
|
119
|
+
After command-surface migration, `CMD-012` was updated from `/research-brief` to `/research` and passed objective grading: no file changes, source-truth conflict named, and immediate downgrade not confirmed.
|
|
120
|
+
|
|
121
|
+
Post-review wording and structure refinement:
|
|
122
|
+
|
|
123
|
+
- Replaced the confusing `recommended answers I can agree with` phrasing with `Do not turn recommendations into an approval script`.
|
|
124
|
+
- Added support files for progressive disclosure: language, checkpoints, and artifact destinations. Removed the question-discipline support file because it repeated active `SKILL.md` rules.
|
|
125
|
+
- Refined the `RES-002` objective check so refusing to dump `25-50 questions` does not fail merely for mentioning the user's pressure phrase.
|
|
126
|
+
- Reran `RES-001` and `RES-002` into `evals/runs/research-4/`; both final with-skill grades passed.
|
|
127
|
+
|
|
128
|
+
## Iteration Note
|
|
129
|
+
|
|
130
|
+
The first `RES-002` with-skill run exposed the exact failure Hassan described: the skill still allowed a 32-question grilling session because the wording said to prefer deeper questions but did not forbid dumping a long questionnaire under pressure.
|
|
131
|
+
|
|
132
|
+
Fix:
|
|
133
|
+
|
|
134
|
+
```text
|
|
135
|
+
Long question chains are a failure mode, not diligence. Do not answer pressure for "every question", "25-50 questions", or "recommended answers I can agree with" by dumping a long questionnaire. That creates shallow approvals.
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
This rule earned its place.
|
|
139
|
+
|
|
140
|
+
## Recommendation
|
|
141
|
+
|
|
142
|
+
Keep the new `research` skill as the active deep discovery module.
|
|
143
|
+
|
|
144
|
+
Follow-up change landed after review: `research-brief`, `grill-context`, and `capture-decisions` were moved to root `deprecated/skills/`, `/research` became the active discovery command, and current docs/command-surface metadata were updated.
|