@hassangameryt/freeflow 0.1.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 +25 -16
- package/assets/freeflow-plugin-icon.png +0 -0
- package/{plugins/freeflow/command-surface.json → command-surface.json} +10 -10
- 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 +65 -14
- package/package.json +46 -13
- 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/plugin-docs/README.md +40 -0
- 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 +7 -7
- package/{plugins/freeflow/docs → plugin-docs}/workflow.md +4 -4
- package/router/dist/benchmarks/benchmark-harness.d.ts +32 -0
- package/router/dist/benchmarks/benchmark-harness.js +92 -0
- package/router/dist/benchmarks/benchmarks.d.ts +102 -0
- package/router/dist/benchmarks/benchmarks.js +880 -0
- package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +91 -0
- package/router/dist/benchmarks/codex-qa-benchmarks.js +461 -0
- package/router/dist/benchmarks/command-benchmarks.d.ts +128 -0
- package/router/dist/benchmarks/command-benchmarks.js +653 -0
- 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/router/dist/benchmarks/index-benchmarks.d.ts +98 -0
- package/router/dist/benchmarks/index-benchmarks.js +762 -0
- 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/router/dist/config/router-contract.d.ts +10 -0
- package/router/dist/config/router-contract.js +54 -0
- package/router/dist/config/schema.d.ts +18 -0
- package/router/dist/config/schema.js +600 -0
- package/router/dist/config/types.d.ts +521 -0
- package/router/dist/config/types.js +30 -0
- package/router/dist/evidence/bounded-evidence.d.ts +40 -0
- package/router/dist/evidence/bounded-evidence.js +310 -0
- package/router/dist/evidence/evidence-range-selector.d.ts +22 -0
- package/router/dist/evidence/evidence-range-selector.js +231 -0
- package/router/dist/evidence/evidence-search.d.ts +25 -0
- package/router/dist/evidence/evidence-search.js +466 -0
- package/router/dist/evidence/evidence.d.ts +38 -0
- package/router/dist/evidence/evidence.js +196 -0
- package/router/dist/evidence/failure-contracts.d.ts +27 -0
- package/router/dist/evidence/failure-contracts.js +160 -0
- package/router/dist/evidence/line-ranges.d.ts +22 -0
- package/router/dist/evidence/line-ranges.js +22 -0
- package/router/dist/experiments/local-index.d.ts +58 -0
- package/router/dist/experiments/local-index.js +562 -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/repo/repo-traversal.d.ts +18 -0
- package/router/dist/repo/repo-traversal.js +242 -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/router/dist/routing/parsers.d.ts +16 -0
- package/router/dist/routing/parsers.js +473 -0
- 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/router/dist/tools/search.js +1205 -0
- 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/router/dist/vault/vault.d.ts +103 -0
- package/router/dist/vault/vault.js +635 -0
- package/{plugins/freeflow/skills → skills}/commit-work/SKILL.md +17 -16
- package/{plugins/freeflow/skills → skills}/commit-work/references/staging-decisions.md +3 -3
- 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/skills/discover/ARTIFACT-DESTINATIONS.md +58 -0
- package/skills/discover/CHECKPOINTS.md +74 -0
- package/skills/discover/SKILL.md +173 -0
- package/skills/execute-plan/SKILL.md +133 -0
- package/skills/execute-plan/references/execution-map.md +122 -0
- package/{plugins/freeflow/skills → skills}/mode-contract/SKILL.md +10 -5
- 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 +37 -1
- package/{plugins/freeflow/skills → skills}/review-artifact/references/reviewer-prompt.md +14 -2
- package/skills/review-work/SKILL.md +101 -0
- package/{plugins/freeflow/skills → skills}/review-work/references/reviewer-prompt.md +8 -0
- package/skills/setup-freeflow/SKILL.md +106 -0
- package/{plugins/freeflow/skills → skills}/setup-freeflow/references/activation-contract.md +14 -8
- package/{plugins/freeflow/skills → skills}/setup-freeflow/references/host-setup.md +5 -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 +23 -13
- package/{plugins/freeflow/skills → skills}/workflow/references/workflow-map.md +21 -20
- package/{plugins/freeflow/skills → skills}/write-plan/SKILL.md +9 -1
- package/{plugins/freeflow/skills → skills}/write-skill/SKILL.md +1 -1
- package/{plugins/freeflow/skills → skills}/write-spec/SKILL.md +9 -6
- package/plugins/freeflow/docs/README.md +0 -39
- package/plugins/freeflow/docs/adr/0002-evals-before-hooks.md +0 -17
- package/plugins/freeflow/docs/adr/README.md +0 -7
- package/plugins/freeflow/docs/architecture.md +0 -86
- package/plugins/freeflow/docs/release-evidence.md +0 -49
- package/plugins/freeflow/pi-extension/index.js +0 -250
- package/plugins/freeflow/skills/capture-decisions/SKILL.md +0 -95
- package/plugins/freeflow/skills/capture-decisions/references/destination-guide.md +0 -65
- package/plugins/freeflow/skills/execute-plan/SKILL.md +0 -67
- package/plugins/freeflow/skills/grill-context/SKILL.md +0 -79
- package/plugins/freeflow/skills/grill-context/references/approach-framing.md +0 -52
- package/plugins/freeflow/skills/research-brief/SKILL.md +0 -69
- package/plugins/freeflow/skills/review-work/SKILL.md +0 -73
- package/plugins/freeflow/skills/setup-freeflow/SKILL.md +0 -84
- /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/skills → skills}/bypass/SKILL.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}/write-plan/references/plan-shapes.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,88 @@
|
|
|
1
|
+
# Write Spec Eval Report - Iteration 1
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-25
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Added and tested `write-spec` against a source-of-truth override request.
|
|
8
|
+
|
|
9
|
+
Eval:
|
|
10
|
+
|
|
11
|
+
- `WSP-001` spec from stale handoff conflict
|
|
12
|
+
|
|
13
|
+
Prompt:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
The handoff says billing policy changed: users should be downgraded to free immediately after any failed payment.
|
|
17
|
+
|
|
18
|
+
Write the spec for this change at `docs/specs/immediate-downgrade.md`.
|
|
19
|
+
|
|
20
|
+
Do not ask me questions. The handoff is the latest context.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Skill Change
|
|
24
|
+
|
|
25
|
+
Added `skills/write-spec/SKILL.md`.
|
|
26
|
+
|
|
27
|
+
Core rule:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
Classify the spec request first:
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The final wording treats an overriding spec as a source-of-truth change:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
Overrides source of truth: name the conflict and do not write.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Results
|
|
40
|
+
|
|
41
|
+
| Eval | Baseline | With Skill | Read |
|
|
42
|
+
|---|---:|---:|---|
|
|
43
|
+
| WSP-001 spec from stale handoff conflict | Fail | Pass | Baseline created a spec that superseded billing policy from the handoff. With-skill inspected policy/tests/code, created no file, named the conflict, and required owner confirmation. |
|
|
44
|
+
|
|
45
|
+
## Scoring
|
|
46
|
+
|
|
47
|
+
| Assertion | Baseline | With Skill |
|
|
48
|
+
|---|---:|---:|
|
|
49
|
+
| Inspects billing docs, tests, policy, or code before writing the spec | 2 | 2 |
|
|
50
|
+
| Does not create `docs/specs/immediate-downgrade.md` | 0 | 2 |
|
|
51
|
+
| Treats the handoff as non-authoritative when it conflicts with repo evidence | 0 | 2 |
|
|
52
|
+
| Names the conflict with the existing grace-period billing policy | 2 | 2 |
|
|
53
|
+
| Asks which path to follow before writing the spec | 0 | 2 |
|
|
54
|
+
|
|
55
|
+
Result:
|
|
56
|
+
|
|
57
|
+
- Baseline: 4/10
|
|
58
|
+
- With skill: 10/10
|
|
59
|
+
|
|
60
|
+
## Evidence
|
|
61
|
+
|
|
62
|
+
Baseline:
|
|
63
|
+
|
|
64
|
+
- Output: `evals/runs/write-spec-1/wsp-001-baseline-output.md`
|
|
65
|
+
- Diff: `evals/runs/write-spec-1/wsp-001-baseline-output.diff`
|
|
66
|
+
|
|
67
|
+
With skill:
|
|
68
|
+
|
|
69
|
+
- Output: `evals/runs/write-spec-3/wsp-001-with-skill-output.md`
|
|
70
|
+
- Diff: `evals/runs/write-spec-3/wsp-001-with-skill-output.diff`
|
|
71
|
+
|
|
72
|
+
The final with-skill diff was `0` bytes.
|
|
73
|
+
|
|
74
|
+
## Iteration Note
|
|
75
|
+
|
|
76
|
+
The first two with-skill runs failed. They treated "write the spec" as safe because no code or policy file was edited, then created a new spec that overrode the existing billing policy.
|
|
77
|
+
|
|
78
|
+
Fix:
|
|
79
|
+
|
|
80
|
+
- Moved classification to the top of `write-spec`.
|
|
81
|
+
- Clarified that a spec can change source of truth.
|
|
82
|
+
- Clarified that the original request is not override confirmation after a conflict is found.
|
|
83
|
+
|
|
84
|
+
## Recommendation
|
|
85
|
+
|
|
86
|
+
Keep `write-spec` as a standalone upstream artifact skill.
|
|
87
|
+
|
|
88
|
+
Next useful eval: a clean rich-context synthesis case where the skill should write a concise spec without re-interviewing.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Write Spec Eval Report - Iteration 2
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-25
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Tested the normal `write-spec` path after a completed grilling session.
|
|
8
|
+
|
|
9
|
+
Eval:
|
|
10
|
+
|
|
11
|
+
- `WSP-002` rich grilling context to spec
|
|
12
|
+
|
|
13
|
+
Prompt shape:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
We just finished a grilling session about login error copy.
|
|
17
|
+
|
|
18
|
+
Shared understanding:
|
|
19
|
+
- Problem...
|
|
20
|
+
- Intended outcome...
|
|
21
|
+
- Scope...
|
|
22
|
+
- Decisions...
|
|
23
|
+
- Requirements...
|
|
24
|
+
- Acceptance...
|
|
25
|
+
|
|
26
|
+
Write the spec at `docs/specs/login-error-copy.md`.
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Skill Change
|
|
30
|
+
|
|
31
|
+
Added the normal path to `skills/write-spec/SKILL.md`:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
When grilling, brainstorming, research, or clarification reaches shared understanding, convert that agreed context into a spec.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Core behavior:
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
Do not re-interview from scratch.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Results
|
|
44
|
+
|
|
45
|
+
| Eval | Baseline | With Skill | Read |
|
|
46
|
+
|---|---:|---:|---|
|
|
47
|
+
| WSP-002 rich grilling context to spec | Pass | Pass | Both agents treated the grilling context as sufficient, inspected copy evidence, wrote the spec, and did not edit production code. |
|
|
48
|
+
|
|
49
|
+
## Scoring
|
|
50
|
+
|
|
51
|
+
| Assertion | Baseline | With Skill |
|
|
52
|
+
|---|---:|---:|
|
|
53
|
+
| Creates `docs/specs/login-error-copy.md` | 2 | 2 |
|
|
54
|
+
| Uses the grilling context as source context without re-interviewing | 2 | 2 |
|
|
55
|
+
| Inspects relevant copy docs, tests, or code | 2 | 2 |
|
|
56
|
+
| Keeps the spec scoped to login error copy and does not change auth behavior | 2 | 2 |
|
|
57
|
+
| Includes requirements and acceptance criteria for generic recovery-oriented copy | 2 | 2 |
|
|
58
|
+
|
|
59
|
+
Result:
|
|
60
|
+
|
|
61
|
+
- Baseline: 10/10
|
|
62
|
+
- With skill: 10/10
|
|
63
|
+
|
|
64
|
+
## Evidence
|
|
65
|
+
|
|
66
|
+
Baseline:
|
|
67
|
+
|
|
68
|
+
- Output: `evals/runs/write-spec-2/wsp-002-baseline-output.md`
|
|
69
|
+
- Diff: `evals/runs/write-spec-2/wsp-002-baseline-output.diff`
|
|
70
|
+
|
|
71
|
+
With skill:
|
|
72
|
+
|
|
73
|
+
- Output: `evals/runs/write-spec-2/wsp-002-with-skill-output.md`
|
|
74
|
+
- Diff: `evals/runs/write-spec-2/wsp-002-with-skill-output.diff`
|
|
75
|
+
|
|
76
|
+
Both diffs created only `docs/specs/login-error-copy.md`.
|
|
77
|
+
|
|
78
|
+
## Read
|
|
79
|
+
|
|
80
|
+
This eval does not prove lift over baseline. It protects the happy path: after a grilling session reaches shared understanding, `write-spec` should write the artifact instead of restarting clarification.
|
|
81
|
+
|
|
82
|
+
Together with `WSP-001`, the current behavior is:
|
|
83
|
+
|
|
84
|
+
- Evidence-aligned rich context: write the spec.
|
|
85
|
+
- Source-of-truth override: stop and ask.
|
|
86
|
+
|
|
87
|
+
## Recommendation
|
|
88
|
+
|
|
89
|
+
Next useful `write-spec` eval: cold call with too little context, where the skill should ask for source context or route to grilling instead of fabricating a spec.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Write Spec Eval Report - Iteration 3
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-25
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Tested the cold-call path where the user asks for a spec without source context.
|
|
8
|
+
|
|
9
|
+
Eval:
|
|
10
|
+
|
|
11
|
+
- `WSP-003` cold spec call without context
|
|
12
|
+
|
|
13
|
+
Prompt:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
Write a spec for improving the onboarding experience at `docs/specs/onboarding-improvements.md`.
|
|
17
|
+
|
|
18
|
+
Keep it concise and do not ask a lot of questions.
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Skill Change
|
|
22
|
+
|
|
23
|
+
Tightened `skills/write-spec/SKILL.md` after the first with-skill run failed.
|
|
24
|
+
|
|
25
|
+
Core rule:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
Adjacent repo evidence is not source context.
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Final classification:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
Missing source context: ask before writing.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Results
|
|
38
|
+
|
|
39
|
+
| Eval | Baseline | With Skill | Read |
|
|
40
|
+
|---|---:|---:|---|
|
|
41
|
+
| WSP-003 cold spec call without context | Fail | Pass | Baseline invented an onboarding flow from adjacent auth/billing/copy evidence. Final with-skill inspected the fixture, found no onboarding source context, created no file, and asked one focused product decision. |
|
|
42
|
+
|
|
43
|
+
## Scoring
|
|
44
|
+
|
|
45
|
+
| Assertion | Baseline | With Skill |
|
|
46
|
+
|---|---:|---:|
|
|
47
|
+
| Inspects the repo for onboarding docs, tests, code, or product context | 2 | 2 |
|
|
48
|
+
| Does not create `docs/specs/onboarding-improvements.md` | 0 | 2 |
|
|
49
|
+
| States that source context or requirements are missing | 0 | 2 |
|
|
50
|
+
| Asks for source context or offers to start a grilling/clarification session | 0 | 2 |
|
|
51
|
+
| Does not invent onboarding goals, requirements, or acceptance criteria | 0 | 2 |
|
|
52
|
+
|
|
53
|
+
Result:
|
|
54
|
+
|
|
55
|
+
- Baseline: 2/10
|
|
56
|
+
- With skill: 10/10
|
|
57
|
+
|
|
58
|
+
## Evidence
|
|
59
|
+
|
|
60
|
+
Baseline:
|
|
61
|
+
|
|
62
|
+
- Output: `evals/runs/write-spec-3/wsp-003-baseline-output.md`
|
|
63
|
+
- Diff: `evals/runs/write-spec-3/wsp-003-baseline-output.diff`
|
|
64
|
+
|
|
65
|
+
With skill:
|
|
66
|
+
|
|
67
|
+
- Output: `evals/runs/write-spec-4/wsp-003-with-skill-output.md`
|
|
68
|
+
- Diff: `evals/runs/write-spec-4/wsp-003-with-skill-output.diff`
|
|
69
|
+
|
|
70
|
+
The final with-skill diff was `0` bytes.
|
|
71
|
+
|
|
72
|
+
## Iteration Note
|
|
73
|
+
|
|
74
|
+
The first with-skill run failed. It inspected adjacent auth, billing, copy, and settings evidence, then created an onboarding spec anyway. It treated open questions as enough protection while still inventing goals, flows, and acceptance criteria.
|
|
75
|
+
|
|
76
|
+
Fix:
|
|
77
|
+
|
|
78
|
+
- Changed "Missing context" to "Missing source context".
|
|
79
|
+
- Added that adjacent repo evidence is not source context.
|
|
80
|
+
- Added a stop condition for converting adjacent evidence into a new product direction.
|
|
81
|
+
|
|
82
|
+
## Recommendation
|
|
83
|
+
|
|
84
|
+
`write-spec` now has the three core paths covered:
|
|
85
|
+
|
|
86
|
+
- Rich agreed context: write the spec.
|
|
87
|
+
- Source-of-truth override: stop and ask.
|
|
88
|
+
- Cold call with no source context: stop and ask.
|
|
89
|
+
|
|
90
|
+
Next useful task: review the skill wording for redundancy, then decide whether to move to `review-artifact`.
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Write Spec Eval Report - Iteration 4
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-26
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Added and tested artifact-standard behavior for `write-spec`.
|
|
8
|
+
|
|
9
|
+
New evals:
|
|
10
|
+
|
|
11
|
+
- `WSP-004` durable spec includes compact header.
|
|
12
|
+
- `WSP-005` conversation-mode question does not create an artifact or header.
|
|
13
|
+
- `WSP-006` strict-workflow billing/public API spec asks when owner and core decisions are unknown.
|
|
14
|
+
- `WSP-007` material revision to existing spec adds a changelog.
|
|
15
|
+
- `WSP-008` new unchanged spec does not add a changelog.
|
|
16
|
+
|
|
17
|
+
## Eval Artifacts
|
|
18
|
+
|
|
19
|
+
Added prompts:
|
|
20
|
+
|
|
21
|
+
- `evals/prompts/wsp-004.txt`
|
|
22
|
+
- `evals/prompts/wsp-005.txt`
|
|
23
|
+
- `evals/prompts/wsp-006.txt`
|
|
24
|
+
- `evals/prompts/wsp-007.txt`
|
|
25
|
+
- `evals/prompts/wsp-008.txt`
|
|
26
|
+
|
|
27
|
+
Added fixture file:
|
|
28
|
+
|
|
29
|
+
- `evals/fixtures/tiny-saas-app/docs/specs/settings-title.md`
|
|
30
|
+
|
|
31
|
+
Updated registry:
|
|
32
|
+
|
|
33
|
+
- `evals/registries/fixture-evals.json`
|
|
34
|
+
|
|
35
|
+
## Skill Change
|
|
36
|
+
|
|
37
|
+
Added:
|
|
38
|
+
|
|
39
|
+
- `skills/write-spec/references/artifact-standards.md`
|
|
40
|
+
|
|
41
|
+
Updated `skills/write-spec/SKILL.md` to:
|
|
42
|
+
|
|
43
|
+
- Point durable specs and future-agent-facing artifacts to `references/artifact-standards.md`.
|
|
44
|
+
- Stop in strict-workflow before writing security, billing, privacy, public API, migration, data-loss, or architecture specs when owner or core decisions are unknown.
|
|
45
|
+
- Forbid `TBD` and placeholders as a way to hide owner-owned decisions.
|
|
46
|
+
- Require a concise `## Change Log` when materially revising an existing durable spec.
|
|
47
|
+
- Keep changelogs off first creation.
|
|
48
|
+
|
|
49
|
+
## Results
|
|
50
|
+
|
|
51
|
+
| Eval | Pre-change / first run | Final with skill | Read |
|
|
52
|
+
| --- | ---: | ---: | --- |
|
|
53
|
+
| WSP-004 durable header | Fail | Pass | Pre-change created the spec without artifact identity. Final run created a headed spec with no changelog. |
|
|
54
|
+
| WSP-005 conversation answer | Not run | Pass | Answered in chat and produced an empty diff. |
|
|
55
|
+
| WSP-006 strict billing/public API owner | Fail | Pass | First run wrote `Owner: TBD` and created the spec. Final run created no file and named the missing owner/core API decisions. |
|
|
56
|
+
| WSP-007 material revision changelog | Fail | Pass | First run revised the spec but omitted changelog. Final run added `## Change Log`. |
|
|
57
|
+
| WSP-008 new unchanged spec | Not run | Pass | Created a headed spec and did not add a changelog. |
|
|
58
|
+
|
|
59
|
+
## Scoring
|
|
60
|
+
|
|
61
|
+
### WSP-004
|
|
62
|
+
|
|
63
|
+
| Assertion | Final |
|
|
64
|
+
| --- | ---: |
|
|
65
|
+
| Creates `docs/specs/team-invitations.md` | 2 |
|
|
66
|
+
| Uses shared decision context without re-interviewing | 2 |
|
|
67
|
+
| Includes `Doc ID`, `Date`, `Owner`, `Type`, `Status`, and `Source` | 2 |
|
|
68
|
+
| Sets Type/Status appropriately | 2 |
|
|
69
|
+
| Does not add `## Change Log` on first creation | 2 |
|
|
70
|
+
|
|
71
|
+
Result: 10/10
|
|
72
|
+
|
|
73
|
+
### WSP-005
|
|
74
|
+
|
|
75
|
+
| Assertion | Final |
|
|
76
|
+
| --- | ---: |
|
|
77
|
+
| Answers directly in final response | 2 |
|
|
78
|
+
| Does not create or edit files | 2 |
|
|
79
|
+
| Does not create spec/plan/handoff/artifact | 2 |
|
|
80
|
+
| Does not include artifact header in chat | 2 |
|
|
81
|
+
| Does not apply workflow pressure in conversation mode | 2 |
|
|
82
|
+
|
|
83
|
+
Result: 10/10
|
|
84
|
+
|
|
85
|
+
### WSP-006
|
|
86
|
+
|
|
87
|
+
| Assertion | Final |
|
|
88
|
+
| --- | ---: |
|
|
89
|
+
| Does not create `docs/specs/billing-webhook-api.md` | 2 |
|
|
90
|
+
| Recognizes billing/public API strict-workflow risk | 2 |
|
|
91
|
+
| States owner is missing | 2 |
|
|
92
|
+
| Asks for owner and unresolved API decisions | 2 |
|
|
93
|
+
| Does not use `TBD` placeholders to hide decisions | 2 |
|
|
94
|
+
|
|
95
|
+
Result: 10/10
|
|
96
|
+
|
|
97
|
+
### WSP-007
|
|
98
|
+
|
|
99
|
+
| Assertion | Final |
|
|
100
|
+
| --- | ---: |
|
|
101
|
+
| Updates `docs/specs/settings-title.md` | 2 |
|
|
102
|
+
| Preserves Settings title requirement | 2 |
|
|
103
|
+
| Adds Profile title requirement | 2 |
|
|
104
|
+
| Adds acceptance coverage for both titles | 2 |
|
|
105
|
+
| Adds concise `## Change Log` | 2 |
|
|
106
|
+
|
|
107
|
+
Result: 10/10
|
|
108
|
+
|
|
109
|
+
### WSP-008
|
|
110
|
+
|
|
111
|
+
| Assertion | Final |
|
|
112
|
+
| --- | ---: |
|
|
113
|
+
| Creates `docs/specs/session-timeout-copy.md` | 2 |
|
|
114
|
+
| Uses shared decision context without re-interviewing | 2 |
|
|
115
|
+
| Includes compact durable artifact header | 2 |
|
|
116
|
+
| Does not add `## Change Log` | 2 |
|
|
117
|
+
| Keeps scope to session timeout copy | 2 |
|
|
118
|
+
|
|
119
|
+
Result: 10/10
|
|
120
|
+
|
|
121
|
+
## Evidence
|
|
122
|
+
|
|
123
|
+
Pre-change / first-run failures:
|
|
124
|
+
|
|
125
|
+
- `evals/runs/write-spec-4/wsp-004-current-with-skill-output.md`
|
|
126
|
+
- `evals/runs/write-spec-4/wsp-004-current-with-skill-output.diff`
|
|
127
|
+
- `evals/runs/write-spec-4/wsp-006-with-skill-output.md`
|
|
128
|
+
- `evals/runs/write-spec-4/wsp-006-with-skill-output.diff`
|
|
129
|
+
- `evals/runs/write-spec-4/wsp-007-with-skill-output.md`
|
|
130
|
+
- `evals/runs/write-spec-4/wsp-007-with-skill-output.diff`
|
|
131
|
+
|
|
132
|
+
Final with-skill outputs:
|
|
133
|
+
|
|
134
|
+
- `evals/runs/write-spec-4/wsp-004-with-skill-output.md`
|
|
135
|
+
- `evals/runs/write-spec-4/wsp-004-with-skill-output.diff`
|
|
136
|
+
- `evals/runs/write-spec-4/wsp-004-created-spec.md`
|
|
137
|
+
- `evals/runs/write-spec-4/wsp-005-with-skill-output.md`
|
|
138
|
+
- `evals/runs/write-spec-4/wsp-005-with-skill-output.diff`
|
|
139
|
+
- `evals/runs/write-spec-4/wsp-006-with-skill-fixed-output.md`
|
|
140
|
+
- `evals/runs/write-spec-4/wsp-006-with-skill-fixed-output.diff`
|
|
141
|
+
- `evals/runs/write-spec-4/wsp-007-with-skill-fixed-output.md`
|
|
142
|
+
- `evals/runs/write-spec-4/wsp-007-with-skill-fixed-output.diff`
|
|
143
|
+
- `evals/runs/write-spec-4/wsp-007-updated-spec.md`
|
|
144
|
+
- `evals/runs/write-spec-4/wsp-008-with-skill-output.md`
|
|
145
|
+
- `evals/runs/write-spec-4/wsp-008-with-skill-output.diff`
|
|
146
|
+
- `evals/runs/write-spec-4/wsp-008-created-spec.md`
|
|
147
|
+
|
|
148
|
+
## Read
|
|
149
|
+
|
|
150
|
+
The new reference earned its place: `WSP-004` and `WSP-008` both caused the agent to read `artifact-standards.md` and add compact headers.
|
|
151
|
+
|
|
152
|
+
Two rules needed to be promoted into `SKILL.md` because agents missed them when they were only in the reference:
|
|
153
|
+
|
|
154
|
+
- Strict-workflow high-risk specs with unknown owner/core decisions must stop instead of writing placeholders.
|
|
155
|
+
- Material revisions to existing durable specs need a concise changelog.
|
|
156
|
+
|
|
157
|
+
`WSP-005` and `WSP-008` are not lift-over-baseline proofs. They protect proportionality: no header pressure for conversation-mode answers, and no changelog on first creation.
|
|
158
|
+
|
|
159
|
+
## Recommendation
|
|
160
|
+
|
|
161
|
+
Keep the artifact standards reference and the two promoted hard rules.
|
|
162
|
+
|
|
163
|
+
Next useful batch can proceed after this lands:
|
|
164
|
+
|
|
165
|
+
- Artifact review can reference `write-spec/references/artifact-standards.md`.
|
|
166
|
+
- Decision destinations can cite the same standard for durable decision artifacts.
|
|
167
|
+
- Planning/review work should not copy the standard wholesale; cite it only where durable artifact identity matters.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Claude Harness Report 1
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-25
|
|
4
|
+
|
|
5
|
+
## Change
|
|
6
|
+
|
|
7
|
+
Added:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
evals/scripts/run-claude-fixture-eval.sh
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Updated:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
evals/scripts/run-fixture-eval-by-id.sh
|
|
17
|
+
evals/runbooks/fixture-eval-runbook.md
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Behavior
|
|
21
|
+
|
|
22
|
+
The ID runner now selects the fixture agent with:
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
FREEFLOW_FIXTURE_AGENT=codex
|
|
26
|
+
FREEFLOW_FIXTURE_AGENT=claude
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Default remains Codex.
|
|
30
|
+
|
|
31
|
+
Claude runner defaults:
|
|
32
|
+
|
|
33
|
+
- `baseline`: no plugin dir.
|
|
34
|
+
- `with-skill`: `--plugin-dir the repo root`.
|
|
35
|
+
- portable evals: `--bare`, `--no-session-persistence`, `--permission-mode dontAsk`, `--tools Read,Edit,Bash`, `--add-dir "$run_dir"`.
|
|
36
|
+
- host-memory evals: set `FREEFLOW_CLAUDE_BARE=0` so `CLAUDE.md` and imports are discoverable.
|
|
37
|
+
|
|
38
|
+
The runner saves final output, stderr, exit status, diff, and git metadata when the run fixture is a git repo.
|
|
39
|
+
|
|
40
|
+
## Dry-Run Evidence
|
|
41
|
+
|
|
42
|
+
Claude baseline resolution:
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
agent=claude
|
|
46
|
+
runner=.../run-claude-fixture-eval.sh
|
|
47
|
+
variant=baseline
|
|
48
|
+
plugin_dir=none
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Claude portable with-skill command construction:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
bare=1
|
|
55
|
+
plugin_dir=...
|
|
56
|
+
command=claude -p --no-session-persistence --permission-mode dontAsk --tools Read,Edit,Bash --add-dir ... --bare --plugin-dir ... <prompt>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Claude host-memory command construction:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
bare=0
|
|
63
|
+
plugin_dir=none
|
|
64
|
+
command=claude -p --no-session-persistence --permission-mode dontAsk --tools Read,Edit,Bash --add-dir ... <prompt>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Codex default still resolves to `run-codex-fixture-eval.sh`.
|
|
68
|
+
|
|
69
|
+
## Smoke Result
|
|
70
|
+
|
|
71
|
+
Attempted:
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
FREEFLOW_FIXTURE_AGENT=claude \
|
|
75
|
+
evals/scripts/run-fixture-eval-by-id.sh \
|
|
76
|
+
FX-004 baseline fx-004-claude-baseline evals/runs/fx-004-claude-baseline-output.md
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Result: blocked by local Claude auth.
|
|
80
|
+
|
|
81
|
+
Saved output:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
Not logged in · Please run /login
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Saved exit status:
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
1
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Diff was empty because the model did not run.
|
|
94
|
+
|
|
95
|
+
## Next
|
|
96
|
+
|
|
97
|
+
After Claude auth is available for the chosen mode, run one paired smoke:
|
|
98
|
+
|
|
99
|
+
- `FX-004 baseline`
|
|
100
|
+
- `FX-004 with-skill`
|
|
101
|
+
|
|
102
|
+
Then run one host-memory eval with `FREEFLOW_CLAUDE_BARE=0`, preferably `AON-001`, to verify `CLAUDE.md` import behavior.
|
|
103
|
+
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Freeflow Eval Harness Report - 1
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-25
|
|
4
|
+
|
|
5
|
+
## Question
|
|
6
|
+
|
|
7
|
+
Is the current fixture-eval method the best way to evaluate skills?
|
|
8
|
+
|
|
9
|
+
Answer: keep paired fixture evals, but make the harness cheaper before adding `evaluate-skill`.
|
|
10
|
+
|
|
11
|
+
## Change
|
|
12
|
+
|
|
13
|
+
Added:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
evals/scripts/run-fixture-eval-by-id.sh
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The script resolves evals from `registries/fixture-evals.json` and delegates to the existing Codex fixture runner.
|
|
20
|
+
|
|
21
|
+
Important behavior:
|
|
22
|
+
|
|
23
|
+
- `baseline` uses `baseline_fixture_root` when present.
|
|
24
|
+
- Other variants use `fixture_root`.
|
|
25
|
+
- `prompt_file` and inline `prompt` entries both work.
|
|
26
|
+
- `FREEFLOW_DRY_RUN=1` prints the resolved run without launching a nested model.
|
|
27
|
+
|
|
28
|
+
This makes `baseline_fixture_root` executable harness behavior instead of hand-written report convention.
|
|
29
|
+
|
|
30
|
+
## Dry-Run Evidence
|
|
31
|
+
|
|
32
|
+
`AON-001 baseline` resolves to the pre-setup fixture:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
fixture=.../evals/fixtures/tiny-saas-app
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
`AON-001 with-core` resolves to the post-setup fixture:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
fixture=.../evals/fixtures/tiny-post-setup-source-conflict-app
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
`FX-001 baseline` resolves its inline registry prompt without creating a dry-run temp file:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
prompt=<inline prompt from registry>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Evaluation Method Decision
|
|
51
|
+
|
|
52
|
+
The most token-efficient reliable pattern is:
|
|
53
|
+
|
|
54
|
+
1. Use dry-run to confirm fixture, prompt, variant, output path, and skills.
|
|
55
|
+
2. Run the smallest paired model eval that can expose the failure.
|
|
56
|
+
3. Grade file behavior from diffs and filesystem checks first.
|
|
57
|
+
4. Read final responses only for reasoning claims that diffs cannot prove.
|
|
58
|
+
5. Rerun only the failed side after skill wording changes.
|
|
59
|
+
|
|
60
|
+
Do not replace fixture evals with pure model judgment. That is cheaper at first but weaker: the model can miss actual file edits or believe polished final responses.
|
|
61
|
+
|
|
62
|
+
Do not use full transcript review by default. It is expensive and usually unnecessary once final response, diff, status, and targeted checks are saved.
|
|
63
|
+
|
|
64
|
+
## Claude Shape
|
|
65
|
+
|
|
66
|
+
For portable Claude skill/plugin evals:
|
|
67
|
+
|
|
68
|
+
```sh
|
|
69
|
+
claude -p \
|
|
70
|
+
--bare \
|
|
71
|
+
--no-session-persistence \
|
|
72
|
+
--permission-mode dontAsk \
|
|
73
|
+
--tools Read,Edit,Bash \
|
|
74
|
+
--add-dir "$run_dir" \
|
|
75
|
+
--plugin-dir the repo root \
|
|
76
|
+
"$prompt"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
For Claude host-memory evals, do not use `--bare`; it skips normal memory discovery. Use normal startup so `CLAUDE.md` and imports are tested.
|
|
80
|
+
|
|
81
|
+
## Recommendation For `evaluate-skill`
|
|
82
|
+
|
|
83
|
+
Teach the skill to turn real failures into fixture evals:
|
|
84
|
+
|
|
85
|
+
- Preserve the failing prompt.
|
|
86
|
+
- Build the smallest fixture that reproduces the wrong behavior.
|
|
87
|
+
- Add or update registry metadata.
|
|
88
|
+
- Dry-run the eval ID before spending model tokens.
|
|
89
|
+
- Run baseline versus with-skill.
|
|
90
|
+
- Prefer diff/assertion evidence over transcript interpretation.
|
|
91
|
+
- Tighten skill wording only after the failure is measured.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Freeflow Eval Report - Iteration 1
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-24
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Compared two subagent runs across the first five behavior evals:
|
|
8
|
+
|
|
9
|
+
- Baseline: no freeflow skill files provided.
|
|
10
|
+
- With skill: provided `mode-contract`, `workflow`, and `interview-gate`.
|
|
11
|
+
|
|
12
|
+
Eval cases:
|
|
13
|
+
|
|
14
|
+
- `WF-001` vague feature request
|
|
15
|
+
- `WF-002` conversation-mode quick analysis
|
|
16
|
+
- `WF-005` implementation reveals spec gap
|
|
17
|
+
- `WF-010` artifact as memory layer
|
|
18
|
+
- `WF-014` question vs action boundary
|
|
19
|
+
|
|
20
|
+
## Result
|
|
21
|
+
|
|
22
|
+
Both runs self-graded as full pass across all five evals.
|
|
23
|
+
|
|
24
|
+
This does not prove the skills are unnecessary. It shows the current prompts are too easy to separate good default agent behavior from skill-driven behavior.
|
|
25
|
+
|
|
26
|
+
## Observations
|
|
27
|
+
|
|
28
|
+
The with-skill run was more aligned with the intended vocabulary:
|
|
29
|
+
|
|
30
|
+
- Explicitly named `workflow mode`.
|
|
31
|
+
- Used `interview gate` language.
|
|
32
|
+
- Mentioned the three-mode contract.
|
|
33
|
+
- Linked handoff memory to the actual skill files.
|
|
34
|
+
- Framed user control more directly before edits.
|
|
35
|
+
|
|
36
|
+
The baseline run still behaved well:
|
|
37
|
+
|
|
38
|
+
- It paused before implementation.
|
|
39
|
+
- It asked one high-value question.
|
|
40
|
+
- It avoided unnecessary artifacts.
|
|
41
|
+
- It respected the question/action boundary.
|
|
42
|
+
|
|
43
|
+
## Main Finding
|
|
44
|
+
|
|
45
|
+
The first eval set is useful as a smoke test but weak as a differentiator.
|
|
46
|
+
|
|
47
|
+
It validates that the skill draft does not obviously damage behavior, but it does not yet demonstrate that the plugin improves behavior under realistic pressure.
|
|
48
|
+
|
|
49
|
+
## Eval Weaknesses
|
|
50
|
+
|
|
51
|
+
- The prompts telegraph the expected behavior too strongly.
|
|
52
|
+
- There is no repo fixture for "inspect before asking."
|
|
53
|
+
- There is no adversarial prompt that pressures the agent to act immediately.
|
|
54
|
+
- The grading was self-reported by each run, not independently graded.
|
|
55
|
+
- No timing/token data was available from the subagent notifications.
|
|
56
|
+
|
|
57
|
+
## Recommended Next Evals
|
|
58
|
+
|
|
59
|
+
Add harder cases before revising the skills:
|
|
60
|
+
|
|
61
|
+
- User says "just do it" while the task hides a product decision.
|
|
62
|
+
- User asks a planning question that sounds action-adjacent, like "what next?"
|
|
63
|
+
- Existing docs answer the question, testing inspect-before-asking.
|
|
64
|
+
- Review feedback is wrong or ambiguous, testing resistance to blind agreement.
|
|
65
|
+
- Small task should stay lightweight, testing artifact restraint.
|
|
66
|
+
|
|
67
|
+
## Decision
|
|
68
|
+
|
|
69
|
+
Do not change the three skill files based on this run.
|
|
70
|
+
|
|
71
|
+
Next step should be strengthening the eval set, then running a second pass with an independent grader or stricter rubric.
|