@hassangameryt/freeflow 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +4 -4
- package/.claude-plugin/plugin.json +5 -2
- package/.codex-plugin/plugin.json +8 -9
- package/README.md +190 -128
- package/assets/feedback-loop.png +0 -0
- package/assets/freeflow_workflow_map.png +0 -0
- package/assets/workflow.png +0 -0
- package/command-surface.json +51 -7
- package/hooks/freeflow-runtime-context.mjs +264 -136
- package/hooks/tests/check-runtime-context-hook.sh +223 -0
- package/package.json +23 -24
- package/pi-extension/dist/index.js +264 -80
- package/pi-extension/dist/integrations/mcp-config.js +29 -0
- package/pi-extension/dist/output-router/host-producer-identification.js +232 -0
- package/pi-extension/dist/output-router/native-safety-net.js +216 -0
- package/pi-extension/dist/output-router/observed-tool-routing.js +122 -0
- package/pi-extension/dist/output-router/renderers.js +1023 -0
- package/pi-extension/dist/output-router/router-tools.js +554 -0
- package/pi-extension/dist/output-router/schemas.js +383 -0
- package/pi-extension/dist/output-router/status.js +744 -0
- package/pi-extension/dist/output-router/utils.js +502 -0
- package/pi-extension/dist/runtime/runtime-context.js +798 -0
- package/pi-extension/dist/settings/settings-tui.js +314 -0
- package/pi-extension/dist/settings/settings-ui.js +1487 -0
- package/pi-extension/freeflow/index.js +1 -0
- package/pi-extension/src/index.ts +230 -56
- package/pi-extension/src/{host-producer-identification.ts → output-router/host-producer-identification.ts} +37 -7
- package/pi-extension/src/{native-safety-net.ts → output-router/native-safety-net.ts} +7 -11
- package/pi-extension/src/{observed-tool-routing.ts → output-router/observed-tool-routing.ts} +19 -11
- package/pi-extension/src/{renderers.ts → output-router/renderers.ts} +246 -55
- package/pi-extension/src/{router-tools.ts → output-router/router-tools.ts} +130 -29
- package/pi-extension/src/{schemas.ts → output-router/schemas.ts} +171 -43
- package/pi-extension/src/output-router/status.ts +791 -0
- package/pi-extension/src/{utils.ts → output-router/utils.ts} +80 -18
- package/pi-extension/src/runtime/runtime-context.ts +895 -0
- package/pi-extension/src/settings/settings-tui.ts +408 -0
- package/pi-extension/src/settings/settings-ui.ts +1730 -0
- package/pi-extension/tests/integration/pi-extension.test.js +4018 -0
- package/pi-extension/tests/output-router/observed-producers.test.js +132 -0
- package/pi-extension/tests/output-router/search.test.js +722 -0
- package/pi-extension/tests/settings/settings-tui.test.js +243 -0
- package/router/dist/benchmarks/benchmark-harness.d.ts +16 -13
- package/router/dist/benchmarks/benchmark-harness.js +62 -62
- package/router/dist/benchmarks/benchmarks.d.ts +80 -73
- package/router/dist/benchmarks/benchmarks.js +860 -761
- package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +71 -67
- package/router/dist/benchmarks/codex-qa-benchmarks.js +429 -390
- package/router/dist/benchmarks/command-benchmarks.d.ts +107 -92
- package/router/dist/benchmarks/command-benchmarks.js +616 -571
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +64 -56
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +679 -613
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +103 -95
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +1188 -1103
- package/router/dist/benchmarks/context-saving-baseline.d.ts +47 -41
- package/router/dist/benchmarks/context-saving-baseline.js +405 -374
- package/router/dist/benchmarks/index-benchmarks.d.ts +74 -69
- package/router/dist/benchmarks/index-benchmarks.js +761 -661
- package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +80 -69
- package/router/dist/benchmarks/storage-policy-benchmarks.js +549 -469
- package/router/dist/benchmarks/vault-index-benchmarks.d.ts +43 -34
- package/router/dist/benchmarks/vault-index-benchmarks.js +294 -229
- package/router/dist/config/config.d.ts +61 -54
- package/router/dist/config/config.js +551 -372
- package/router/dist/config/router-contract.d.ts +2 -2
- package/router/dist/config/router-contract.js +38 -38
- package/router/dist/config/schema.d.ts +19 -10
- package/router/dist/config/schema.js +586 -538
- package/router/dist/config/types.d.ts +413 -361
- package/router/dist/config/types.js +19 -8
- package/router/dist/evidence/bounded-evidence.d.ts +26 -26
- package/router/dist/evidence/bounded-evidence.js +265 -252
- package/router/dist/evidence/evidence-range-selector.d.ts +16 -14
- package/router/dist/evidence/evidence-range-selector.js +192 -191
- package/router/dist/evidence/evidence-search.d.ts +18 -16
- package/router/dist/evidence/evidence-search.js +401 -377
- package/router/dist/evidence/evidence.d.ts +17 -17
- package/router/dist/evidence/evidence.js +163 -159
- package/router/dist/evidence/failure-contracts.d.ts +25 -15
- package/router/dist/evidence/failure-contracts.js +132 -126
- package/router/dist/evidence/line-ranges.d.ts +17 -15
- package/router/dist/evidence/line-ranges.js +18 -18
- package/router/dist/experiments/local-index.d.ts +47 -41
- package/router/dist/experiments/local-index.js +477 -458
- package/router/dist/local/local-traversal.d.ts +18 -0
- package/router/dist/local/local-traversal.js +334 -0
- package/router/dist/processing/engine.d.ts +94 -70
- package/router/dist/processing/engine.js +462 -364
- package/router/dist/processing/reducers.d.ts +208 -194
- package/router/dist/processing/reducers.js +1434 -1256
- package/router/dist/processing/renderers.d.ts +24 -18
- package/router/dist/processing/renderers.js +161 -152
- package/router/dist/processing/scripts.d.ts +80 -67
- package/router/dist/processing/scripts.js +343 -290
- package/router/dist/repo/repo-traversal.d.ts +9 -9
- package/router/dist/repo/repo-traversal.js +205 -202
- package/router/dist/routing/observed-reducers.d.ts +25 -19
- package/router/dist/routing/observed-reducers.js +559 -545
- package/router/dist/routing/observed-routing.d.ts +23 -14
- package/router/dist/routing/observed-routing.js +319 -318
- package/router/dist/routing/parsers.d.ts +10 -10
- package/router/dist/routing/parsers.js +454 -406
- package/router/dist/routing/run-filters.d.ts +45 -41
- package/router/dist/routing/run-filters.js +215 -207
- package/router/dist/routing/run-reducers.d.ts +45 -26
- package/router/dist/routing/run-reducers.js +102 -90
- package/router/dist/sandbox/adapter-roots.d.ts +34 -26
- package/router/dist/sandbox/adapter-roots.js +43 -41
- package/router/dist/sandbox/eryx-python-adapter.d.ts +9 -5
- package/router/dist/sandbox/eryx-python-adapter.js +659 -588
- package/router/dist/sandbox/jq-wasm-adapter.d.ts +3 -3
- package/router/dist/sandbox/jq-wasm-adapter.js +319 -311
- package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +9 -5
- package/router/dist/sandbox/quickjs-wasi-adapter.js +336 -333
- package/router/dist/sandbox/script-sandbox.d.ts +105 -84
- package/router/dist/sandbox/script-sandbox.js +294 -260
- package/router/dist/setup/script-transform-adapters.d.ts +23 -19
- package/router/dist/setup/script-transform-adapters.js +223 -204
- package/router/dist/tools/batch.d.ts +27 -16
- package/router/dist/tools/batch.js +493 -416
- package/router/dist/tools/run.d.ts +47 -35
- package/router/dist/tools/run.js +1171 -1086
- package/router/dist/tools/search.d.ts +53 -31
- package/router/dist/tools/search.js +1224 -1065
- package/router/dist/transform/engine.d.ts +121 -96
- package/router/dist/transform/engine.js +1853 -1736
- package/router/dist/vault/vault-index.d.ts +97 -78
- package/router/dist/vault/vault-index.js +347 -342
- package/router/dist/vault/vault.d.ts +109 -74
- package/router/dist/vault/vault.js +528 -533
- package/runtime/interaction-contract.md +16 -0
- package/skills/bypass/SKILL.md +52 -38
- package/skills/commit-work/SKILL.md +54 -46
- package/skills/commit-work/references/staging-decisions.md +46 -24
- package/skills/decision-gate/SKILL.md +48 -0
- package/skills/design-for-depth/SKILL.md +75 -59
- package/skills/design-for-depth/references/design-pressure-signals.md +56 -7
- package/skills/design-for-depth/references/interface-design-loop.md +156 -0
- package/skills/design-for-depth/references/software-design-philosophy.md +32 -3
- package/skills/diagnose-failure/SKILL.md +65 -60
- package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +36 -0
- package/skills/diagnose-failure/references/flaky-and-performance.md +30 -18
- package/skills/discuss/SKILL.md +121 -0
- package/skills/discuss/references/checkpoints.md +66 -0
- package/skills/evaluate-skill/SKILL.md +62 -53
- package/skills/evaluate-skill/references/definition-schema.md +345 -0
- package/skills/evaluate-skill/references/evaluation-design.md +86 -0
- package/skills/evaluate-skill/references/execution-and-evidence.md +85 -0
- package/skills/evaluate-skill/references/review-and-revision.md +51 -0
- package/skills/evaluate-skill/scripts/lib/definitions.mjs +296 -0
- package/skills/evaluate-skill/scripts/lib/evidence.mjs +46 -0
- package/skills/evaluate-skill/scripts/lib/grade-comparison.mjs +60 -0
- package/skills/evaluate-skill/scripts/lib/grade-interaction.mjs +148 -0
- package/skills/evaluate-skill/scripts/lib/grade-support.mjs +126 -0
- package/skills/evaluate-skill/scripts/lib/grade-workspace.mjs +192 -0
- package/skills/evaluate-skill/scripts/lib/grade.mjs +56 -0
- package/skills/evaluate-skill/scripts/lib/pi.mjs +489 -0
- package/skills/evaluate-skill/scripts/lib/process.mjs +79 -0
- package/skills/evaluate-skill/scripts/lib/rpc.mjs +444 -0
- package/skills/evaluate-skill/scripts/lib/runner.mjs +346 -0
- package/skills/evaluate-skill/scripts/lib/sandbox.mjs +409 -0
- package/skills/evaluate-skill/scripts/lib/view.mjs +337 -0
- package/skills/evaluate-skill/scripts/pi-guard.mjs +164 -0
- package/skills/evaluate-skill/scripts/skill-eval.mjs +101 -0
- package/skills/execute-work/SKILL.md +99 -0
- package/skills/execute-work/references/code-practices.md +78 -0
- package/skills/execute-work/references/execution-loop.md +77 -0
- package/skills/finish-branch/SKILL.md +117 -0
- package/skills/finish-branch/references/integration-options.md +80 -0
- package/skills/handoff/SKILL.md +65 -39
- package/skills/handoff/references/templates.md +104 -27
- package/skills/launch-work/SKILL.md +116 -0
- package/skills/launch-work/references/launch-readiness.md +85 -0
- package/skills/migration-work/SKILL.md +115 -0
- package/skills/migration-work/references/migration-lifecycle.md +82 -0
- package/skills/mode-contract/SKILL.md +50 -52
- package/skills/output-router/SKILL.md +21 -17
- package/skills/output-router/references/safety-policy.md +1 -1
- package/skills/release-work/SKILL.md +118 -0
- package/skills/release-work/references/release-evidence.md +78 -0
- package/skills/review-artifact/SKILL.md +77 -69
- package/skills/review-artifact/references/reviewer-prompt.md +133 -42
- package/skills/review-work/SKILL.md +82 -57
- package/skills/review-work/references/reviewer-prompt.md +97 -60
- package/skills/review-work/references/security-risk-lens.md +67 -0
- package/skills/setup-freeflow/SKILL.md +58 -66
- package/skills/setup-freeflow/references/activation-contract.md +89 -69
- package/skills/setup-freeflow/references/host-setup.md +54 -17
- package/skills/setup-freeflow/references/output-router-setup.md +62 -54
- package/skills/simplify-code/SKILL.md +80 -0
- package/skills/simplify-code/references/simplification-patterns.md +70 -0
- package/skills/tdd/SKILL.md +96 -0
- package/skills/tdd/references/test-design.md +96 -0
- package/skills/track-work/SKILL.md +84 -0
- package/skills/track-work/references/working-record-schema.md +378 -0
- package/skills/verify-work/SKILL.md +59 -38
- package/skills/verify-work/references/browser-runtime-evidence.md +55 -0
- package/skills/verify-work/references/integration-evidence.md +51 -0
- package/skills/verify-work/references/performance-evidence.md +57 -0
- package/skills/workflow/SKILL.md +53 -59
- package/skills/workflow/references/domain-skill-composition.md +57 -0
- package/skills/workflow/references/workflow-loop.md +92 -0
- package/skills/write-plan/SKILL.md +85 -58
- package/skills/write-plan/references/plan-shapes.md +132 -46
- package/skills/write-skill/SKILL.md +82 -51
- package/skills/write-skill/references/activation-boundaries.md +62 -0
- package/skills/write-skill/references/agent-first-instructions.md +87 -0
- package/skills/write-skill/references/progressive-disclosure.md +63 -0
- package/skills/write-skill/scripts/lib/skill-author.mjs +653 -0
- package/skills/write-skill/scripts/skill-author.mjs +104 -0
- package/skills/write-spec/SKILL.md +65 -54
- package/skills/write-spec/references/artifact-standards.md +60 -41
- package/skills/write-spec/references/decision-records.md +77 -0
- package/skills/write-spec/references/spec-shapes.md +119 -60
- package/evals/README.md +0 -32
- package/evals/fixtures/copy-conventions.md +0 -31
- package/evals/fixtures/output-router/README.md +0 -12
- package/evals/fixtures/output-router/failed-command-output.txt +0 -9
- package/evals/fixtures/output-router/large-router-manual.md +0 -63
- package/evals/fixtures/output-router/native-large-output.txt +0 -40
- package/evals/fixtures/output-router/noisy-test-output.txt +0 -30
- package/evals/fixtures/output-router/verification-output.txt +0 -8
- package/evals/fixtures/tiny-artifact-review-app/README.md +0 -5
- package/evals/fixtures/tiny-artifact-review-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-artifact-review-app/docs/specs/billing-webhook-api-draft.md +0 -21
- package/evals/fixtures/tiny-artifact-review-app/docs/specs/failed-payment-grace-period.md +0 -24
- package/evals/fixtures/tiny-artifact-review-app/docs/specs/immediate-downgrade.md +0 -17
- package/evals/fixtures/tiny-artifact-review-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-commit-ambiguous-app/.freeflow-eval-setup.sh +0 -15
- package/evals/fixtures/tiny-commit-ambiguous-app/README.md +0 -3
- package/evals/fixtures/tiny-commit-ambiguous-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-commit-ambiguous-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-commit-ambiguous-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-commit-app/.freeflow-eval-setup.sh +0 -14
- package/evals/fixtures/tiny-commit-app/README.md +0 -3
- package/evals/fixtures/tiny-commit-app/docs/specs/settings-title.md +0 -5
- package/evals/fixtures/tiny-commit-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-commit-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-commit-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-commit-everything-app/.freeflow-eval-setup.sh +0 -15
- package/evals/fixtures/tiny-commit-everything-app/README.md +0 -3
- package/evals/fixtures/tiny-commit-everything-app/docs/specs/settings-title.md +0 -5
- package/evals/fixtures/tiny-commit-everything-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-commit-everything-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-commit-everything-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-commit-staged-app/.freeflow-eval-setup.sh +0 -15
- package/evals/fixtures/tiny-commit-staged-app/README.md +0 -3
- package/evals/fixtures/tiny-commit-staged-app/docs/specs/settings-title.md +0 -5
- package/evals/fixtures/tiny-commit-staged-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-commit-staged-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-commit-staged-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-commit-staged-mixed-app/.freeflow-eval-setup.sh +0 -15
- package/evals/fixtures/tiny-commit-staged-mixed-app/README.md +0 -3
- package/evals/fixtures/tiny-commit-staged-mixed-app/docs/billing-policy.md +0 -3
- package/evals/fixtures/tiny-commit-staged-mixed-app/docs/release-notes.md +0 -3
- package/evals/fixtures/tiny-commit-staged-mixed-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-dashboard-stale-app/README.md +0 -11
- package/evals/fixtures/tiny-dashboard-stale-app/src/api-client.ts +0 -13
- package/evals/fixtures/tiny-dashboard-stale-app/src/dashboard-data.ts +0 -19
- package/evals/fixtures/tiny-dashboard-stale-app/tests/dashboard-data.test.md +0 -9
- package/evals/fixtures/tiny-decision-destination-app/README.md +0 -6
- package/evals/fixtures/tiny-decision-destination-app/src/risk.ts +0 -8
- package/evals/fixtures/tiny-decision-destination-app/tests/risk.test.md +0 -4
- package/evals/fixtures/tiny-design-depth-app/README.md +0 -15
- package/evals/fixtures/tiny-design-depth-app/src/routes.ts +0 -25
- package/evals/fixtures/tiny-design-depth-app/src/sendEmail.ts +0 -3
- package/evals/fixtures/tiny-design-depth-app/src/sendSms.ts +0 -3
- package/evals/fixtures/tiny-design-depth-app/src/telemetry.ts +0 -3
- package/evals/fixtures/tiny-design-depth-app/tests/routes.test.md +0 -12
- package/evals/fixtures/tiny-eval-method-app/README.md +0 -8
- package/evals/fixtures/tiny-eval-method-app/evals/reports/review-pr-eval-result.md +0 -5
- package/evals/fixtures/tiny-eval-method-app/evals/reports/triage-question-failure.md +0 -17
- package/evals/fixtures/tiny-eval-method-app/evals/runs/review-pr-with-skill-output.diff +0 -11
- package/evals/fixtures/tiny-eval-method-app/evals/runs/review-pr-with-skill-output.md +0 -3
- package/evals/fixtures/tiny-eval-method-app/skills/review-pr/SKILL.md +0 -10
- package/evals/fixtures/tiny-eval-method-app/skills/triage-question/SKILL.md +0 -10
- package/evals/fixtures/tiny-execute-plan-app/README.md +0 -5
- package/evals/fixtures/tiny-execute-plan-app/checks/settings-and-billing-check.sh +0 -5
- package/evals/fixtures/tiny-execute-plan-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/immediate-downgrade-plan.md +0 -11
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/settings-title-plan.md +0 -12
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/settings-title-with-bad-check.md +0 -15
- package/evals/fixtures/tiny-execute-plan-app/docs/plans/unverified-billing-plan.md +0 -9
- package/evals/fixtures/tiny-execute-plan-app/docs/specs/failed-payment-grace-period.md +0 -9
- package/evals/fixtures/tiny-execute-plan-app/docs/specs/settings-title.md +0 -9
- package/evals/fixtures/tiny-execute-plan-app/src/billing.ts +0 -7
- package/evals/fixtures/tiny-execute-plan-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-execute-plan-app/tests/billing.test.md +0 -7
- package/evals/fixtures/tiny-execute-plan-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-execute-review-loop-app/README.md +0 -5
- package/evals/fixtures/tiny-execute-review-loop-app/docs/billing-policy.md +0 -9
- package/evals/fixtures/tiny-execute-review-loop-app/docs/plans/settings-title-plan.md +0 -12
- package/evals/fixtures/tiny-execute-review-loop-app/docs/review/previous-agent-summary.md +0 -15
- package/evals/fixtures/tiny-execute-review-loop-app/docs/review/review-pass-1-non-pass.md +0 -11
- package/evals/fixtures/tiny-execute-review-loop-app/docs/specs/settings-title.md +0 -9
- package/evals/fixtures/tiny-execute-review-loop-app/src/billing.ts +0 -7
- package/evals/fixtures/tiny-execute-review-loop-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-execute-review-loop-app/tests/billing.test.md +0 -7
- package/evals/fixtures/tiny-execute-review-loop-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-flaky-session-app/README.md +0 -10
- package/evals/fixtures/tiny-flaky-session-app/src/session-timeout.ts +0 -13
- package/evals/fixtures/tiny-flaky-session-app/tests/session-timeout.test.md +0 -8
- package/evals/fixtures/tiny-handoff-app/README.md +0 -5
- package/evals/fixtures/tiny-handoff-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-handoff-app/docs/handoffs/old-agent-handoff.md +0 -8
- package/evals/fixtures/tiny-handoff-app/docs/plans/billing-retry-plan.md +0 -11
- package/evals/fixtures/tiny-handoff-app/src/billing.ts +0 -7
- package/evals/fixtures/tiny-handoff-report-app/README.md +0 -3
- package/evals/fixtures/tiny-handoff-report-app/evals/runs/handoff-3/hof-003/with-skill-output.diff +0 -1
- package/evals/fixtures/tiny-handoff-report-app/evals/runs/handoff-3/hof-003/with-skill-output.md +0 -1
- package/evals/fixtures/tiny-handoff-report-app/evals/scores/hof-003-score.txt +0 -4
- package/evals/fixtures/tiny-plan-app/README.md +0 -5
- package/evals/fixtures/tiny-plan-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-plan-app/docs/specs/failed-payment-grace-period.md +0 -25
- package/evals/fixtures/tiny-plan-app/src/billing.ts +0 -17
- package/evals/fixtures/tiny-plan-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-plan-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-plan-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-plan-strict-api-app/README.md +0 -3
- package/evals/fixtures/tiny-plan-strict-api-app/docs/billing-policy.md +0 -5
- package/evals/fixtures/tiny-plan-strict-api-app/docs/specs/billing-webhook-api.md +0 -25
- package/evals/fixtures/tiny-plan-strict-api-app/src/billing.ts +0 -5
- package/evals/fixtures/tiny-plan-strict-api-app/src/webhooks.ts +0 -3
- package/evals/fixtures/tiny-plan-strict-api-app/tests/billing-webhook.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-invalid-config-app/.freeflow/config.json +0 -3
- package/evals/fixtures/tiny-post-setup-invalid-config-app/AGENTS.md +0 -15
- package/evals/fixtures/tiny-post-setup-invalid-config-app/README.md +0 -16
- package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/auth-review.md +0 -15
- package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/copy-conventions.md +0 -15
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/auth-middleware.ts +0 -12
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/billing.ts +0 -20
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/login-copy.ts +0 -1
- package/evals/fixtures/tiny-post-setup-invalid-config-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/auth-middleware.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/copy.test.md +0 -7
- package/evals/fixtures/tiny-post-setup-missing-config-app/AGENTS.md +0 -15
- package/evals/fixtures/tiny-post-setup-missing-config-app/README.md +0 -16
- package/evals/fixtures/tiny-post-setup-missing-config-app/docs/auth-review.md +0 -15
- package/evals/fixtures/tiny-post-setup-missing-config-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-post-setup-missing-config-app/docs/copy-conventions.md +0 -15
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/auth-middleware.ts +0 -12
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/billing.ts +0 -20
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/login-copy.ts +0 -1
- package/evals/fixtures/tiny-post-setup-missing-config-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-post-setup-missing-config-app/tests/auth-middleware.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-missing-config-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-missing-config-app/tests/copy.test.md +0 -7
- package/evals/fixtures/tiny-post-setup-source-conflict-app/.freeflow/config.json +0 -3
- package/evals/fixtures/tiny-post-setup-source-conflict-app/AGENTS.md +0 -15
- package/evals/fixtures/tiny-post-setup-source-conflict-app/README.md +0 -16
- package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/auth-review.md +0 -15
- package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/copy-conventions.md +0 -15
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/auth-middleware.ts +0 -12
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/billing.ts +0 -20
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/login-copy.ts +0 -1
- package/evals/fixtures/tiny-post-setup-source-conflict-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/auth-middleware.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/copy.test.md +0 -7
- package/evals/fixtures/tiny-report-performance-app/README.md +0 -11
- package/evals/fixtures/tiny-report-performance-app/docs/performance.md +0 -10
- package/evals/fixtures/tiny-report-performance-app/src/report-summary.ts +0 -29
- package/evals/fixtures/tiny-report-performance-app/tests/report-performance.test.md +0 -8
- package/evals/fixtures/tiny-review-request-app/README.md +0 -3
- package/evals/fixtures/tiny-review-request-app/docs/billing-policy.md +0 -5
- package/evals/fixtures/tiny-review-request-app/docs/plans/billing-webhook-api.md +0 -19
- package/evals/fixtures/tiny-review-request-app/docs/review/previous-agent-summary.md +0 -20
- package/evals/fixtures/tiny-review-request-app/docs/specs/billing-webhook-api.md +0 -25
- package/evals/fixtures/tiny-review-request-app/src/billing.ts +0 -11
- package/evals/fixtures/tiny-review-request-app/src/webhooks.ts +0 -19
- package/evals/fixtures/tiny-review-request-app/tests/billing-webhook.test.md +0 -8
- package/evals/fixtures/tiny-review-work-app/README.md +0 -5
- package/evals/fixtures/tiny-review-work-app/docs/billing-policy.md +0 -9
- package/evals/fixtures/tiny-review-work-app/docs/plans/settings-title-plan.md +0 -12
- package/evals/fixtures/tiny-review-work-app/docs/review/previous-agent-summary.md +0 -15
- package/evals/fixtures/tiny-review-work-app/docs/specs/settings-title.md +0 -9
- package/evals/fixtures/tiny-review-work-app/src/billing.ts +0 -7
- package/evals/fixtures/tiny-review-work-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-review-work-app/tests/billing.test.md +0 -7
- package/evals/fixtures/tiny-review-work-app/tests/settings.test.md +0 -5
- package/evals/fixtures/tiny-saas-app/README.md +0 -16
- package/evals/fixtures/tiny-saas-app/docs/auth-review.md +0 -15
- package/evals/fixtures/tiny-saas-app/docs/billing-policy.md +0 -10
- package/evals/fixtures/tiny-saas-app/docs/copy-conventions.md +0 -15
- package/evals/fixtures/tiny-saas-app/docs/specs/settings-title.md +0 -13
- package/evals/fixtures/tiny-saas-app/src/auth-middleware.ts +0 -12
- package/evals/fixtures/tiny-saas-app/src/billing.ts +0 -20
- package/evals/fixtures/tiny-saas-app/src/login-copy.ts +0 -1
- package/evals/fixtures/tiny-saas-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-saas-app/tests/auth-middleware.test.md +0 -8
- package/evals/fixtures/tiny-saas-app/tests/billing.test.md +0 -8
- package/evals/fixtures/tiny-saas-app/tests/copy.test.md +0 -7
- package/evals/fixtures/tiny-setup-agents-app/AGENTS.md +0 -6
- package/evals/fixtures/tiny-setup-both-app/AGENTS.md +0 -5
- package/evals/fixtures/tiny-setup-both-app/CLAUDE.md +0 -5
- package/evals/fixtures/tiny-setup-claude-app/CLAUDE.md +0 -6
- package/evals/fixtures/tiny-setup-codex-rules-app/.codex/rules/shell.rules +0 -5
- package/evals/fixtures/tiny-setup-codex-rules-app/AGENTS.md +0 -6
- package/evals/fixtures/tiny-setup-conflict-app/AGENTS.md +0 -6
- package/evals/fixtures/tiny-setup-existing-block-app/AGENTS.md +0 -14
- package/evals/fixtures/tiny-setup-four-rules-app/CLAUDE.md +0 -6
- package/evals/fixtures/tiny-skill-dev-app/README.md +0 -10
- package/evals/fixtures/tiny-skill-dev-app/evals/prompts/review-pr-001.txt +0 -8
- package/evals/fixtures/tiny-skill-dev-app/evals/reports/review-pr-failure.md +0 -17
- package/evals/fixtures/tiny-skill-dev-app/skills/review-pr/SKILL.md +0 -13
- package/evals/fixtures/tiny-team-app/README.md +0 -5
- package/evals/fixtures/tiny-team-app/docs/product.md +0 -6
- package/evals/fixtures/tiny-team-app/src/teams.ts +0 -9
- package/evals/fixtures/tiny-team-app/src/users.ts +0 -5
- package/evals/fixtures/tiny-team-app/tests/teams.test.md +0 -7
- package/evals/fixtures/tiny-verify-app/README.md +0 -5
- package/evals/fixtures/tiny-verify-app/src/settings-nav.ts +0 -1
- package/evals/fixtures/tiny-verify-app/src/settings-page.ts +0 -1
- package/evals/fixtures/tiny-verify-app/tests/settings.test.md +0 -7
- package/evals/prompts/aon-001.txt +0 -2
- package/evals/prompts/byp-001.txt +0 -2
- package/evals/prompts/byp-002.txt +0 -2
- package/evals/prompts/cap-001.txt +0 -3
- package/evals/prompts/cap-002.txt +0 -3
- package/evals/prompts/cmd-001.txt +0 -3
- package/evals/prompts/cmd-002.txt +0 -3
- package/evals/prompts/cmd-003.txt +0 -6
- package/evals/prompts/cmd-004.txt +0 -5
- package/evals/prompts/cmd-005.txt +0 -5
- package/evals/prompts/cmd-006.txt +0 -5
- package/evals/prompts/cmd-007.txt +0 -5
- package/evals/prompts/cmd-008.txt +0 -5
- package/evals/prompts/cmd-009.txt +0 -8
- package/evals/prompts/cmd-010.txt +0 -5
- package/evals/prompts/cmd-011.txt +0 -5
- package/evals/prompts/cmd-012.txt +0 -5
- package/evals/prompts/cmd-013.txt +0 -5
- package/evals/prompts/cmd-014.txt +0 -7
- package/evals/prompts/cmd-015.txt +0 -7
- package/evals/prompts/cmd-016.txt +0 -5
- package/evals/prompts/cmt-001.txt +0 -1
- package/evals/prompts/cmt-002.txt +0 -1
- package/evals/prompts/cmt-003.txt +0 -1
- package/evals/prompts/cmt-004.txt +0 -1
- package/evals/prompts/cmt-005.txt +0 -1
- package/evals/prompts/dfd-001.txt +0 -3
- package/evals/prompts/dia-001.txt +0 -3
- package/evals/prompts/dia-002.txt +0 -3
- package/evals/prompts/dia-003.txt +0 -3
- package/evals/prompts/dis-001.txt +0 -5
- package/evals/prompts/dis-002.txt +0 -5
- package/evals/prompts/esk-001.txt +0 -5
- package/evals/prompts/esk-002.txt +0 -5
- package/evals/prompts/esk-003.txt +0 -5
- package/evals/prompts/grc-001.txt +0 -3
- package/evals/prompts/hof-001.txt +0 -3
- package/evals/prompts/hof-002.txt +0 -1
- package/evals/prompts/hof-003.txt +0 -1
- package/evals/prompts/hof-004.txt +0 -1
- package/evals/prompts/hof-005.txt +0 -1
- package/evals/prompts/ivg-001.txt +0 -1
- package/evals/prompts/ivg-002.txt +0 -11
- package/evals/prompts/ivg-003.txt +0 -1
- package/evals/prompts/ivg-004.txt +0 -1
- package/evals/prompts/mode-001.txt +0 -3
- package/evals/prompts/mode-002.txt +0 -1
- package/evals/prompts/mode-003.txt +0 -3
- package/evals/prompts/mode-004.txt +0 -3
- package/evals/prompts/mode-005.txt +0 -3
- package/evals/prompts/mode-006.txt +0 -3
- package/evals/prompts/mode-007.txt +0 -3
- package/evals/prompts/otr-001.txt +0 -3
- package/evals/prompts/otr-002.txt +0 -3
- package/evals/prompts/rar-001.txt +0 -5
- package/evals/prompts/rar-002.txt +0 -3
- package/evals/prompts/rar-003.txt +0 -6
- package/evals/prompts/rar-004.txt +0 -15
- package/evals/prompts/rar-005.txt +0 -10
- package/evals/prompts/rbr-001.txt +0 -3
- package/evals/prompts/rbr-002.txt +0 -3
- package/evals/prompts/rbr-003.txt +0 -7
- package/evals/prompts/rev-001.txt +0 -3
- package/evals/prompts/rev-002.txt +0 -5
- package/evals/prompts/rev-003.txt +0 -6
- package/evals/prompts/rev-004.txt +0 -1
- package/evals/prompts/rev-005.txt +0 -15
- package/evals/prompts/rev-006.txt +0 -5
- package/evals/prompts/stp-001.txt +0 -1
- package/evals/prompts/stp-002.txt +0 -1
- package/evals/prompts/stp-003.txt +0 -1
- package/evals/prompts/stp-004.txt +0 -1
- package/evals/prompts/stp-005.txt +0 -1
- package/evals/prompts/stp-006.txt +0 -1
- package/evals/prompts/stp-007.txt +0 -1
- package/evals/prompts/stp-008.txt +0 -1
- package/evals/prompts/stp-009.txt +0 -1
- package/evals/prompts/stp-010.txt +0 -1
- package/evals/prompts/stp-011.txt +0 -1
- package/evals/prompts/vfy-003.txt +0 -1
- package/evals/prompts/wpl-001.txt +0 -3
- package/evals/prompts/wpl-002.txt +0 -5
- package/evals/prompts/wpl-003.txt +0 -3
- package/evals/prompts/wpl-004.txt +0 -5
- package/evals/prompts/wpl-005.txt +0 -1
- package/evals/prompts/wrc-001.txt +0 -10
- package/evals/prompts/wrc-002.txt +0 -3
- package/evals/prompts/wsk-001.txt +0 -6
- package/evals/prompts/wsp-001.txt +0 -5
- package/evals/prompts/wsp-002.txt +0 -15
- package/evals/prompts/wsp-003.txt +0 -3
- package/evals/prompts/wsp-004.txt +0 -15
- package/evals/prompts/wsp-005.txt +0 -5
- package/evals/prompts/wsp-006.txt +0 -12
- package/evals/prompts/wsp-007.txt +0 -9
- package/evals/prompts/wsp-008.txt +0 -13
- package/evals/prompts/xpl-001.txt +0 -1
- package/evals/prompts/xpl-002.txt +0 -3
- package/evals/prompts/xpl-003.txt +0 -3
- package/evals/prompts/xpl-004.txt +0 -3
- package/evals/prompts/xpl-005.txt +0 -5
- package/evals/prompts/xpl-006.txt +0 -3
- package/evals/registries/adversarial-evals.json +0 -39
- package/evals/registries/fixture-evals.json +0 -2513
- package/evals/registries/handoff-evals.json +0 -74
- package/evals/registries/legacy-evals.json +0 -147
- package/evals/registries/skill-evidence.json +0 -193
- package/evals/registries/verify-work-evals.json +0 -46
- package/evals/reports/acceptance/v0.1-acceptance-report.md +0 -130
- package/evals/reports/by-command-surface/command-surface-1-report.md +0 -45
- package/evals/reports/by-command-surface/command-surface-10-report.md +0 -76
- package/evals/reports/by-command-surface/command-surface-11-report.md +0 -77
- package/evals/reports/by-command-surface/command-surface-12-report.md +0 -91
- package/evals/reports/by-command-surface/command-surface-13-report.md +0 -64
- package/evals/reports/by-command-surface/command-surface-14-report.md +0 -66
- package/evals/reports/by-command-surface/command-surface-15-report.md +0 -124
- package/evals/reports/by-command-surface/command-surface-16-report.md +0 -39
- package/evals/reports/by-command-surface/command-surface-2-report.md +0 -80
- package/evals/reports/by-command-surface/command-surface-3-report.md +0 -86
- package/evals/reports/by-command-surface/command-surface-4-report.md +0 -76
- package/evals/reports/by-command-surface/command-surface-5-report.md +0 -80
- package/evals/reports/by-command-surface/command-surface-6-report.md +0 -74
- package/evals/reports/by-command-surface/command-surface-7-report.md +0 -84
- package/evals/reports/by-command-surface/command-surface-8-report.md +0 -79
- package/evals/reports/by-command-surface/command-surface-9-report.md +0 -79
- package/evals/reports/by-command-surface/command-surface-matrix.md +0 -91
- package/evals/reports/by-skill/bypass-1-report.md +0 -124
- package/evals/reports/by-skill/capture-decisions-1-report.md +0 -99
- package/evals/reports/by-skill/capture-decisions-2-report.md +0 -102
- package/evals/reports/by-skill/commit-work-1-report.md +0 -165
- package/evals/reports/by-skill/commit-work-2-report.md +0 -109
- package/evals/reports/by-skill/design-for-depth-1-report.md +0 -95
- package/evals/reports/by-skill/diagnose-failure-1-report.md +0 -91
- package/evals/reports/by-skill/diagnose-failure-2-report.md +0 -94
- package/evals/reports/by-skill/discover-1-report.md +0 -118
- package/evals/reports/by-skill/evaluate-skill-2-report.md +0 -71
- package/evals/reports/by-skill/execute-plan-1-report.md +0 -103
- package/evals/reports/by-skill/execute-plan-2-report.md +0 -112
- package/evals/reports/by-skill/execute-plan-3-report.md +0 -87
- package/evals/reports/by-skill/grill-context-1-report.md +0 -103
- package/evals/reports/by-skill/handoff-1-report.md +0 -123
- package/evals/reports/by-skill/handoff-2-report.md +0 -105
- package/evals/reports/by-skill/handoff-3-report.md +0 -100
- package/evals/reports/by-skill/handoff-7-report.md +0 -77
- package/evals/reports/by-skill/interview-gate-1-report.md +0 -63
- package/evals/reports/by-skill/interview-gate-2-report.md +0 -105
- package/evals/reports/by-skill/mode-contract-1-report.md +0 -74
- package/evals/reports/by-skill/mode-contract-2-report.md +0 -87
- package/evals/reports/by-skill/mode-contract-3-report.md +0 -65
- package/evals/reports/by-skill/mode-contract-4-report.md +0 -71
- package/evals/reports/by-skill/mode-contract-5-report.md +0 -70
- package/evals/reports/by-skill/output-router-1-report.md +0 -76
- package/evals/reports/by-skill/output-router-2-report.md +0 -65
- package/evals/reports/by-skill/research-1-report.md +0 -144
- package/evals/reports/by-skill/research-brief-1-report.md +0 -94
- package/evals/reports/by-skill/research-brief-2-report.md +0 -75
- package/evals/reports/by-skill/review-artifact-1-report.md +0 -91
- package/evals/reports/by-skill/review-artifact-2-report.md +0 -79
- package/evals/reports/by-skill/review-artifact-3-report.md +0 -120
- package/evals/reports/by-skill/review-artifact-4-report.md +0 -89
- package/evals/reports/by-skill/review-artifact-5-report.md +0 -66
- package/evals/reports/by-skill/review-work-1-report.md +0 -85
- package/evals/reports/by-skill/review-work-2-report.md +0 -87
- package/evals/reports/by-skill/review-work-3-report.md +0 -104
- package/evals/reports/by-skill/review-work-4-report.md +0 -108
- package/evals/reports/by-skill/review-work-5-report.md +0 -73
- package/evals/reports/by-skill/review-work-6-report.md +0 -66
- package/evals/reports/by-skill/setup-freeflow-1-report.md +0 -199
- package/evals/reports/by-skill/setup-freeflow-2-report.md +0 -105
- package/evals/reports/by-skill/setup-freeflow-3-report.md +0 -105
- package/evals/reports/by-skill/setup-freeflow-4-report.md +0 -88
- package/evals/reports/by-skill/setup-freeflow-5-report.md +0 -115
- package/evals/reports/by-skill/skill-authoring-1-report.md +0 -81
- package/evals/reports/by-skill/verify-work-1-report.md +0 -111
- package/evals/reports/by-skill/verify-work-2-report.md +0 -120
- package/evals/reports/by-skill/workflow-1-report.md +0 -65
- package/evals/reports/by-skill/write-plan-1-report.md +0 -123
- package/evals/reports/by-skill/write-plan-2-report.md +0 -98
- package/evals/reports/by-skill/write-plan-3-report.md +0 -110
- package/evals/reports/by-skill/write-spec-1-report.md +0 -88
- package/evals/reports/by-skill/write-spec-2-report.md +0 -89
- package/evals/reports/by-skill/write-spec-3-report.md +0 -90
- package/evals/reports/by-skill/write-spec-4-report.md +0 -167
- package/evals/reports/harness/claude-harness-1-report.md +0 -103
- package/evals/reports/harness/eval-harness-1-report.md +0 -91
- package/evals/reports/iterations/iteration-1-report.md +0 -71
- package/evals/reports/iterations/iteration-2-report.md +0 -78
- package/evals/reports/iterations/iteration-3-report.md +0 -118
- package/evals/reports/iterations/iteration-4-report.md +0 -131
- package/evals/reports/iterations/iteration-5-report.md +0 -149
- package/evals/reports/iterations/iteration-6-report.md +0 -136
- package/evals/reports/runtime/always-on-runtime-1-report.md +0 -107
- package/evals/reports/runtime/context-mode-normalized-benchmark-1-report.md +0 -52
- package/evals/reports/runtime/context-mode-real-deep-baseline-1-report.md +0 -410
- package/evals/reports/runtime/context-mode-real-deep-final-slice-11-report.md +0 -203
- package/evals/reports/runtime/context-mode-real-deep-final-slice-11-review.md +0 -51
- package/evals/reports/runtime/context-saving-native-tools-baseline-1-report.md +0 -99
- package/evals/reports/runtime/eryx-python-compatibility-reprobe-1-report.md +0 -166
- package/evals/reports/runtime/eryx-python-proof-spike-1-report.md +0 -96
- package/evals/reports/runtime/eryx-python-proof-spike-2-report.md +0 -151
- package/evals/reports/runtime/eryx-python-script-derive-execution-1-report.md +0 -233
- package/evals/reports/runtime/jq-script-derive-execution-1-report.md +0 -215
- package/evals/reports/runtime/jq-wasm-proof-spike-1-report.md +0 -67
- package/evals/reports/runtime/output-router-benchmark-1-report.md +0 -81
- package/evals/reports/runtime/output-router-capture-derive-provider-eval-1-report.md +0 -35
- package/evals/reports/runtime/output-router-codex-large-index-sqlite-adhoc-report.md +0 -150
- package/evals/reports/runtime/output-router-codex-qa-benchmark-1-report.md +0 -46
- package/evals/reports/runtime/output-router-command-benchmark-1-report.md +0 -62
- package/evals/reports/runtime/output-router-index-benchmark-1-report.md +0 -64
- package/evals/reports/runtime/output-router-regression-1-report.md +0 -81
- package/evals/reports/runtime/output-router-transform-eval-1-report.md +0 -28
- package/evals/reports/runtime/pi-observed-routing-eval-1-report.md +0 -44
- package/evals/reports/runtime/quickjs-script-derive-execution-1-report.md +0 -159
- package/evals/reports/runtime/quickjs-wasi-proof-spike-1-report.md +0 -55
- package/evals/reports/runtime/render-format-row-protocol-1-report.md +0 -58
- package/evals/reports/runtime/script-sandbox-adapter-selection-review-1-report.md +0 -84
- package/evals/reports/runtime/script-sandbox-probe-resource-hardening-1-report.md +0 -51
- package/evals/reports/runtime/storage-policy-benchmark-1-report.md +0 -176
- package/evals/reports/runtime/vault-index-storage-spike-1-report.md +0 -39
- package/evals/reports/runtime/workflow-context-hook-1-report.md +0 -82
- package/evals/runbooks/adversarial-eval-runbook.md +0 -28
- package/evals/runbooks/fixture-eval-runbook.md +0 -137
- package/evals/runbooks/handoff-eval-runbook.md +0 -22
- package/evals/runbooks/verify-work-eval-runbook.md +0 -27
- package/evals/scripts/audit-command-surface.sh +0 -160
- package/evals/scripts/check-activation-contract.sh +0 -121
- package/evals/scripts/check-runtime-context-hook.sh +0 -183
- package/evals/scripts/grade-fixture-eval.sh +0 -446
- package/evals/scripts/run-claude-fixture-eval.sh +0 -26
- package/evals/scripts/run-codex-fixture-eval.sh +0 -26
- package/evals/scripts/run-eryx-python-proof-spike.js +0 -559
- package/evals/scripts/run-fixture-eval-by-id.sh +0 -23
- package/evals/scripts/run-fixture-eval.sh +0 -464
- package/evals/scripts/run-jq-wasm-proof-spike.js +0 -299
- package/evals/scripts/run-output-router-transform-eval.js +0 -115
- package/evals/scripts/run-pi-observed-routing-eval.js +0 -478
- package/evals/scripts/run-quickjs-wasi-proof-spike.js +0 -339
- package/evals/scripts/skill-evidence.sh +0 -316
- package/evals/scripts/validate-release-metadata.sh +0 -486
- package/evals/suites/v0.1-acceptance-suite.md +0 -131
- package/pi-extension/dist/host-producer-identification.js +0 -186
- package/pi-extension/dist/mcp-config.js +0 -30
- package/pi-extension/dist/native-safety-net.js +0 -209
- package/pi-extension/dist/observed-tool-routing.js +0 -114
- package/pi-extension/dist/renderers.js +0 -835
- package/pi-extension/dist/router-tools.js +0 -438
- package/pi-extension/dist/runtime-context.js +0 -288
- package/pi-extension/dist/schemas.js +0 -254
- package/pi-extension/dist/status.js +0 -449
- package/pi-extension/dist/utils.js +0 -467
- package/pi-extension/src/runtime-context.ts +0 -347
- package/pi-extension/src/status.ts +0 -505
- package/plugin-docs/README.md +0 -40
- package/plugin-docs/adr/0001-three-modes.md +0 -27
- package/plugin-docs/adr/0002-evals-before-hooks.md +0 -17
- package/plugin-docs/adr/0003-release-boundary.md +0 -21
- package/plugin-docs/adr/0004-discover-replaces-shallow-discovery-skills.md +0 -26
- package/plugin-docs/adr/README.md +0 -10
- package/plugin-docs/architecture.md +0 -89
- package/plugin-docs/output-router.md +0 -396
- package/plugin-docs/release-evidence.md +0 -77
- package/plugin-docs/skills.md +0 -44
- package/plugin-docs/workflow.md +0 -57
- package/skills/diagnose-failure/references/feedback-loop-catalog.md +0 -25
- package/skills/discover/ARTIFACT-DESTINATIONS.md +0 -58
- package/skills/discover/CHECKPOINTS.md +0 -74
- package/skills/discover/SKILL.md +0 -173
- package/skills/evaluate-skill/references/eval-patterns.md +0 -41
- package/skills/evaluate-skill/references/grading-priority.md +0 -33
- package/skills/execute-plan/SKILL.md +0 -133
- package/skills/execute-plan/references/execution-map.md +0 -122
- package/skills/interview-gate/SKILL.md +0 -90
- package/skills/workflow/references/workflow-map.md +0 -104
- /package/pi-extension/src/{mcp-config.ts → integrations/mcp-config.ts} +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tdd
|
|
3
|
+
description: Use when implementing or changing behavior test-first, fixing a bug with regression evidence, protecting behavior during refactoring, or when a test is difficult to write or starts shaping production design.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test-Driven Development
|
|
7
|
+
|
|
8
|
+
Use one observed failing behavior check to guide the smallest complete implementation for one accepted behavior.
|
|
9
|
+
|
|
10
|
+
TDD is an execution method inside [Execute Work](../execute-work/SKILL.md). One vertical RED/GREEN/REFACTOR loop is a bounded action, not automatically a Track Work slice. Several accepted behavior loops may remain inside one coherent current slice.
|
|
11
|
+
|
|
12
|
+
TDD does not define intended behavior. The accepted request, source truth, and user decisions establish what should happen.
|
|
13
|
+
|
|
14
|
+
## Follow The Behavior Loop
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
[Accepted behavior with settled expectation]
|
|
18
|
+
-> [Choose stable seam and independent oracle]
|
|
19
|
+
-> [RED: write and run the smallest behavior check]
|
|
20
|
+
-> fails for expected missing behavior -> GREEN
|
|
21
|
+
-> passes immediately -> inspect test, boundary, or existing behavior
|
|
22
|
+
-> errors for unrelated reason -> correct harness or diagnose
|
|
23
|
+
-> [GREEN: smallest complete implementation]
|
|
24
|
+
-> [Verify focused behavior]
|
|
25
|
+
-> [REFACTOR when useful, without behavior change]
|
|
26
|
+
-> [Verify original path and affected boundary]
|
|
27
|
+
-> [Route]
|
|
28
|
+
-> another accepted behavior in this slice -> next TDD loop
|
|
29
|
+
-> coherent extension -> approve and record when needed
|
|
30
|
+
-> unclear cause or structural pressure -> Workflow
|
|
31
|
+
-> supported bounded action -> return to Execute Work
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Do not write all tests first and all implementation later. Finish, verify, and route one accepted behavior before starting another.
|
|
35
|
+
|
|
36
|
+
## Use Or Exit Deliberately
|
|
37
|
+
|
|
38
|
+
Use TDD for accepted behavior changes, bug fixes with a supported cause, consequential logic, and refactors whose behavior needs protection.
|
|
39
|
+
|
|
40
|
+
Do not force test-first work onto documentation, static content, mechanical formatting, generated output, or a disposable learning prototype whose result is not selected production behavior.
|
|
41
|
+
|
|
42
|
+
Stop before RED when expected behavior, failure semantics, or a public contract is unsettled. Return the missing direction to [Workflow](../workflow/SKILL.md) rather than encoding a guess as a test.
|
|
43
|
+
|
|
44
|
+
## Choose The Seam And Oracle
|
|
45
|
+
|
|
46
|
+
Test observable behavior through the highest stable interface that exercises the real requirement.
|
|
47
|
+
|
|
48
|
+
A useful seam:
|
|
49
|
+
|
|
50
|
+
- is used by callers rather than created only for tests;
|
|
51
|
+
- survives internal refactoring;
|
|
52
|
+
- reaches the real behavior or failure path;
|
|
53
|
+
- keeps setup proportionate;
|
|
54
|
+
- can disagree with the implementation.
|
|
55
|
+
|
|
56
|
+
Derive expected results from source truth, a worked example, protocol contract, or independent calculation—not the implementation algorithm.
|
|
57
|
+
|
|
58
|
+
Read [Test Design](references/test-design.md) when the test level, oracle, double, rejected state, composed failure, time or concurrency boundary, or legacy seam is unclear.
|
|
59
|
+
|
|
60
|
+
If testing requires owned internals, duplicated caller choreography, or production hooks used only by tests, return the evidence to Workflow. Use [Design for Depth](../design-for-depth/SKILL.md) only when it establishes design-bearing interface or ownership pressure; do not redesign merely because one test is inconvenient.
|
|
61
|
+
|
|
62
|
+
## Enforce The Test-First Evidence
|
|
63
|
+
|
|
64
|
+
- Observe RED failing for the intended missing behavior before changing production code.
|
|
65
|
+
- If RED passes immediately, inspect the test, observing boundary, and existing behavior; do not proceed to GREEN automatically.
|
|
66
|
+
- If RED fails because of syntax, setup, environment, or unrelated behavior, correct the harness or diagnose before implementation.
|
|
67
|
+
- Implement the smallest complete GREEN behavior. Read [Code Practices](../execute-work/references/code-practices.md) while changing code.
|
|
68
|
+
- Refactor only when it improves the result while the focused behavior check remains green.
|
|
69
|
+
- Re-run the original path and smallest affected boundary before returning the supported action and evidence to Execute Work.
|
|
70
|
+
- Do not claim TDD when the check was written after implementation or RED was never observed for the intended reason.
|
|
71
|
+
|
|
72
|
+
## Keep Tests About Accepted Behavior
|
|
73
|
+
|
|
74
|
+
Prefer observable outcomes over internal call sequences, real implementations before doubles, independent expected values, descriptive domain names, and one behavior concept per test.
|
|
75
|
+
|
|
76
|
+
Use fakes, stubs, mocks, or spies only at a boundary where replacement is necessary and the double preserves the fields, effects, invariants, and failure behavior the test needs.
|
|
77
|
+
|
|
78
|
+
Do not copy the implementation into the expected value, add production methods used only by tests, change a valid test merely to make implementation pass, or treat coverage and test count as proof.
|
|
79
|
+
|
|
80
|
+
Add an edge-case check only when accepted behavior, observed failure, material safety, or a settled failure contract requires it. If behavior is undefined, return it to Workflow. When related cases keep adding states, flags, setup, or patches, stop the behavior-loop stream and diagnose the shared contract, cause, ownership, or interface.
|
|
81
|
+
|
|
82
|
+
## Fix Bugs Through The Reported Boundary
|
|
83
|
+
|
|
84
|
+
First reproduce the reported symptom through the correct seam. A nearby failing path is not the bug.
|
|
85
|
+
|
|
86
|
+
If no reliable diagnostic loop or supported cause exists, use [Diagnose Failure](../diagnose-failure/SKILL.md) before selecting a production correction. After RED and GREEN, rerun both the minimized regression check and the original unminimized symptom or strongest available observer.
|
|
87
|
+
|
|
88
|
+
## Stop When Tests Start Designing The System
|
|
89
|
+
|
|
90
|
+
Return evidence to Workflow when test setup grows faster than behavior coverage, each case requires another public state or fallback, tests protect machinery introduced by earlier patches, the next check requires an unplanned subsystem, or making it pass expands accepted scope.
|
|
91
|
+
|
|
92
|
+
A green local loop does not prove the global design is right. Diagnose repeated or unexplained failure before redesigning.
|
|
93
|
+
|
|
94
|
+
## Report
|
|
95
|
+
|
|
96
|
+
Report the accepted behavior and seam, observed RED result, GREEN implementation, refactor if any, original-path and broader verification, current slice effect, and remaining unverified behavior. Return route-changing evidence rather than silently beginning another behavior or slice.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Test Design
|
|
2
|
+
|
|
3
|
+
Read this when the right test level is unclear, a dependency needs a double, legacy behavior lacks a seam, or test setup starts driving production design.
|
|
4
|
+
|
|
5
|
+
The goal is confidence in accepted behavior, not maximal isolation or a fixed unit/integration/end-to-end ratio. One TDD behavior loop is a bounded action and may remain inside a larger coherent Track Work slice.
|
|
6
|
+
|
|
7
|
+
## Choose The Confidence Boundary
|
|
8
|
+
|
|
9
|
+
Start from the highest stable interface used by callers, then choose the smallest test environment that still exercises its real behavior and failure path:
|
|
10
|
+
|
|
11
|
+
- **Focused behavior test:** deterministic logic or one stable public operation can prove the requirement.
|
|
12
|
+
- **Integration test:** correctness depends on collaborating components, persistence, serialization, process boundaries, or a real adapter contract.
|
|
13
|
+
- **End-to-end or user-path check:** the requirement is a critical flow whose value depends on the assembled system.
|
|
14
|
+
- **Characterization test:** existing behavior must be observed and protected before a behavior-preserving refactor.
|
|
15
|
+
|
|
16
|
+
A characterization test records current behavior; it does not make that behavior desired or authoritative. Stop when intended behavior conflicts with source truth or remains user-owned.
|
|
17
|
+
|
|
18
|
+
A smaller environment is not better when it mocks away the behavior being claimed. A larger environment is not better when its extra machinery adds noise without proving more.
|
|
19
|
+
|
|
20
|
+
## Build An Independent Oracle
|
|
21
|
+
|
|
22
|
+
Expected results should come from source truth, a worked example, a protocol contract, or an independently calculated value.
|
|
23
|
+
|
|
24
|
+
Do not compute the expected value with the same algorithm as the implementation. That produces agreement by construction.
|
|
25
|
+
|
|
26
|
+
Prefer observable state, outputs, errors, persisted effects, and caller-visible behavior. Assert an interaction only when that interaction is itself part of the accepted contract or the real effect cannot be observed safely at this test boundary.
|
|
27
|
+
|
|
28
|
+
Keep one behavior concept per test. Multiple assertions are fine when they jointly describe one outcome.
|
|
29
|
+
|
|
30
|
+
## Rejection And Composed Failures
|
|
31
|
+
|
|
32
|
+
For authority, persistence, canonical evidence, retry, cancellation, or recovery behavior, identify the dimensions that materially change the outcome:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
entry point
|
|
36
|
+
× valid or invalid input
|
|
37
|
+
× empty or existing accepted state
|
|
38
|
+
× pre-commit or post-commit failure
|
|
39
|
+
× first call or retry/replay
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Do not expand this into an exhaustive matrix by habit. Select the smallest rows that can disprove the accepted failure contract. For each selected row, assert:
|
|
43
|
+
|
|
44
|
+
- returned result;
|
|
45
|
+
- allowed writes or effects;
|
|
46
|
+
- forbidden writes or effects;
|
|
47
|
+
- preservation of prior accepted state;
|
|
48
|
+
- required diagnostic or recovery evidence.
|
|
49
|
+
|
|
50
|
+
When two accepted conditions can coincide, test the composition rather than assuming isolated cases commute. Examples include cancellation plus integrity failure, successful commit plus failed reconciliation, invalid replacement plus existing valid state, or bounded recovery plus continuation redemption.
|
|
51
|
+
|
|
52
|
+
## Choose A Test Double
|
|
53
|
+
|
|
54
|
+
Preference order:
|
|
55
|
+
|
|
56
|
+
1. **Real implementation:** use when deterministic, fast enough, safe, and controllable.
|
|
57
|
+
2. **Fake:** a lightweight working implementation that preserves the relevant contract.
|
|
58
|
+
3. **Stub:** returns fixed data needed to reach the behavior under test.
|
|
59
|
+
4. **Mock or spy:** records interactions; use sparingly when the interaction itself matters.
|
|
60
|
+
|
|
61
|
+
Before replacing a dependency, identify:
|
|
62
|
+
|
|
63
|
+
- the behavior and side effects it owns;
|
|
64
|
+
- which of those effects the test depends on;
|
|
65
|
+
- the boundary being isolated;
|
|
66
|
+
- how the double stays faithful to the real contract and failure modes.
|
|
67
|
+
|
|
68
|
+
Mock the slow, external, destructive, privileged, or nondeterministic boundary—not a higher-level operation whose behavior the test needs.
|
|
69
|
+
|
|
70
|
+
Useful double boundaries often include external APIs, email or payment delivery, uncontrollable clocks or randomness, destructive infrastructure, and unavailable remote services. Databases and filesystems may be cheaper and more trustworthy to use for real than to imitate.
|
|
71
|
+
|
|
72
|
+
A fake or stub must preserve the fields, invariants, errors, and side effects relevant downstream. Validate it against a schema, recorded contract, or shared contract tests when drift would create false confidence.
|
|
73
|
+
|
|
74
|
+
Do not add public production methods, flags, branches, or lifecycle operations used only by tests. Keep cleanup and fixture construction in test utilities unless production genuinely owns that behavior.
|
|
75
|
+
|
|
76
|
+
## Time, Randomness, And Concurrency
|
|
77
|
+
|
|
78
|
+
Prefer an existing controllable boundary for clocks, randomness, scheduling, and external events. Do not expose new public test hooks merely to make assertions convenient.
|
|
79
|
+
|
|
80
|
+
Avoid arbitrary sleeps as proof. Use observable synchronization, deterministic inputs, bounded eventual assertions, or the real diagnostic loop.
|
|
81
|
+
|
|
82
|
+
When a race or flaky path cannot be made deterministic, use [Diagnose Failure](../../diagnose-failure/SKILL.md) to raise the reproduction rate and gather evidence before changing production behavior.
|
|
83
|
+
|
|
84
|
+
## Pressure Signals
|
|
85
|
+
|
|
86
|
+
Question the seam before adding more test machinery when:
|
|
87
|
+
|
|
88
|
+
- mock setup is longer or more conditional than the behavior;
|
|
89
|
+
- removing a mock changes what the test is actually proving;
|
|
90
|
+
- many owned internals must be exposed or replaced;
|
|
91
|
+
- doubles duplicate production orchestration;
|
|
92
|
+
- test-only production APIs appear;
|
|
93
|
+
- integration repeatedly fails despite isolated tests passing;
|
|
94
|
+
- fixtures must know internal states, ordering, or cleanup protocols callers should not coordinate.
|
|
95
|
+
|
|
96
|
+
A real integration test may be simpler than a network of mocks. If the difficulty reflects caller choreography or a shallow interface, use [Design for Depth](../../design-for-depth/SKILL.md) rather than designing production around the test framework.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: track-work
|
|
3
|
+
description: Use when deciding whether proposed or ongoing work needs a durable Working Record, or when creating, resuming, or updating one to preserve task state across execution, pauses, or context loss.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Track Work
|
|
7
|
+
|
|
8
|
+
Decide whether proposed or ongoing work needs a durable Working Record, then maintain selected records without turning them into a transcript, fixed Plan, or authority over live evidence and user decisions. Deciding or reading an existing record is read-only; create or update one only when the effective mode permits mutation.
|
|
9
|
+
|
|
10
|
+
Use this route to decide whether to wait, return to Workflow, or continue through [Execute Work](../execute-work/SKILL.md):
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
[Proposed or ongoing work]
|
|
14
|
+
-> existing Working Record owns it
|
|
15
|
+
-> read the required reference
|
|
16
|
+
-> maintain it
|
|
17
|
+
-> select an authorized slice and route to Execute Work, or wait
|
|
18
|
+
-> no existing Working Record
|
|
19
|
+
-> would losing context, decisions, evidence, or the next action risk misalignment?
|
|
20
|
+
-> no
|
|
21
|
+
-> authorized work in a mutation-permitting mode -> Execute Work
|
|
22
|
+
-> otherwise -> Workflow or wait
|
|
23
|
+
-> yes, but a record is unapproved
|
|
24
|
+
-> recommend a Working Record
|
|
25
|
+
-> wait
|
|
26
|
+
-> yes, and a record is approved
|
|
27
|
+
-> mode permits durable mutation
|
|
28
|
+
-> read the required reference
|
|
29
|
+
-> create the record
|
|
30
|
+
-> first slice already requested or approved
|
|
31
|
+
-> select the slice
|
|
32
|
+
-> Execute Work
|
|
33
|
+
-> only record creation was approved
|
|
34
|
+
-> Current Slice: None
|
|
35
|
+
-> wait
|
|
36
|
+
-> mode does not permit durable mutation
|
|
37
|
+
-> recommend the required mode change
|
|
38
|
+
-> wait
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Read The Required Reference
|
|
42
|
+
|
|
43
|
+
Before creating, resuming, or updating a Working Record, read the complete [Working Record method and schema](references/working-record-schema.md). This skill and its reference form one method. Do not invent fields, states, or transitions from memory; if the reference is unavailable, do not mutate the record.
|
|
44
|
+
|
|
45
|
+
## Core Contract
|
|
46
|
+
|
|
47
|
+
- A record preserves current context, one current slice, revisable proposals, durable history, inert Notes, and one next useful action. It is memory; live evidence and user decisions win.
|
|
48
|
+
- `Current understanding` is a present-state summary, not a running task summary or compressed transcript. Replace superseded prose instead of appending completed events.
|
|
49
|
+
- Give detailed facts one schema-owned home. Other sections summarize or point to that owner rather than repeating findings, hashes, commands, or test inventories.
|
|
50
|
+
- Only the user changes task state. Do not infer `Paused`, `Completed`, `Abandoned`, or renewed `Active` state from inactivity, apparent completion, or failure.
|
|
51
|
+
- A **slice** is one bounded piece of learning, delivery, or structural improvement. One slice may span multiple iterations of [Workflow's](../workflow/SKILL.md) Feedback Loop and calls to other owning skills.
|
|
52
|
+
- Record state changes, not every edit or conversation. Apply authorized in-scope steering and reconcile its meaningful final effect when the slice closes.
|
|
53
|
+
- Before work changes the recorded result, scope, authority, evidence boundary, or stop conditions, decide and record whether it extends the current slice or requires a new one.
|
|
54
|
+
- Questions, criticism, and review findings do not authorize changes. Ordinary in-slice feedback is not a checkpoint or history event merely because work pauses for the user.
|
|
55
|
+
- Workflow establishes slice outcomes. Implementation, verification, self-review, or a review report does not end a slice by itself, and review need not Pass.
|
|
56
|
+
- The record may preserve authority sources, decisions, checkpoints, and evidence; it never creates authority or proof.
|
|
57
|
+
|
|
58
|
+
## Follow The Lifecycle
|
|
59
|
+
|
|
60
|
+
After reading the required reference:
|
|
61
|
+
|
|
62
|
+
1. **Create or resume:** use the established task directory, restore task state after context loss, and orient from live evidence.
|
|
63
|
+
2. **Select or wait:** select a slice only when its concrete work is requested or approved. If only record creation is approved, keep `Current Slice` as `None` and wait. When selected, move one proposal into `Current Slice`, assign its chronological `S-` ID, save the write-ahead state, then route to Execute Work.
|
|
64
|
+
3. **Maintain the slice:** keep small steering out of the event history; record accepted extensions before execution; preserve blockers, review routes, and evidence without replacing a coherent slice.
|
|
65
|
+
4. **Close the slice:** move the Workflow-established outcome to History, preserve the original boundary and accepted extensions, rewrite Current Context from the resulting present state, remove completed-event detail already owned by History, and set `Current Slice` to `None`.
|
|
66
|
+
5. **Preserve what matters:** keep task-local decisions, selected checkpoints, evidence pointers, and Notes in their schema-owned sections.
|
|
67
|
+
|
|
68
|
+
## Context Boundaries
|
|
69
|
+
|
|
70
|
+
Before an expected compaction, summarization, pause, clear, or transfer, reconcile the record only when task state changed. The boundary itself is not a record event.
|
|
71
|
+
|
|
72
|
+
After compaction, summarization, resume, clear, or session navigation, read the complete record before the next task action and compare it with the current conversation and live state. Identify the task from current context or inspect and ask rather than guessing. A record written on another conversation branch is memory, not authority.
|
|
73
|
+
|
|
74
|
+
## Route Or Stop
|
|
75
|
+
|
|
76
|
+
Use [Discuss](../discuss/SKILL.md) before selecting a slice when a collaborative question could materially change its result, scope, or route.
|
|
77
|
+
|
|
78
|
+
Use `Blocked` only when a required decision, dependency, capability, evidence source, stop condition, or other unavailable condition prevents safe continuation. Keep the blocked slice current, record what is needed, then stop. General execution authority does not override a stop condition.
|
|
79
|
+
|
|
80
|
+
When the user requests a separate point-in-time transfer artifact, read [Handoff](../handoff/SKILL.md). Creating a handoff does not replace living Working Record state.
|
|
81
|
+
|
|
82
|
+
## Check The Record
|
|
83
|
+
|
|
84
|
+
After every update, silently compare the record with live evidence and the required reference. Correct clear local issues. Remove historical narration from Current Context once its active consequence is captured, and replace duplicated detail with a compact pointer to its owner. Do not create review history or request review merely because the record changed.
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
# Working Record Method And Schema
|
|
2
|
+
|
|
3
|
+
This is the required companion to Track Work. Read it completely before creating, resuming, or updating a Working Record. It defines both the lifecycle method and the stored shape.
|
|
4
|
+
|
|
5
|
+
Omit optional fields and sections when they contain no useful information. Preserve detail when forgetting it could misalign later work; compactness means removing repetition, transcripts, and raw output—not continuity.
|
|
6
|
+
|
|
7
|
+
## Task Directory
|
|
8
|
+
|
|
9
|
+
Use one stable directory per task:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
.freeflow/tasks/task-NNN-<short-name>/
|
|
13
|
+
├── record.md
|
|
14
|
+
├── specs/ # only when Write Spec creates a task-local artifact
|
|
15
|
+
└── plans/ # only when Write Plan creates a task-local artifact
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Use the next unused three-digit number and a short readable name. Track Work owns the directory and `record.md`. Write Spec and Write Plan own their artifact filenames, formats, and contents.
|
|
19
|
+
|
|
20
|
+
## Record Order
|
|
21
|
+
|
|
22
|
+
Keep these layers in order:
|
|
23
|
+
|
|
24
|
+
1. **Current Context:** what is needed to understand the task.
|
|
25
|
+
2. **Current Work:** route, current or blocked slice, blockers, checkpoints, and next action.
|
|
26
|
+
3. **Proposed Slices:** ordered, revisable work that has not started.
|
|
27
|
+
4. **History:** decisions, checkpoint results, and completed, parked, or abandoned slices.
|
|
28
|
+
5. **Notes:** inert context with no active task effect.
|
|
29
|
+
|
|
30
|
+
Read the complete record after context loss. The order establishes context before action; it does not make later sections disposable.
|
|
31
|
+
|
|
32
|
+
## Record Template
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
# Working Record: <task name>
|
|
36
|
+
|
|
37
|
+
State: Active | Paused | Completed | Abandoned
|
|
38
|
+
Last updated: <optional reliable date or time>
|
|
39
|
+
|
|
40
|
+
## Current Context
|
|
41
|
+
|
|
42
|
+
Goal:
|
|
43
|
+
What defines this task:
|
|
44
|
+
Current understanding:
|
|
45
|
+
Current direction:
|
|
46
|
+
Boundaries:
|
|
47
|
+
|
|
48
|
+
### Active Decisions
|
|
49
|
+
|
|
50
|
+
- D-001 — <one-line meaning>
|
|
51
|
+
|
|
52
|
+
### Active Hypotheses
|
|
53
|
+
|
|
54
|
+
### Open Questions
|
|
55
|
+
|
|
56
|
+
## Current Work
|
|
57
|
+
|
|
58
|
+
Current route:
|
|
59
|
+
|
|
60
|
+
### Current Slice
|
|
61
|
+
|
|
62
|
+
None
|
|
63
|
+
|
|
64
|
+
Or:
|
|
65
|
+
- ID: S-001
|
|
66
|
+
- State: In progress | Blocked
|
|
67
|
+
- Type: Learning | Delivery | Deepening
|
|
68
|
+
- Intended result:
|
|
69
|
+
- Authority source:
|
|
70
|
+
- Reason and scope:
|
|
71
|
+
- Expected evidence:
|
|
72
|
+
- Stop condition:
|
|
73
|
+
- Starting code or artifact state:
|
|
74
|
+
- Accepted extensions, if any:
|
|
75
|
+
- Selected checkpoints, if any:
|
|
76
|
+
- Blocker, if blocked:
|
|
77
|
+
- Resume when, if blocked:
|
|
78
|
+
|
|
79
|
+
Blockers:
|
|
80
|
+
Upcoming checkpoints:
|
|
81
|
+
Next useful action:
|
|
82
|
+
|
|
83
|
+
## Proposed Slices
|
|
84
|
+
|
|
85
|
+
### <proposal title>
|
|
86
|
+
|
|
87
|
+
Type:
|
|
88
|
+
Intended result:
|
|
89
|
+
Expected evidence:
|
|
90
|
+
Dependencies:
|
|
91
|
+
Selected checkpoints, if any:
|
|
92
|
+
|
|
93
|
+
## History
|
|
94
|
+
|
|
95
|
+
### Decisions
|
|
96
|
+
|
|
97
|
+
#### D-001 — <decision title>
|
|
98
|
+
|
|
99
|
+
State: Active | Superseded | Retired
|
|
100
|
+
Decision:
|
|
101
|
+
Who decided or what established it:
|
|
102
|
+
Rationale and sources:
|
|
103
|
+
Consequences:
|
|
104
|
+
Revisit when:
|
|
105
|
+
Supersedes:
|
|
106
|
+
Superseded by:
|
|
107
|
+
|
|
108
|
+
### Checkpoints
|
|
109
|
+
|
|
110
|
+
#### <checkpoint title>
|
|
111
|
+
|
|
112
|
+
Type: Independent review | Local commit | User decision | Continuity
|
|
113
|
+
Selected by: <approved Plan or explicit discussion>
|
|
114
|
+
Condition:
|
|
115
|
+
Result: Completed | Deferred | Cancelled | Replaced
|
|
116
|
+
Judgment or decision:
|
|
117
|
+
Evidence or result pointer:
|
|
118
|
+
Effect on the task:
|
|
119
|
+
|
|
120
|
+
### Slices
|
|
121
|
+
|
|
122
|
+
#### S-001 — <slice title>
|
|
123
|
+
|
|
124
|
+
State: Completed | Blocked | Abandoned
|
|
125
|
+
Type: Learning | Delivery | Deepening
|
|
126
|
+
Intended result:
|
|
127
|
+
Authority source:
|
|
128
|
+
Accepted extensions and authority, if any:
|
|
129
|
+
Work performed:
|
|
130
|
+
Result:
|
|
131
|
+
Effect on understanding, decisions, or hypotheses:
|
|
132
|
+
Evidence:
|
|
133
|
+
- Tests and other checks: <check, result, and source>
|
|
134
|
+
- Verification: <claim, boundary, check result, claim result, proof limits, and source>
|
|
135
|
+
- Independent review: <review number, judgment, items, adjudication, and source>
|
|
136
|
+
Blocker and required resolution, if historically blocked:
|
|
137
|
+
What happens next:
|
|
138
|
+
|
|
139
|
+
## Notes
|
|
140
|
+
|
|
141
|
+
### <note title>
|
|
142
|
+
|
|
143
|
+
Source: <user request or useful agent observation>
|
|
144
|
+
|
|
145
|
+
<retained context>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Create Or Resume
|
|
149
|
+
|
|
150
|
+
### Minimum Record
|
|
151
|
+
|
|
152
|
+
A record may begin without decisions, proposals, history, Notes, or a current slice. Add fields only when the task produces information worth preserving. At minimum record:
|
|
153
|
+
|
|
154
|
+
- task state;
|
|
155
|
+
- goal or central question;
|
|
156
|
+
- current understanding;
|
|
157
|
+
- important open questions;
|
|
158
|
+
- `Current Slice: None` when no slice is running;
|
|
159
|
+
- one next useful action.
|
|
160
|
+
|
|
161
|
+
If context is too thin, recommend discussion first. If the user still wants a record, write an honest minimal one without inventing intent or state.
|
|
162
|
+
|
|
163
|
+
### Current Context
|
|
164
|
+
|
|
165
|
+
- Keep only context that still affects interpretation or later action.
|
|
166
|
+
- Treat `Current understanding` as a present-state summary, not a running task summary or compressed transcript. Rewrite it from what remains true instead of appending completed events.
|
|
167
|
+
- Remove completed-slice narration, superseded failures and corrections, per-review findings, test inventories, hashes, and live-run detail once their active consequence is captured and History owns the evidence.
|
|
168
|
+
- `Current direction` describes remaining strategy, not completed phases.
|
|
169
|
+
- Summarize active decisions by ID; preserve rationale and lineage in History.
|
|
170
|
+
- Update facts when live evidence changes. Moving obsolete context does not require deleting useful history.
|
|
171
|
+
- Use no arbitrary size cap. Keep detail only when removing it could cause the next reader to choose the wrong route.
|
|
172
|
+
|
|
173
|
+
### Task State
|
|
174
|
+
|
|
175
|
+
Only the user changes task state:
|
|
176
|
+
|
|
177
|
+
- `Active`: the task is ongoing.
|
|
178
|
+
- `Paused`: intentionally paused.
|
|
179
|
+
- `Completed`: considered complete.
|
|
180
|
+
- `Abandoned`: intentionally ended without completion.
|
|
181
|
+
|
|
182
|
+
Do not infer task state from time, inactivity, apparent completion, or failure. Before a user-directed task-state change, make Current Context, Current Work, important History, and the next action accurate; then apply exactly the chosen state. Use `Last updated` only when a reliable date or time is available.
|
|
183
|
+
|
|
184
|
+
### Context Boundaries
|
|
185
|
+
|
|
186
|
+
- **Before an expected compaction, summarization, pause, clear, or transfer:** reconcile the record only when task state changed. The boundary itself is not a record event.
|
|
187
|
+
- **After compaction, summarization, resume, clear, or session navigation:** read the complete record before continuing task work and compare it with the current conversation and live state.
|
|
188
|
+
- Identify the task from current context or inspect and ask rather than guessing. A record written on another conversation branch is memory, not authority. Correct clear factual or clerical mistakes, and ask before changing user intent, task lifecycle, or a recorded decision.
|
|
189
|
+
|
|
190
|
+
## Select A Slice
|
|
191
|
+
|
|
192
|
+
### Proposals
|
|
193
|
+
|
|
194
|
+
Proposals remain revisable until selected:
|
|
195
|
+
|
|
196
|
+
- use one unnumbered heading per proposal;
|
|
197
|
+
- assign no `S-` ID, ordinal label, or state;
|
|
198
|
+
- refer to a proposal by title, not “proposal 2”;
|
|
199
|
+
- express ordering constraints under `Dependencies`;
|
|
200
|
+
- preserve an external Plan phase or identifier only when one exists.
|
|
201
|
+
|
|
202
|
+
When selected, remove the proposal, assign the next chronological `S-` ID, and write it as the one Current Slice before execution.
|
|
203
|
+
|
|
204
|
+
### Authority And Write-Ahead State
|
|
205
|
+
|
|
206
|
+
- Record the source that requested or approved the slice.
|
|
207
|
+
- Approval may cover one slice or a named set; do not ask again while remembered authority clearly covers the work, and do not extend it to invented scope.
|
|
208
|
+
- Approval cadence and reporting cadence are separate.
|
|
209
|
+
- A decision approval, tentative proposal, nearby instruction, or permission to discuss does not authorize implementation unless the interaction clearly establishes that authority.
|
|
210
|
+
- Record the slice fields shown in the template, save the record, then execute. This preserves intent; it does not claim execution occurred.
|
|
211
|
+
- A stop condition overrides general authority. Mark the slice `Blocked` and report before recovery unless the condition or later user direction authorizes a path.
|
|
212
|
+
|
|
213
|
+
## Maintain The Current Slice
|
|
214
|
+
|
|
215
|
+
### Current States
|
|
216
|
+
|
|
217
|
+
Current Slice permits:
|
|
218
|
+
|
|
219
|
+
- `In progress`: active work, including its in-scope discussion, feedback, review, correction, record maintenance, and checkpoints.
|
|
220
|
+
- `Blocked`: safe continuation is impossible because a required decision, dependency, capability, evidence source, stop condition, or other condition is unavailable.
|
|
221
|
+
|
|
222
|
+
A slice may span multiple Workflow Feedback Loop iterations and owning skills while its intended result remains coherent. Waiting for ordinary feedback, discussing, reviewing, or correcting within scope does not make it blocked.
|
|
223
|
+
|
|
224
|
+
### In-Slice Steering
|
|
225
|
+
|
|
226
|
+
Record state transitions, not every activity:
|
|
227
|
+
|
|
228
|
+
- do not log every edit, correction, implementation choice, or conversation;
|
|
229
|
+
- questions, criticism, and review findings do not authorize changes;
|
|
230
|
+
- apply authorized in-scope steering and preserve only its meaningful final effect when the slice closes;
|
|
231
|
+
- if feedback would change the recorded result, scope, authority, evidence boundary, or stop conditions, classify and record the change before acting.
|
|
232
|
+
|
|
233
|
+
Routine implementation feedback is in-slice collaboration, not a checkpoint or history event by default.
|
|
234
|
+
|
|
235
|
+
### Scope Extensions
|
|
236
|
+
|
|
237
|
+
Before expanded work begins, decide whether it extends the current slice or needs a new one.
|
|
238
|
+
|
|
239
|
+
Keep an extension when:
|
|
240
|
+
|
|
241
|
+
- the intended result remains coherent;
|
|
242
|
+
- existing or new explicit authority covers it;
|
|
243
|
+
- the combined boundary can be verified and reviewed as one unit;
|
|
244
|
+
- no stop condition or owner decision requires another route.
|
|
245
|
+
|
|
246
|
+
Append the extension before execution. Preserve the original boundary and record:
|
|
247
|
+
|
|
248
|
+
- authority source;
|
|
249
|
+
- reason and added scope;
|
|
250
|
+
- added evidence;
|
|
251
|
+
- changed stop conditions;
|
|
252
|
+
- extension starting state.
|
|
253
|
+
|
|
254
|
+
Do not rewrite the original slice to imply the extension was always planned.
|
|
255
|
+
|
|
256
|
+
Use a new slice when the work needs a distinct result, authority, evidence boundary, or independently useful outcome, or when the original result is no longer pursued. First establish the current slice as `Completed`, historical `Blocked`, or `Abandoned`; then select the new slice before execution. A request to stop does not by itself establish which outcome applies.
|
|
257
|
+
|
|
258
|
+
### Blocked Work
|
|
259
|
+
|
|
260
|
+
Keep a newly blocked slice current, record the incident and required resolution, then stop.
|
|
261
|
+
|
|
262
|
+
- If the blocker resolves and the intended result remains coherent, return the same ID to `In progress`, preserve the incident, and record any accepted extension before execution.
|
|
263
|
+
- If resolution requires a distinct result, authority, or evidence boundary, park the attempt in History as `Blocked` and select a new slice.
|
|
264
|
+
- Resuming a historically blocked attempt creates a new authorized slice that refers to it.
|
|
265
|
+
|
|
266
|
+
Failure belongs in the result or evidence; it is not a slice state.
|
|
267
|
+
|
|
268
|
+
### Review And Other Routes
|
|
269
|
+
|
|
270
|
+
Implementation, verification, self-review, or a review report does not end the slice by itself. Review may support continuation, correction, more evidence, a route change, deferment, or stopping; it need not Pass.
|
|
271
|
+
|
|
272
|
+
Keep the slice current through accepted in-scope correction, discussion, evidence gathering, and checkpoints that belong to its result. Move it to History only when Workflow establishes the outcome.
|
|
273
|
+
|
|
274
|
+
## Close A Slice
|
|
275
|
+
|
|
276
|
+
Historical states are:
|
|
277
|
+
|
|
278
|
+
- `Completed`: the intended result and selected in-scope methods and checkpoints resolved sufficiently to finish.
|
|
279
|
+
- `Blocked`: the unresolved attempt was parked.
|
|
280
|
+
- `Abandoned`: the intended result is no longer pursued.
|
|
281
|
+
|
|
282
|
+
When closing:
|
|
283
|
+
|
|
284
|
+
1. Gather tests, verification, review, and checkpoint results.
|
|
285
|
+
2. Move the slice to History with the established state.
|
|
286
|
+
3. Preserve the original boundary and every accepted extension with its authority.
|
|
287
|
+
4. Record work performed, result, task effect, evidence boundaries, and useful stable pointers.
|
|
288
|
+
5. Rewrite current understanding from the resulting present state. Remove completed-event detail now owned by History rather than appending another slice or review summary.
|
|
289
|
+
6. Reconcile decisions, hypotheses, proposals, blockers, and the next action only where feedback changed them.
|
|
290
|
+
7. Set `Current Slice` to `None`.
|
|
291
|
+
|
|
292
|
+
A learning slice may complete by disproving its hypothesis.
|
|
293
|
+
|
|
294
|
+
## Decisions
|
|
295
|
+
|
|
296
|
+
Use a `D-` ID for a task-local decision that affects later work:
|
|
297
|
+
|
|
298
|
+
- `Active`: currently affects interpretation or later work.
|
|
299
|
+
- `Superseded`: replaced or narrowed by a later decision; link both records.
|
|
300
|
+
- `Retired`: remains historically valid but no longer affects later work.
|
|
301
|
+
|
|
302
|
+
List only active decision summaries in Current Context. Keep full rationale and lineage in History.
|
|
303
|
+
|
|
304
|
+
## Checkpoints
|
|
305
|
+
|
|
306
|
+
Use checkpoints only for additional boundaries selected in an approved Plan or explicit discussion:
|
|
307
|
+
|
|
308
|
+
- `Independent review`: broader judgment before dependent work.
|
|
309
|
+
- `Local commit`: coherent rollback and provenance.
|
|
310
|
+
- `User decision`: approval or choice needed before continuing.
|
|
311
|
+
- `Continuity`: record reconciliation, pause, or handoff.
|
|
312
|
+
|
|
313
|
+
Keep pending checkpoints under Current Work with their approved source and condition. A slice may reference a checkpoint that follows it, and a phase or integration checkpoint may span several slices.
|
|
314
|
+
|
|
315
|
+
- A selected slice review may be a checkpoint; review between implementation changes is not one merely because work pauses for the user.
|
|
316
|
+
- Record checkpoint completion separately from its judgment or decision.
|
|
317
|
+
- A question, criticism, new topic, temporal proximity, or unrelated authorization is not automatically a checkpoint result.
|
|
318
|
+
- Keep the Current Slice `In progress` when the checkpoint belongs to its result.
|
|
319
|
+
- When a selected phase-, task-, or continuity-level checkpoint follows a completed slice, leave `Current Slice` as `None` and record the checkpoint as the next useful action.
|
|
320
|
+
- After a checkpoint, move its result to History, remove it from the upcoming list, and return its outcome to Workflow.
|
|
321
|
+
- If its conditions no longer hold, return the deviation to Workflow rather than forcing it.
|
|
322
|
+
- A local commit checkpoint does not authorize push or integration.
|
|
323
|
+
|
|
324
|
+
## Evidence And History
|
|
325
|
+
|
|
326
|
+
Give each detailed fact one owner. Keep evidence with the slice that produced or used it; when checkpoint history also records that event, one entry owns the findings and exact evidence while the other gives a concise result and pointer rather than duplicating them. Preserve enough detail to recover:
|
|
327
|
+
|
|
328
|
+
- what was checked or observed;
|
|
329
|
+
- what the result supports and does not support;
|
|
330
|
+
- which code, configuration, artifact, or external state was checked;
|
|
331
|
+
- independent-review judgment and adjudication when review occurred;
|
|
332
|
+
- completed checkpoint results;
|
|
333
|
+
- where exact evidence can be found.
|
|
334
|
+
|
|
335
|
+
Useful pointers include:
|
|
336
|
+
|
|
337
|
+
```text
|
|
338
|
+
file:<path>#<section>
|
|
339
|
+
commit:<sha>
|
|
340
|
+
output:<output-id>
|
|
341
|
+
review:<conversation-or-reference>
|
|
342
|
+
session:<session-id>/turn:<turn-id>
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
Use only identifiers that exist. Do not copy large raw output or create separate history for routine self-review. Preserve detail when it prevents false claims, lost rationale, or repeated investigation; do not optimize history toward an arbitrary line count.
|
|
346
|
+
|
|
347
|
+
## Notes
|
|
348
|
+
|
|
349
|
+
Notes preserve context with no active task effect. They normally originate from an explicit user request to note, remember, retain, or defer something.
|
|
350
|
+
|
|
351
|
+
During authorized record maintenance, add an agent-originated Note only when the information is concrete, task-adjacent, worth preserving across context loss, not already recorded, and has no structured owner. Ask when authorship or retention intent matters.
|
|
352
|
+
|
|
353
|
+
Notes do not authorize, prioritize, schedule, block, unblock, prove, or require follow-up. Do not periodically triage them or create Specs, Plans, issues, decisions, slices, or artifacts from them by default.
|
|
354
|
+
|
|
355
|
+
A deferred unselected idea may remain a Note when it does not affect current scope or completion. If deferral changes scope, completion, or a future obligation, record that effect in its owning section while the Note remains inert.
|
|
356
|
+
|
|
357
|
+
If later user direction independently makes Note content active, create the appropriate structured state from that new direction. Preserve the original user-authored Note unless the user asks to change it; reference it when provenance helps.
|
|
358
|
+
|
|
359
|
+
Keep Notes last and read them as part of the complete record without treating them as instructions.
|
|
360
|
+
|
|
361
|
+
## Consistency Check
|
|
362
|
+
|
|
363
|
+
Before relying on or finishing an update, confirm:
|
|
364
|
+
|
|
365
|
+
- Current Context agrees with recent evidence, describes the present state rather than accumulated events, and contains only active decision summaries.
|
|
366
|
+
- Completed slice, review, test, hash, and live-run detail has one History owner and is not duplicated in Current Context or parallel history entries.
|
|
367
|
+
- Current Work names no more than one slice and its authority source is clear.
|
|
368
|
+
- Every current or historical slice keeps one stable `S-` ID.
|
|
369
|
+
- Discussion, review, correction, small steering, and in-slice checkpoints do not replace a coherent Current Slice.
|
|
370
|
+
- Small in-scope steering is reconciled at completion rather than logged as an event.
|
|
371
|
+
- Accepted extensions preserve the original boundary and are recorded before execution and in History.
|
|
372
|
+
- Ordinary in-slice feedback is not checkpoint history; selected checkpoints retain their condition and explicit result.
|
|
373
|
+
- `Blocked` means safe continuation is unavailable, not merely that feedback or review is pending.
|
|
374
|
+
- Proposed slices remain ordered, unnumbered, and unidentified.
|
|
375
|
+
- Upcoming checkpoints still match their approved source and condition.
|
|
376
|
+
- Superseded and Retired decisions and finished slices remain recoverable.
|
|
377
|
+
- Notes remain inert and user-authored Notes preserve their meaning.
|
|
378
|
+
- Live code, tests, docs, runtime evidence, and user decisions override contradictory memory.
|