@hassangameryt/freeflow 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +1 -1
- package/.claude-plugin/marketplace.json +4 -4
- package/{plugins/freeflow/.claude-plugin → .claude-plugin}/plugin.json +5 -2
- package/{plugins/freeflow/.codex-plugin → .codex-plugin}/plugin.json +8 -9
- package/README.md +194 -127
- package/assets/feedback-loop.png +0 -0
- package/assets/freeflow-plugin-icon.png +0 -0
- package/assets/freeflow_workflow_map.png +0 -0
- package/assets/workflow.png +0 -0
- package/command-surface.json +129 -0
- package/hooks/freeflow-runtime-context.mjs +419 -0
- package/hooks/tests/check-runtime-context-hook.sh +223 -0
- package/package.json +41 -22
- package/pi-extension/dist/index.js +269 -0
- package/pi-extension/dist/integrations/mcp-config.js +29 -0
- package/pi-extension/dist/output-router/host-producer-identification.js +232 -0
- package/pi-extension/dist/output-router/native-safety-net.js +216 -0
- package/pi-extension/dist/output-router/observed-tool-routing.js +122 -0
- package/pi-extension/dist/output-router/renderers.js +1023 -0
- package/pi-extension/dist/output-router/router-tools.js +554 -0
- package/pi-extension/dist/output-router/schemas.js +383 -0
- package/pi-extension/dist/output-router/status.js +744 -0
- package/pi-extension/dist/output-router/utils.js +502 -0
- package/pi-extension/dist/runtime/runtime-context.js +798 -0
- package/pi-extension/dist/settings/settings-tui.js +314 -0
- package/pi-extension/dist/settings/settings-ui.js +1487 -0
- package/pi-extension/freeflow/index.js +1 -0
- package/pi-extension/src/index.ts +295 -0
- package/pi-extension/src/integrations/mcp-config.ts +32 -0
- package/pi-extension/src/output-router/host-producer-identification.ts +256 -0
- package/pi-extension/src/output-router/native-safety-net.ts +248 -0
- package/pi-extension/src/output-router/observed-tool-routing.ts +134 -0
- package/pi-extension/src/output-router/renderers.ts +1108 -0
- package/pi-extension/src/output-router/router-tools.ts +579 -0
- package/pi-extension/src/output-router/schemas.ts +387 -0
- package/pi-extension/src/output-router/status.ts +791 -0
- package/pi-extension/src/output-router/utils.ts +554 -0
- package/pi-extension/src/runtime/runtime-context.ts +895 -0
- package/pi-extension/src/settings/settings-tui.ts +408 -0
- package/pi-extension/src/settings/settings-ui.ts +1730 -0
- package/pi-extension/tests/integration/pi-extension.test.js +4018 -0
- package/pi-extension/tests/output-router/observed-producers.test.js +132 -0
- package/pi-extension/tests/output-router/search.test.js +722 -0
- package/pi-extension/tests/settings/settings-tui.test.js +243 -0
- package/pi-extension/tsconfig.json +16 -0
- package/{plugins/freeflow/router/dist → router/dist/benchmarks}/benchmark-harness.d.ts +16 -13
- package/router/dist/benchmarks/benchmark-harness.js +92 -0
- package/router/dist/benchmarks/benchmarks.d.ts +109 -0
- package/router/dist/benchmarks/benchmarks.js +979 -0
- package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +95 -0
- package/router/dist/benchmarks/codex-qa-benchmarks.js +500 -0
- package/router/dist/benchmarks/command-benchmarks.d.ts +143 -0
- package/router/dist/benchmarks/command-benchmarks.js +698 -0
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +82 -0
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +773 -0
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +132 -0
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +1380 -0
- package/router/dist/benchmarks/context-saving-baseline.d.ts +60 -0
- package/router/dist/benchmarks/context-saving-baseline.js +470 -0
- package/router/dist/benchmarks/index-benchmarks.d.ts +103 -0
- package/router/dist/benchmarks/index-benchmarks.js +862 -0
- package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +101 -0
- package/router/dist/benchmarks/storage-policy-benchmarks.js +618 -0
- package/router/dist/benchmarks/vault-index-benchmarks.d.ts +56 -0
- package/router/dist/benchmarks/vault-index-benchmarks.js +322 -0
- package/router/dist/config/config.d.ts +103 -0
- package/router/dist/config/config.js +632 -0
- package/{plugins/freeflow/router/dist → router/dist/config}/router-contract.d.ts +2 -2
- package/router/dist/config/router-contract.js +54 -0
- package/{plugins/freeflow/router/dist → router/dist/config}/schema.d.ts +19 -10
- package/router/dist/config/schema.js +648 -0
- package/router/dist/config/types.d.ts +573 -0
- package/router/dist/config/types.js +41 -0
- package/router/dist/evidence/bounded-evidence.d.ts +40 -0
- package/router/dist/evidence/bounded-evidence.js +323 -0
- package/router/dist/evidence/evidence-range-selector.d.ts +24 -0
- package/router/dist/evidence/evidence-range-selector.js +232 -0
- package/router/dist/evidence/evidence-search.d.ts +27 -0
- package/router/dist/evidence/evidence-search.js +490 -0
- package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence.d.ts +18 -18
- package/router/dist/evidence/evidence.js +200 -0
- package/router/dist/evidence/failure-contracts.d.ts +37 -0
- package/router/dist/evidence/failure-contracts.js +166 -0
- package/router/dist/evidence/line-ranges.d.ts +24 -0
- package/router/dist/evidence/line-ranges.js +22 -0
- package/router/dist/experiments/local-index.d.ts +64 -0
- package/router/dist/experiments/local-index.js +581 -0
- package/router/dist/index.d.ts +30 -0
- package/router/dist/index.js +32 -0
- package/router/dist/local/local-traversal.d.ts +18 -0
- package/router/dist/local/local-traversal.js +334 -0
- package/router/dist/processing/engine.d.ts +132 -0
- package/router/dist/processing/engine.js +533 -0
- package/router/dist/processing/reducers.d.ts +280 -0
- package/router/dist/processing/reducers.js +1673 -0
- package/router/dist/processing/renderers.d.ts +31 -0
- package/router/dist/processing/renderers.js +195 -0
- package/router/dist/processing/scripts.d.ts +91 -0
- package/router/dist/processing/scripts.js +386 -0
- package/{plugins/freeflow/router/dist → router/dist/repo}/repo-traversal.d.ts +9 -9
- package/router/dist/repo/repo-traversal.js +245 -0
- package/router/dist/routing/observed-reducers.d.ts +41 -0
- package/router/dist/routing/observed-reducers.js +661 -0
- package/router/dist/routing/observed-routing.d.ts +26 -0
- package/router/dist/routing/observed-routing.js +378 -0
- package/router/dist/routing/parsers.d.ts +16 -0
- package/router/dist/routing/parsers.js +521 -0
- package/router/dist/routing/run-filters.d.ts +60 -0
- package/router/dist/routing/run-filters.js +238 -0
- package/router/dist/routing/run-reducers.d.ts +49 -0
- package/router/dist/routing/run-reducers.js +122 -0
- package/router/dist/sandbox/adapter-roots.d.ts +46 -0
- package/router/dist/sandbox/adapter-roots.js +66 -0
- package/router/dist/sandbox/eryx-python-adapter.d.ts +13 -0
- package/router/dist/sandbox/eryx-python-adapter.js +868 -0
- package/router/dist/sandbox/jq-wasm-adapter.d.ts +9 -0
- package/router/dist/sandbox/jq-wasm-adapter.js +429 -0
- package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +13 -0
- package/router/dist/sandbox/quickjs-wasi-adapter.js +384 -0
- package/router/dist/sandbox/script-sandbox.d.ts +134 -0
- package/router/dist/sandbox/script-sandbox.js +337 -0
- package/router/dist/setup/script-transform-adapters.d.ts +32 -0
- package/router/dist/setup/script-transform-adapters.js +278 -0
- package/router/dist/tools/batch.d.ts +33 -0
- package/router/dist/tools/batch.js +586 -0
- package/router/dist/tools/run.d.ts +62 -0
- package/router/dist/tools/run.js +1304 -0
- package/router/dist/tools/search.d.ts +66 -0
- package/router/dist/tools/search.js +1364 -0
- package/router/dist/transform/engine.d.ts +168 -0
- package/router/dist/transform/engine.js +2072 -0
- package/router/dist/vault/vault-index.d.ts +125 -0
- package/router/dist/vault/vault-index.js +416 -0
- package/router/dist/vault/vault.d.ts +138 -0
- package/router/dist/vault/vault.js +630 -0
- package/runtime/interaction-contract.md +16 -0
- package/skills/bypass/SKILL.md +82 -0
- package/skills/commit-work/SKILL.md +106 -0
- package/skills/commit-work/references/staging-decisions.md +73 -0
- package/skills/decision-gate/SKILL.md +48 -0
- package/skills/design-for-depth/SKILL.md +106 -0
- package/skills/design-for-depth/references/design-pressure-signals.md +314 -0
- package/skills/design-for-depth/references/interface-design-loop.md +156 -0
- package/skills/design-for-depth/references/software-design-philosophy.md +248 -0
- package/skills/diagnose-failure/SKILL.md +105 -0
- package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +36 -0
- package/skills/diagnose-failure/references/flaky-and-performance.md +43 -0
- package/skills/discuss/SKILL.md +121 -0
- package/skills/discuss/references/checkpoints.md +66 -0
- package/skills/evaluate-skill/SKILL.md +105 -0
- package/skills/evaluate-skill/references/definition-schema.md +345 -0
- package/skills/evaluate-skill/references/evaluation-design.md +86 -0
- package/skills/evaluate-skill/references/execution-and-evidence.md +85 -0
- package/skills/evaluate-skill/references/review-and-revision.md +51 -0
- package/skills/evaluate-skill/scripts/lib/definitions.mjs +296 -0
- package/skills/evaluate-skill/scripts/lib/evidence.mjs +46 -0
- package/skills/evaluate-skill/scripts/lib/grade-comparison.mjs +60 -0
- package/skills/evaluate-skill/scripts/lib/grade-interaction.mjs +148 -0
- package/skills/evaluate-skill/scripts/lib/grade-support.mjs +126 -0
- package/skills/evaluate-skill/scripts/lib/grade-workspace.mjs +192 -0
- package/skills/evaluate-skill/scripts/lib/grade.mjs +56 -0
- package/skills/evaluate-skill/scripts/lib/pi.mjs +489 -0
- package/skills/evaluate-skill/scripts/lib/process.mjs +79 -0
- package/skills/evaluate-skill/scripts/lib/rpc.mjs +444 -0
- package/skills/evaluate-skill/scripts/lib/runner.mjs +346 -0
- package/skills/evaluate-skill/scripts/lib/sandbox.mjs +409 -0
- package/skills/evaluate-skill/scripts/lib/view.mjs +337 -0
- package/skills/evaluate-skill/scripts/pi-guard.mjs +164 -0
- package/skills/evaluate-skill/scripts/skill-eval.mjs +101 -0
- package/skills/execute-work/SKILL.md +99 -0
- package/skills/execute-work/references/code-practices.md +78 -0
- package/skills/execute-work/references/execution-loop.md +77 -0
- package/skills/finish-branch/SKILL.md +117 -0
- package/skills/finish-branch/references/integration-options.md +80 -0
- package/skills/handoff/SKILL.md +92 -0
- package/skills/handoff/references/templates.md +141 -0
- package/skills/launch-work/SKILL.md +116 -0
- package/skills/launch-work/references/launch-readiness.md +85 -0
- package/skills/migration-work/SKILL.md +115 -0
- package/skills/migration-work/references/migration-lifecycle.md +82 -0
- package/skills/mode-contract/SKILL.md +82 -0
- package/skills/output-router/SKILL.md +206 -0
- package/skills/output-router/references/safety-policy.md +40 -0
- package/skills/release-work/SKILL.md +118 -0
- package/skills/release-work/references/release-evidence.md +78 -0
- package/skills/review-artifact/SKILL.md +126 -0
- package/skills/review-artifact/references/reviewer-prompt.md +148 -0
- package/skills/review-work/SKILL.md +126 -0
- package/skills/review-work/references/reviewer-prompt.md +134 -0
- package/skills/review-work/references/security-risk-lens.md +67 -0
- package/skills/setup-freeflow/SKILL.md +98 -0
- package/skills/setup-freeflow/references/activation-contract.md +120 -0
- package/skills/setup-freeflow/references/host-setup.md +72 -0
- package/skills/setup-freeflow/references/output-router-setup.md +110 -0
- package/skills/simplify-code/SKILL.md +80 -0
- package/skills/simplify-code/references/simplification-patterns.md +70 -0
- package/skills/tdd/SKILL.md +96 -0
- package/skills/tdd/references/test-design.md +96 -0
- package/skills/track-work/SKILL.md +84 -0
- package/skills/track-work/references/working-record-schema.md +378 -0
- package/skills/verify-work/SKILL.md +85 -0
- package/skills/verify-work/references/browser-runtime-evidence.md +55 -0
- package/skills/verify-work/references/integration-evidence.md +51 -0
- package/skills/verify-work/references/performance-evidence.md +57 -0
- package/skills/workflow/SKILL.md +91 -0
- package/skills/workflow/references/domain-skill-composition.md +57 -0
- package/skills/workflow/references/workflow-loop.md +92 -0
- package/skills/write-plan/SKILL.md +123 -0
- package/skills/write-plan/references/plan-shapes.md +156 -0
- package/skills/write-skill/SKILL.md +119 -0
- package/skills/write-skill/references/activation-boundaries.md +62 -0
- package/skills/write-skill/references/agent-first-instructions.md +87 -0
- package/skills/write-skill/references/progressive-disclosure.md +63 -0
- package/skills/write-skill/scripts/lib/skill-author.mjs +653 -0
- package/skills/write-skill/scripts/skill-author.mjs +104 -0
- package/skills/write-spec/SKILL.md +104 -0
- package/skills/write-spec/references/artifact-standards.md +86 -0
- package/skills/write-spec/references/decision-records.md +77 -0
- package/skills/write-spec/references/spec-shapes.md +128 -0
- package/plugins/freeflow/command-surface.json +0 -77
- package/plugins/freeflow/docs/README.md +0 -40
- package/plugins/freeflow/docs/adr/0001-three-modes.md +0 -27
- package/plugins/freeflow/docs/adr/0002-evals-before-hooks.md +0 -17
- package/plugins/freeflow/docs/adr/0003-release-boundary.md +0 -21
- package/plugins/freeflow/docs/adr/0004-research-replaces-shallow-discovery-skills.md +0 -26
- package/plugins/freeflow/docs/adr/README.md +0 -8
- package/plugins/freeflow/docs/architecture.md +0 -86
- package/plugins/freeflow/docs/output-router.md +0 -212
- package/plugins/freeflow/docs/release-evidence.md +0 -69
- package/plugins/freeflow/docs/skills.md +0 -43
- package/plugins/freeflow/docs/workflow.md +0 -57
- package/plugins/freeflow/hooks/freeflow-runtime-context.mjs +0 -257
- package/plugins/freeflow/pi-extension/index.js +0 -1176
- package/plugins/freeflow/router/dist/benchmark-harness.js +0 -92
- package/plugins/freeflow/router/dist/benchmarks.d.ts +0 -102
- package/plugins/freeflow/router/dist/benchmarks.js +0 -880
- package/plugins/freeflow/router/dist/bounded-evidence.d.ts +0 -40
- package/plugins/freeflow/router/dist/bounded-evidence.js +0 -310
- package/plugins/freeflow/router/dist/codex-qa-benchmarks.d.ts +0 -91
- package/plugins/freeflow/router/dist/codex-qa-benchmarks.js +0 -461
- package/plugins/freeflow/router/dist/command-benchmarks.d.ts +0 -128
- package/plugins/freeflow/router/dist/command-benchmarks.js +0 -652
- package/plugins/freeflow/router/dist/config.d.ts +0 -22
- package/plugins/freeflow/router/dist/config.js +0 -114
- package/plugins/freeflow/router/dist/evidence-range-selector.d.ts +0 -22
- package/plugins/freeflow/router/dist/evidence-range-selector.js +0 -180
- package/plugins/freeflow/router/dist/evidence-search.d.ts +0 -25
- package/plugins/freeflow/router/dist/evidence-search.js +0 -450
- package/plugins/freeflow/router/dist/evidence.js +0 -196
- package/plugins/freeflow/router/dist/experimental-local-index.d.ts +0 -1
- package/plugins/freeflow/router/dist/experimental-local-index.js +0 -1
- package/plugins/freeflow/router/dist/experiments/local-index.d.ts +0 -58
- package/plugins/freeflow/router/dist/experiments/local-index.js +0 -562
- package/plugins/freeflow/router/dist/index-benchmarks.d.ts +0 -84
- package/plugins/freeflow/router/dist/index-benchmarks.js +0 -458
- package/plugins/freeflow/router/dist/index.d.ts +0 -12
- package/plugins/freeflow/router/dist/index.js +0 -12
- package/plugins/freeflow/router/dist/line-ranges.d.ts +0 -22
- package/plugins/freeflow/router/dist/line-ranges.js +0 -22
- package/plugins/freeflow/router/dist/parsers.d.ts +0 -16
- package/plugins/freeflow/router/dist/parsers.js +0 -473
- package/plugins/freeflow/router/dist/repo-traversal.js +0 -242
- package/plugins/freeflow/router/dist/retrieve.d.ts +0 -33
- package/plugins/freeflow/router/dist/retrieve.js +0 -855
- package/plugins/freeflow/router/dist/router-contract.js +0 -54
- package/plugins/freeflow/router/dist/run.d.ts +0 -26
- package/plugins/freeflow/router/dist/run.js +0 -356
- package/plugins/freeflow/router/dist/schema.js +0 -354
- package/plugins/freeflow/router/dist/types.d.ts +0 -234
- package/plugins/freeflow/router/dist/types.js +0 -9
- package/plugins/freeflow/router/dist/vault.d.ts +0 -80
- package/plugins/freeflow/router/dist/vault.js +0 -484
- package/plugins/freeflow/skills/bypass/SKILL.md +0 -68
- package/plugins/freeflow/skills/commit-work/SKILL.md +0 -98
- package/plugins/freeflow/skills/commit-work/references/staging-decisions.md +0 -51
- package/plugins/freeflow/skills/diagnose-failure/SKILL.md +0 -95
- package/plugins/freeflow/skills/diagnose-failure/references/feedback-loop-catalog.md +0 -25
- package/plugins/freeflow/skills/diagnose-failure/references/flaky-and-performance.md +0 -31
- package/plugins/freeflow/skills/evaluate-skill/SKILL.md +0 -96
- package/plugins/freeflow/skills/evaluate-skill/references/eval-patterns.md +0 -41
- package/plugins/freeflow/skills/evaluate-skill/references/grading-priority.md +0 -33
- package/plugins/freeflow/skills/execute-plan/SKILL.md +0 -132
- package/plugins/freeflow/skills/execute-plan/references/execution-map.md +0 -122
- package/plugins/freeflow/skills/handoff/SKILL.md +0 -66
- package/plugins/freeflow/skills/handoff/references/templates.md +0 -64
- package/plugins/freeflow/skills/interview-gate/SKILL.md +0 -90
- package/plugins/freeflow/skills/mode-contract/SKILL.md +0 -79
- package/plugins/freeflow/skills/output-router/SKILL.md +0 -69
- package/plugins/freeflow/skills/output-router/references/safety-policy.md +0 -33
- package/plugins/freeflow/skills/research/ARTIFACT-DESTINATIONS.md +0 -58
- package/plugins/freeflow/skills/research/CHECKPOINTS.md +0 -74
- package/plugins/freeflow/skills/research/LANGUAGE.md +0 -61
- package/plugins/freeflow/skills/research/SKILL.md +0 -128
- package/plugins/freeflow/skills/review-artifact/SKILL.md +0 -115
- package/plugins/freeflow/skills/review-artifact/references/reviewer-prompt.md +0 -56
- package/plugins/freeflow/skills/review-work/SKILL.md +0 -96
- package/plugins/freeflow/skills/review-work/references/reviewer-prompt.md +0 -97
- package/plugins/freeflow/skills/setup-freeflow/SKILL.md +0 -94
- package/plugins/freeflow/skills/setup-freeflow/references/activation-contract.md +0 -99
- package/plugins/freeflow/skills/setup-freeflow/references/host-setup.md +0 -35
- package/plugins/freeflow/skills/setup-freeflow/references/output-router-setup.md +0 -52
- package/plugins/freeflow/skills/verify-work/SKILL.md +0 -62
- package/plugins/freeflow/skills/workflow/SKILL.md +0 -95
- package/plugins/freeflow/skills/workflow/references/workflow-map.md +0 -102
- package/plugins/freeflow/skills/write-plan/SKILL.md +0 -88
- package/plugins/freeflow/skills/write-plan/references/plan-shapes.md +0 -70
- package/plugins/freeflow/skills/write-skill/SKILL.md +0 -88
- package/plugins/freeflow/skills/write-spec/SKILL.md +0 -90
- package/plugins/freeflow/skills/write-spec/references/artifact-standards.md +0 -67
- package/plugins/freeflow/skills/write-spec/references/spec-shapes.md +0 -69
- /package/{plugins/freeflow/assets → assets}/freeflow-plugin-icon-transparent.png +0 -0
- /package/{plugins/freeflow/hooks → hooks}/hooks.json +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Independent Artifact Reviewer Contract
|
|
2
|
+
|
|
3
|
+
Use this when preparing an independent review of a durable artifact.
|
|
4
|
+
|
|
5
|
+
The reviewer did not produce the artifact. Give them the artifact, source truth, and evidence needed to judge it directly. The reviewer reports review items without editing.
|
|
6
|
+
|
|
7
|
+
## Required Context
|
|
8
|
+
|
|
9
|
+
Provide:
|
|
10
|
+
|
|
11
|
+
- artifact path, type, current state, and intended use;
|
|
12
|
+
- accepted outcome, requirements, and non-goals;
|
|
13
|
+
- owner decisions and unresolved questions;
|
|
14
|
+
- relevant code, tests, policies, ADRs, and established behavior;
|
|
15
|
+
- the artifact-specific schema or format contract when one exists;
|
|
16
|
+
- upstream and downstream artifacts in dependency order;
|
|
17
|
+
- known evidence gaps;
|
|
18
|
+
- review number and, for a follow-up, prior items, adjudication, revisions, and new evidence.
|
|
19
|
+
|
|
20
|
+
For an artifact package, identify upstream authority and which work remains provisional or dependent.
|
|
21
|
+
|
|
22
|
+
## Reviewer Prompt
|
|
23
|
+
|
|
24
|
+
```md
|
|
25
|
+
# Independent Artifact Review
|
|
26
|
+
|
|
27
|
+
Review an artifact you did not produce. Inspect the complete artifact and source evidence directly. Report review items without editing. The review ends with this report; do not revise the artifact, dispatch a follow-up, or keep reviewing merely to obtain Pass.
|
|
28
|
+
|
|
29
|
+
A pass is valid. Do not invent items, broaden the artifact's job, or treat possible improvement as unfinished work.
|
|
30
|
+
|
|
31
|
+
## Artifact And Intended Use
|
|
32
|
+
|
|
33
|
+
- Artifact: [path]
|
|
34
|
+
- Type: [working record | spec | PRD | issue | API contract | technical design | migration contract | plan | decision record | ADR | handoff | other]
|
|
35
|
+
- Reviewed state: [revision, hash, or other identity]
|
|
36
|
+
- Intended use: [decision or future action this artifact must support]
|
|
37
|
+
- Dependency order: [upstream -> downstream, or standalone]
|
|
38
|
+
|
|
39
|
+
## Accepted Outcome And Non-Goals
|
|
40
|
+
|
|
41
|
+
- Outcome: [accepted outcome]
|
|
42
|
+
- Requirements: [accepted requirements]
|
|
43
|
+
- Non-goals: [intentional exclusions]
|
|
44
|
+
- Owner decisions: [settled decisions or none]
|
|
45
|
+
- Unresolved questions: [questions or none]
|
|
46
|
+
|
|
47
|
+
## Source Truth
|
|
48
|
+
|
|
49
|
+
- [code, tests, policies, ADRs, established behavior, upstream artifacts]
|
|
50
|
+
|
|
51
|
+
## Evidence And Known Gaps
|
|
52
|
+
|
|
53
|
+
- Supporting evidence: [evidence or none]
|
|
54
|
+
- Known gaps: [gaps or none]
|
|
55
|
+
|
|
56
|
+
## Review Scope
|
|
57
|
+
|
|
58
|
+
- Review number: [1 | 2 | 3]
|
|
59
|
+
- Material lenses: [source alignment | fitness and sufficiency | decision clarity | evidence and acceptance | behavior and failure contract | dependency integrity | scope and minimality | clarity and continuity]
|
|
60
|
+
|
|
61
|
+
For Review 2 or 3:
|
|
62
|
+
- Prior items and adjudication: [Accepted | Rejected | Open]
|
|
63
|
+
- Revisions and new evidence: [bounded changes and evidence]
|
|
64
|
+
- Affected dependencies: [dependencies or none]
|
|
65
|
+
- Remaining risk: [narrow unresolved scope]
|
|
66
|
+
|
|
67
|
+
## Judge The Artifact By Its Job
|
|
68
|
+
|
|
69
|
+
- **Working Record:** accurate living task memory with recoverable slices and decisions, compact evidence pointers, and one next useful action.
|
|
70
|
+
- **Spec or durable content artifact:** accepted content, behavior, boundaries, evidence, and uncertainty needed for its stated use.
|
|
71
|
+
- **Plan:** inspectable ordered strategy with scope, dependencies, assumptions, checks, and stop conditions.
|
|
72
|
+
- **Decision record or ADR:** decision, owner, alternatives, rationale, consequences, and revisit or supersession conditions.
|
|
73
|
+
- **Handoff:** point-in-time continuation package that preserves what its recipient needs without replacing live task memory.
|
|
74
|
+
- **Other artifact:** its stated purpose without taking over another artifact's job.
|
|
75
|
+
|
|
76
|
+
## Check
|
|
77
|
+
|
|
78
|
+
Apply only the selected lenses:
|
|
79
|
+
|
|
80
|
+
- The artifact agrees with accepted requirements, owner decisions, and live facts.
|
|
81
|
+
- It contains enough for its intended use without pretending every future question is settled.
|
|
82
|
+
- Required, tentative, open, deferred, and superseded information cannot be confused.
|
|
83
|
+
- Load-bearing claims and acceptance conditions have suitable supporting or falsifying mechanisms.
|
|
84
|
+
- Consequential behavior, failure states, forbidden outcomes, observers, and recovery are explicit where required.
|
|
85
|
+
- Upstream and downstream artifacts remain consistent; provisional work is identified honestly.
|
|
86
|
+
- It avoids speculative scope, unnecessary process, transcript history, and duplicated information owned elsewhere.
|
|
87
|
+
- A future reader can use it without transcript memory or volatile copied context.
|
|
88
|
+
|
|
89
|
+
Do not demand exhaustive edge cases. A possible condition is not an Issue unless the artifact's intended use requires it, evidence shows it matters, or omission creates material risk. Use Question when expected behavior is undefined, Needs evidence when support is missing, and Improvement for useful content not required by this boundary.
|
|
90
|
+
|
|
91
|
+
If an upstream issue invalidates downstream assumptions, mark the affected material contingent instead of generating exhaustive downstream items.
|
|
92
|
+
|
|
93
|
+
For Review 2 or 3, inspect only accepted revisions, affected dependencies, new evidence, and remaining risk. Do not reopen Rejected items without contradictory evidence. For every new Blocking Issue, state whether it repeats, extends, invalidates, or exposes another consequence of a prior revision; is independent; or cannot yet be related from the evidence. Report a related pattern rather than proposing another revision. Review 3 is final for this cycle; do not recommend Review 4.
|
|
94
|
+
|
|
95
|
+
## Classify Review Items
|
|
96
|
+
|
|
97
|
+
- **Blocking Issue:** supported defect or risk that must be resolved before the artifact guides its intended use.
|
|
98
|
+
- **Non-blocking Issue:** real issue that can be deferred safely for this boundary.
|
|
99
|
+
- **Question:** material intent, requirement, or owner decision is unclear.
|
|
100
|
+
- **Needs evidence:** a load-bearing claim or condition cannot be established.
|
|
101
|
+
- **Improvement:** useful enhancement not required for this boundary. It does not affect judgment or authorize revision.
|
|
102
|
+
|
|
103
|
+
A Blocking Issue must include its exact location, violated source truth or artifact responsibility, evidence, concrete consequence for intended use, and smallest safe revision or owning activity to re-enter.
|
|
104
|
+
|
|
105
|
+
## Determine The Judgment
|
|
106
|
+
|
|
107
|
+
1. **Blocking:** one or more Blocking Issues exist.
|
|
108
|
+
2. **Inconclusive:** no Blocking Issue exists, but a material Question or Needs evidence item prevents judgment.
|
|
109
|
+
3. **Non-blocking:** only Non-blocking Issues remain.
|
|
110
|
+
4. **Pass:** no Issues or material Unresolved items remain. Improvements may still be reported.
|
|
111
|
+
|
|
112
|
+
## Output
|
|
113
|
+
|
|
114
|
+
Review type: independent
|
|
115
|
+
Review number: [1 | 2 | 3]
|
|
116
|
+
Artifact: [reviewed artifact]
|
|
117
|
+
Intended use: [reviewed boundary]
|
|
118
|
+
Reviewed state: [state identity]
|
|
119
|
+
Judgment: Pass | Non-blocking | Inconclusive | Blocking
|
|
120
|
+
Reasoning: [concise evidence-backed judgment]
|
|
121
|
+
Relationship to prior items (Review 2 or 3 only): [related consequence | independent defect | unclear, with evidence]
|
|
122
|
+
|
|
123
|
+
### Review Items
|
|
124
|
+
|
|
125
|
+
#### Issues — Blocking
|
|
126
|
+
- [location, issue, violated source or responsibility, evidence, consequence, smallest safe correction]
|
|
127
|
+
|
|
128
|
+
#### Issues — Non-blocking
|
|
129
|
+
- [location, issue, evidence, why it can be deferred]
|
|
130
|
+
|
|
131
|
+
#### Unresolved — Questions
|
|
132
|
+
- [question, effect on judgment, required answer]
|
|
133
|
+
|
|
134
|
+
#### Unresolved — Needs evidence
|
|
135
|
+
- [concern, missing evidence, evidence needed]
|
|
136
|
+
|
|
137
|
+
#### Improvements
|
|
138
|
+
- [improvement, benefit, supporting evidence]
|
|
139
|
+
|
|
140
|
+
Dependencies affected: [dependencies or none]
|
|
141
|
+
Evidence gaps: [unproved claims or none]
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Calibration
|
|
145
|
+
|
|
146
|
+
Use a high evidence bar, not a high item count. Lead with the few items that can change the artifact's fitness judgment. Prior review, artifact length, author confidence, or polished language does not establish fitness.
|
|
147
|
+
|
|
148
|
+
The review is evidence for adjudication, not authority over source truth, owner decisions, revisions, or another independent dispatch. Pass, Non-blocking, Inconclusive, and Blocking are all valid exits.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-work
|
|
3
|
+
description: Use when reviewing implementation or integrated work, whether reviewing work you produced or acting as an independent reviewer.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Review Work
|
|
7
|
+
|
|
8
|
+
Judge whether work is correct, suitable, and sufficiently evidenced for its intended boundary.
|
|
9
|
+
|
|
10
|
+
Review provides judgment. [Verify Work](../verify-work/SKILL.md) establishes what direct evidence proves. Review may challenge whether that evidence is sufficient, but it does not replace verification or authorize changes.
|
|
11
|
+
|
|
12
|
+
## Choose The Review Role
|
|
13
|
+
|
|
14
|
+
Choose the role before reviewing:
|
|
15
|
+
|
|
16
|
+
- **Self-review:** you produced the work. Inspect it silently using the relevant boundary and lenses below. Correct clear local issues within existing authority and re-verify. Create no formal review items, judgment, number, or cycle. Return unresolved material issues to [Workflow](../workflow/SKILL.md).
|
|
17
|
+
- **Independent review:** you did not produce the reviewed state. Inspect and report without editing. Use the formal item, judgment, and report method below. The receiving active agent adjudicates and routes the result.
|
|
18
|
+
|
|
19
|
+
Reading this skill does not create independence. If you produced the work, do not present your own judgment as independent review. Read [the reviewer prompt](references/reviewer-prompt.md) when preparing or performing a separately selected independent review.
|
|
20
|
+
|
|
21
|
+
## Establish The Boundary
|
|
22
|
+
|
|
23
|
+
Understand:
|
|
24
|
+
|
|
25
|
+
- the accepted outcome, requirements, and non-goals;
|
|
26
|
+
- the implementation, diff, or integrated work product;
|
|
27
|
+
- relevant Specs, Plans, tests, policies, ADRs, and established behavior;
|
|
28
|
+
- verification evidence and known gaps;
|
|
29
|
+
- risks and interactions material to the future action this review protects.
|
|
30
|
+
|
|
31
|
+
Inspect the work and source truth directly, not only the author's summary, reasoning, or claimed result. Read [the security risk lens](references/security-risk-lens.md) when the work changes a security-relevant boundary.
|
|
32
|
+
|
|
33
|
+
## Review Proportionately
|
|
34
|
+
|
|
35
|
+
Apply only lenses that can materially change the result:
|
|
36
|
+
|
|
37
|
+
- **Alignment and correctness:** accepted behavior is implemented without invention or omission.
|
|
38
|
+
- **Regression and integration:** affected callers, states, and components remain correct together.
|
|
39
|
+
- **Failure and risk:** relevant errors, recovery, permissions, data, and compatibility behave safely.
|
|
40
|
+
- **Evidence:** verification supports the claims and exercised the required boundary.
|
|
41
|
+
- **Design and minimality:** complexity and coordination are justified by requirements or observed failures.
|
|
42
|
+
- **Maintainability:** the work can be understood and changed without hidden policy or fragile coupling.
|
|
43
|
+
|
|
44
|
+
A pass is valid. Do not invent items, report preferences or hypothetical completeness, reopen intentional deferrals, or treat ordinary reversible choices as issues.
|
|
45
|
+
|
|
46
|
+
A possible edge case is not an Issue merely because it can be imagined:
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
Required failure path is missing -> Issue
|
|
50
|
+
Unsettled expected behavior -> Question
|
|
51
|
+
Plausible concern without reachability or consequence evidence -> Needs evidence
|
|
52
|
+
Useful resilience outside this boundary -> Improvement or omit
|
|
53
|
+
Repeated related corrections -> diagnose the shared cause
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Classify Independent Review Items
|
|
57
|
+
|
|
58
|
+
- **Blocking Issue:** a supported defect, regression, omission, or risk that must be resolved before crossing the reviewed boundary.
|
|
59
|
+
- **Non-blocking Issue:** a real issue that can be deferred safely for this boundary.
|
|
60
|
+
- **Question:** material intent, requirements, or an owner decision is unclear.
|
|
61
|
+
- **Needs evidence:** a plausible concern cannot be established from available evidence.
|
|
62
|
+
- **Improvement:** a materially useful enhancement not required by this boundary. It does not affect judgment or authorize implementation.
|
|
63
|
+
|
|
64
|
+
A Blocking Issue must name the exact location, violated requirement or source truth, evidence, concrete boundary consequence, and smallest safe correction or owning activity to re-enter.
|
|
65
|
+
|
|
66
|
+
Use the most consequential applicable judgment:
|
|
67
|
+
|
|
68
|
+
1. **Blocking:** one or more Blocking Issues exist.
|
|
69
|
+
2. **Inconclusive:** no Blocking Issue exists, but a material Question or Needs evidence item prevents judgment.
|
|
70
|
+
3. **Non-blocking:** only Non-blocking Issues remain.
|
|
71
|
+
4. **Pass:** no Issues or material Unresolved items remain. Improvements may still be reported.
|
|
72
|
+
|
|
73
|
+
Pass, Non-blocking, Inconclusive, and Blocking are all valid review exits. A review ends with its report; it does not remain active until the work passes.
|
|
74
|
+
|
|
75
|
+
## Adjudicate And Route
|
|
76
|
+
|
|
77
|
+
After independent review, the receiving active agent adjudicates each item against the work, source truth, and evidence:
|
|
78
|
+
|
|
79
|
+
- **Accepted:** supported and applicable.
|
|
80
|
+
- **Rejected:** unsupported, stale, resolved, duplicate, preference-only, out of scope, or based on a source misread.
|
|
81
|
+
- **Open:** a question or evidence gap prevents acceptance or rejection.
|
|
82
|
+
|
|
83
|
+
Confirm whether each accepted Issue is Blocking or Non-blocking, then derive the adjudicated judgment. Do not accept the reviewer's overall judgment separately.
|
|
84
|
+
|
|
85
|
+
Route from the adjudicated result:
|
|
86
|
+
|
|
87
|
+
- **Pass:** proceed.
|
|
88
|
+
- **Non-blocking:** proceed with explicit deferrals.
|
|
89
|
+
- **Inconclusive:** gather the missing evidence or decision.
|
|
90
|
+
- **Blocking:** do not cross the boundary; re-enter the narrowest owning activity, defer, or stop.
|
|
91
|
+
|
|
92
|
+
Review findings are evidence, not commands. They do not authorize edits. Accepted implementation corrections leave review and return to [Execute Work](../execute-work/SKILL.md); they may remain in the same [Track Work](../track-work/SKILL.md) slice while its intended result stays coherent.
|
|
93
|
+
|
|
94
|
+
When correction authority is not already explicit, ask once for either:
|
|
95
|
+
|
|
96
|
+
- the accepted corrections plus one warranted focused follow-up review; or
|
|
97
|
+
- the accepted corrections alone when direct evidence can settle the changed boundary.
|
|
98
|
+
|
|
99
|
+
Then wait for the user's response. Do not correct or dispatch a follow-up from the request, and do not ask again when existing authority already covers the bounded correction or review.
|
|
100
|
+
|
|
101
|
+
Verify authorized corrections. Run a follow-up only when the changed boundary still needs independent judgment and that dispatch is authorized. Do not change tests, Specs, policies, or accepted behavior merely to satisfy a reviewer or obtain Pass.
|
|
102
|
+
|
|
103
|
+
## Limit The Review Cycle
|
|
104
|
+
|
|
105
|
+
For one independently reviewed work state and boundary:
|
|
106
|
+
|
|
107
|
+
1. Review 1 is the normal broad review.
|
|
108
|
+
2. Review 2, when needed and authorized, focuses on accepted corrections, affected interactions, and remaining risk.
|
|
109
|
+
3. Review 3 is exceptional, authorized separately, and final for that cycle.
|
|
110
|
+
|
|
111
|
+
The budget is a cap, not dispatch authority. Do not request Review 4. At the cap, adjudicate and return control to Workflow; the work may proceed, remain blocked, re-enter another owner, defer, or stop.
|
|
112
|
+
|
|
113
|
+
After Review 2 is adjudicated Blocking, stop before proposing another correction or Review 3. Classify its relationship to the prior correction:
|
|
114
|
+
|
|
115
|
+
- If the blocker repeats, extends, invalidates, or exposes another consequence of the prior correction, or its cause remains unsupported, read [Diagnose Failure](../diagnose-failure/SKILL.md) and diagnose the shared cause before another patch.
|
|
116
|
+
- If it is an independent clear local defect with a supported cause, return directly to its owning activity and state why diagnosis is unnecessary.
|
|
117
|
+
|
|
118
|
+
A reviewer judgment alone does not trigger diagnosis; active-agent adjudication and evidence do. Review 3 is final judgment after the cause and correction boundary are understood, not a third attempt to discover the cause through patches. Workflow may later establish a new cycle only for a materially new reviewed state and boundary; local fixes, a different reviewer, or renamed scope do not reset it.
|
|
119
|
+
|
|
120
|
+
## Report
|
|
121
|
+
|
|
122
|
+
For self-review, report no formal review result. Correct clear local issues and surface only unresolved material issues that change the route.
|
|
123
|
+
|
|
124
|
+
For independent review, use the structured output in [the reviewer prompt](references/reviewer-prompt.md). The receiving agent reports the reviewer and adjudicated judgments, each material item's Accepted, Rejected, or Open outcome and reason, remaining open items, and authorized or proposed next route.
|
|
125
|
+
|
|
126
|
+
Omit empty groups. Support material judgments and adjudication with source or evidence rather than confidence.
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Independent Work Reviewer Contract
|
|
2
|
+
|
|
3
|
+
Use this when preparing an independent review of implementation or integrated work.
|
|
4
|
+
|
|
5
|
+
The reviewer did not produce the work. Give them the work product, source truth, and evidence needed to judge it directly. Do not provide only the author's summary, reasoning, or claimed result.
|
|
6
|
+
|
|
7
|
+
## Required Context
|
|
8
|
+
|
|
9
|
+
Provide:
|
|
10
|
+
|
|
11
|
+
- the work and future action covered by the review;
|
|
12
|
+
- accepted outcome, requirements, and non-goals;
|
|
13
|
+
- relevant specs, plans, tests, policies, ADRs, and established behavior;
|
|
14
|
+
- the implementation, changed files, or diff range;
|
|
15
|
+
- verification evidence and known gaps;
|
|
16
|
+
- only the review lenses material to this boundary;
|
|
17
|
+
- review number and, for a follow-up, prior items, adjudication, corrections, and new evidence.
|
|
18
|
+
|
|
19
|
+
When state transitions or proof integrity matter, also provide the invariant or state owner, affecting paths, observing mechanism, forbidden mutations, prior-state requirements, adversarial disproof, mutation footprint, and fidelity limits.
|
|
20
|
+
|
|
21
|
+
## Reviewer Prompt
|
|
22
|
+
|
|
23
|
+
```md
|
|
24
|
+
# Independent Work Review
|
|
25
|
+
|
|
26
|
+
Review work you did not produce. Inspect the supplied work, source truth, and evidence directly. Report review items without editing. The review ends with this report; do not fix items, dispatch a follow-up, or keep reviewing merely to obtain Pass.
|
|
27
|
+
|
|
28
|
+
A pass is valid. Do not invent items, broaden scope, or treat possible improvement as unfinished work.
|
|
29
|
+
|
|
30
|
+
## Boundary
|
|
31
|
+
|
|
32
|
+
[Work and future action this review covers.]
|
|
33
|
+
|
|
34
|
+
## Accepted Outcome And Non-Goals
|
|
35
|
+
|
|
36
|
+
- Outcome: [required result]
|
|
37
|
+
- Requirements: [accepted requirements]
|
|
38
|
+
- Non-goals: [intentional exclusions]
|
|
39
|
+
|
|
40
|
+
## Source Truth
|
|
41
|
+
|
|
42
|
+
- [specs, plans, tests, policies, ADRs, and established behavior]
|
|
43
|
+
|
|
44
|
+
## Work Product
|
|
45
|
+
|
|
46
|
+
- Reviewed state: [commit, tree, diff, or other identity]
|
|
47
|
+
- Work: [diff range, changed files, implementation, or integrated result]
|
|
48
|
+
|
|
49
|
+
## Verification Evidence
|
|
50
|
+
|
|
51
|
+
- Checks and results: [commands, observations, and results]
|
|
52
|
+
- Known gaps: [gaps or none]
|
|
53
|
+
- When relevant: [state owner, affecting paths, observer, forbidden mutations, prior-state requirements, adversarial disproof, mutation footprint, fidelity limits]
|
|
54
|
+
|
|
55
|
+
## Review Scope
|
|
56
|
+
|
|
57
|
+
- Review number: [1 | 2 | 3]
|
|
58
|
+
- Material lenses: [alignment and correctness | regression and integration | failure and risk | evidence | design and minimality | maintainability]
|
|
59
|
+
|
|
60
|
+
For Review 2 or 3:
|
|
61
|
+
- Prior items and adjudication: [Accepted | Rejected | Open]
|
|
62
|
+
- Clarifications: [settled decisions or none]
|
|
63
|
+
- Corrections and new evidence: [changes and verification]
|
|
64
|
+
- Remaining risk: [narrow unresolved scope]
|
|
65
|
+
|
|
66
|
+
## Check
|
|
67
|
+
|
|
68
|
+
Apply only the selected lenses:
|
|
69
|
+
|
|
70
|
+
- The work satisfies accepted behavior without invention or omission.
|
|
71
|
+
- Affected callers, states, and components remain correct together.
|
|
72
|
+
- Relevant failure paths and material risks are handled safely.
|
|
73
|
+
- Verification supports the claims and exercised the required boundary.
|
|
74
|
+
- Complexity and coordination are justified by requirements or observed failures.
|
|
75
|
+
- The work remains understandable and changeable without hidden policy or fragile coupling.
|
|
76
|
+
|
|
77
|
+
Do not search for unrelated issues. Report an out-of-scope issue only when it materially affects whether this boundary may be crossed.
|
|
78
|
+
|
|
79
|
+
A possible edge case is not an Issue without accepted behavior, observed reachability, or material risk. Use Question when expected behavior is unclear, Needs evidence when reachability or consequence is unsupported, and Improvement for useful resilience not required by the boundary.
|
|
80
|
+
|
|
81
|
+
For Review 2 or 3, inspect only accepted corrections, affected interactions, new evidence, and remaining risk. Do not reopen Rejected items without contradictory evidence. For every new Blocking Issue, state whether it repeats, extends, invalidates, or exposes another consequence of a prior correction; is independent; or cannot yet be related from the evidence. Report a related pattern rather than proposing another patch. Review 3 is final for this cycle; do not recommend Review 4.
|
|
82
|
+
|
|
83
|
+
## Classify Review Items
|
|
84
|
+
|
|
85
|
+
- **Blocking Issue:** supported defect or risk that must be resolved before crossing this boundary.
|
|
86
|
+
- **Non-blocking Issue:** real issue that can be deferred safely for this boundary.
|
|
87
|
+
- **Question:** material intent, requirement, or owner decision is unclear.
|
|
88
|
+
- **Needs evidence:** a plausible concern cannot be established from available evidence.
|
|
89
|
+
- **Improvement:** useful enhancement not required for this boundary. It does not affect judgment or authorize implementation.
|
|
90
|
+
|
|
91
|
+
A Blocking Issue must include its exact location, violated requirement or source truth, evidence, concrete boundary consequence, and smallest safe correction or owning activity to re-enter.
|
|
92
|
+
|
|
93
|
+
## Determine The Judgment
|
|
94
|
+
|
|
95
|
+
1. **Blocking:** one or more Blocking Issues exist.
|
|
96
|
+
2. **Inconclusive:** no Blocking Issue exists, but a material Question or Needs evidence item prevents judgment.
|
|
97
|
+
3. **Non-blocking:** only Non-blocking Issues remain.
|
|
98
|
+
4. **Pass:** no Issues or material Unresolved items remain. Improvements may still be reported.
|
|
99
|
+
|
|
100
|
+
## Output
|
|
101
|
+
|
|
102
|
+
Review type: independent
|
|
103
|
+
Review number: [1 | 2 | 3]
|
|
104
|
+
Boundary: [reviewed work and future action]
|
|
105
|
+
Reviewed state: [state identity]
|
|
106
|
+
Judgment: Pass | Non-blocking | Inconclusive | Blocking
|
|
107
|
+
Reasoning: [concise evidence-backed judgment]
|
|
108
|
+
Relationship to prior items (Review 2 or 3 only): [related consequence | independent defect | unclear, with evidence]
|
|
109
|
+
|
|
110
|
+
### Review Items
|
|
111
|
+
|
|
112
|
+
#### Issues — Blocking
|
|
113
|
+
- [location, issue, violated source, evidence, consequence, smallest safe correction]
|
|
114
|
+
|
|
115
|
+
#### Issues — Non-blocking
|
|
116
|
+
- [location, issue, evidence, why it can be deferred]
|
|
117
|
+
|
|
118
|
+
#### Unresolved — Questions
|
|
119
|
+
- [question, effect on judgment, required answer]
|
|
120
|
+
|
|
121
|
+
#### Unresolved — Needs evidence
|
|
122
|
+
- [concern, missing evidence, evidence needed]
|
|
123
|
+
|
|
124
|
+
#### Improvements
|
|
125
|
+
- [improvement, benefit, supporting evidence]
|
|
126
|
+
|
|
127
|
+
Evidence gaps: [unproved claims or none]
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Calibration
|
|
131
|
+
|
|
132
|
+
Use a high evidence bar, not a high item count. Lead with the few items that can change the boundary judgment. Prior review, urgency, implementation effort, or author confidence does not establish correctness.
|
|
133
|
+
|
|
134
|
+
The review is evidence for adjudication, not authority over source truth, owner decisions, corrections, or another independent dispatch. Pass, Non-blocking, Inconclusive, and Blocking are all valid exits.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Security Risk Lens
|
|
2
|
+
|
|
3
|
+
Read this when work changes trust boundaries, authentication, authorization, permissions, untrusted input, secrets, sensitive data, dependencies, external integrations, execution, or failure behavior with security consequences.
|
|
4
|
+
|
|
5
|
+
This lens helps frame review. It does not replace repo security policy, threat modeling, specialist review, or stack-specific hardening guidance.
|
|
6
|
+
|
|
7
|
+
## Establish Authority
|
|
8
|
+
|
|
9
|
+
Identify:
|
|
10
|
+
|
|
11
|
+
- assets and data requiring protection;
|
|
12
|
+
- actors, roles, tenants, and privilege levels;
|
|
13
|
+
- trust boundaries and external systems;
|
|
14
|
+
- accepted security/privacy policy and threat model;
|
|
15
|
+
- compatibility and failure behavior that security controls must preserve.
|
|
16
|
+
|
|
17
|
+
Security-sensitive product behavior remains user-owned. Do not invent access, retention, logging, or fail-open/closed policy during review.
|
|
18
|
+
|
|
19
|
+
## Trace The Paths
|
|
20
|
+
|
|
21
|
+
Review the affected path from boundary to effect:
|
|
22
|
+
|
|
23
|
+
- authentication: who or what is this actor;
|
|
24
|
+
- authorization: may this actor perform this operation on this resource;
|
|
25
|
+
- input: validation, canonicalization, size, encoding, and injection surfaces;
|
|
26
|
+
- output: escaping, disclosure, error detail, and side channels;
|
|
27
|
+
- data: collection, transport, storage, isolation, retention, deletion, and audit;
|
|
28
|
+
- secrets: source, scope, rotation, exposure, and logging;
|
|
29
|
+
- execution: shell, file, URL, template, deserialization, plugin, or code-loading boundaries;
|
|
30
|
+
- dependencies: provenance, permissions, known risk, update impact, and transitive behavior;
|
|
31
|
+
- failure: partial state, retries, lockout, rate limits, rollback, and fail-open/closed behavior.
|
|
32
|
+
|
|
33
|
+
Look for confused-deputy and cross-tenant paths, not only malformed input.
|
|
34
|
+
|
|
35
|
+
## Evidence
|
|
36
|
+
|
|
37
|
+
Prefer evidence at the real boundary:
|
|
38
|
+
|
|
39
|
+
- tests proving allowed and denied roles/resources;
|
|
40
|
+
- negative input and injection cases;
|
|
41
|
+
- dependency or configuration inspection tied to the shipped artifact;
|
|
42
|
+
- logs or traces demonstrating no secret/sensitive leakage;
|
|
43
|
+
- failure-path tests for partial authorization, retry, and recovery;
|
|
44
|
+
- specialist analysis for cryptography, sandboxing, identity protocols, or high-impact threats.
|
|
45
|
+
|
|
46
|
+
A generic scanner pass cannot prove authorization logic or policy correctness. A unit test cannot prove deployed headers, identity configuration, or infrastructure permissions.
|
|
47
|
+
|
|
48
|
+
Do not copy secrets, credentials, unrestricted personal data, or sensitive payloads into review context. Use the smallest sanitized evidence that supports the review item.
|
|
49
|
+
|
|
50
|
+
## Review Item Calibration
|
|
51
|
+
|
|
52
|
+
Treat supported exploitable behavior, policy violation, unintended privilege or data exposure, unsafe failure semantics, secret leakage, or a missing required control as an Issue.
|
|
53
|
+
|
|
54
|
+
Classify the Issue against the accepted security policy and reviewed boundary:
|
|
55
|
+
|
|
56
|
+
- **Blocking:** crossing the boundary would remain unsafe, non-compliant, or contrary to a required control.
|
|
57
|
+
- **Non-blocking:** the security issue is real but can be deferred safely without violating the accepted boundary.
|
|
58
|
+
|
|
59
|
+
Use **Question** when security behavior or accepted risk remains undecided. Use **Needs evidence** when a control may exist but the available test or environment cannot establish it.
|
|
60
|
+
|
|
61
|
+
Treat materially useful defense-in-depth beyond the accepted boundary as an Improvement. Do not turn theoretical hardening, preference, or hypothetical completeness into an Issue.
|
|
62
|
+
|
|
63
|
+
Do not omit an observed security issue merely because the selected lenses were narrower. Name the asset, path, precondition, consequence, evidence, and source requirement.
|
|
64
|
+
|
|
65
|
+
## Route
|
|
66
|
+
|
|
67
|
+
When security evidence changes the path, use [Workflow](../../workflow/SKILL.md) to choose what follows. Use [Diagnose Failure](../../diagnose-failure/SKILL.md) for unknown exploitability or root cause, [Decision Gate](../../decision-gate/SKILL.md) for missing policy or accepted-risk decisions, [Design For Depth](../../design-for-depth/SKILL.md) when trust decisions spread across callers, and [Launch Work](../../launch-work/SKILL.md) when the concern affects production rollout.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-freeflow
|
|
3
|
+
description: Use when activating Freeflow in a repository, repairing its repository or personal configuration, or checking whether the current host is delivering Freeflow context.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Setup Freeflow
|
|
7
|
+
|
|
8
|
+
Create or repair the smallest valid layered setup. Keep repository activation, personal overrides, and host runtime delivery as separate facts.
|
|
9
|
+
|
|
10
|
+
- `.freeflow/config.json` is the required shared repository activation config.
|
|
11
|
+
- `.freeflow/local.json` is an optional per-checkout personal override. It cannot activate Freeflow by itself.
|
|
12
|
+
- Runtime delivery depends on the current host's installed and trusted adapter.
|
|
13
|
+
|
|
14
|
+
Answer setup questions and delivery checks read-only. An explicit action request authorizes the smallest selected setup change under the state rules below. When repository config is missing, first activation authorizes minimal shared config; it does not authorize personal overrides, optional capabilities, replacement of invalid config, or edits to repo-owned host instructions.
|
|
15
|
+
|
|
16
|
+
Read [the activation contract](references/activation-contract.md) before changing setup state. Read [host setup](references/host-setup.md) when runtime delivery, lifecycle, or host trust matters. Read [Output Router setup](references/output-router-setup.md) only when the user explicitly requests it during setup or repair; later tuning belongs to [Output Router](../output-router/SKILL.md).
|
|
17
|
+
|
|
18
|
+
## Establish Mutation Authority
|
|
19
|
+
|
|
20
|
+
Classify the current state before editing:
|
|
21
|
+
|
|
22
|
+
- **Unconfigured:** repository config is missing or invalid, so no Freeflow mode is effective. An explicit setup request may create minimal config when it is missing. Replacing or reinterpreting invalid config still requires the specific authority described below.
|
|
23
|
+
- **Configured but ineffective:** valid repository activation exists, but Freeflow is disabled, Skills are dormant, or invalid local config blocks runtime. No mode is effective. An explicit request governs the selected enablement, configuration, or repair; any dormant resolved mode does not.
|
|
24
|
+
- **Effective:** Freeflow Skills report an effective mode. Obey it. Conversation remains read-only; Workflow or Strict Workflow allows agent-performed mutation only for the separately requested setup or repair.
|
|
25
|
+
|
|
26
|
+
User-operated host settings are direct user actions, not agent-performed config edits. Prefer them when available and do not claim their state changed until the host reports it.
|
|
27
|
+
|
|
28
|
+
## Inspect The Layers
|
|
29
|
+
|
|
30
|
+
Before editing:
|
|
31
|
+
|
|
32
|
+
1. inspect `.freeflow/config.json` and `.freeflow/local.json` independently;
|
|
33
|
+
2. identify which requested values are shared repository state and which are personal overrides;
|
|
34
|
+
3. inspect repo instructions only when a conflict would change setup behavior;
|
|
35
|
+
4. identify the host and available delivery evidence when runtime status matters.
|
|
36
|
+
|
|
37
|
+
A valid repository config establishes activation. A missing local config inherits shared values. An invalid existing local config blocks effective Freeflow instead of falling back silently.
|
|
38
|
+
|
|
39
|
+
If setup is already valid and no change was requested, preserve it and report the effective sources. Do not rewrite config merely to normalize formatting or materialize defaults.
|
|
40
|
+
|
|
41
|
+
## Configure Shared Activation
|
|
42
|
+
|
|
43
|
+
For a new default setup, write:
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"defaultMode": "workflow"
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
During first activation, an explicitly requested `conversation` or `strict-workflow` mode becomes the shared repository default. Preserve valid existing settings and add no unrequested keys or empty sections.
|
|
52
|
+
|
|
53
|
+
If repository config is invalid or conflicts with accepted source truth, use [Decision Gate](../decision-gate/SKILL.md) before replacing or reinterpreting it.
|
|
54
|
+
|
|
55
|
+
Do not create or append Freeflow instructions in `AGENTS.md`, `CLAUDE.md`, `.claude/rules/`, or another host-owned instruction surface.
|
|
56
|
+
|
|
57
|
+
## Add Personal Overrides Only When Requested
|
|
58
|
+
|
|
59
|
+
Use `.freeflow/local.json` for an explicitly selected per-checkout override of `enabled`, `interactionContract`, `skills.enabled`, or `defaultMode`. Omitted values inherit from repository config and built-in defaults.
|
|
60
|
+
|
|
61
|
+
In Pi, `/freeflow settings` edits personal overrides and `/freeflow settings repo` edits shared settings. Prefer those controls when available.
|
|
62
|
+
|
|
63
|
+
Before writing local config in a Git checkout, verify it is untracked and ignored. Do not modify shared ignore policy merely to store a personal preference; use the host's safe settings path or local Git exclusion. Refuse to overwrite a tracked local config.
|
|
64
|
+
|
|
65
|
+
If local config is invalid, report that it blocks effective runtime. Repair or remove it only with authorization; never discard it and fall back silently.
|
|
66
|
+
|
|
67
|
+
## Keep Optional Setup Explicit
|
|
68
|
+
|
|
69
|
+
Do not ask an automatic capabilities question. Configure Output Router only when explicitly requested, using [Output Router setup](references/output-router-setup.md). Preserve valid existing capability config during idempotent setup.
|
|
70
|
+
|
|
71
|
+
## Establish Same-Turn Context
|
|
72
|
+
|
|
73
|
+
After successful verification, apply newly effective context directly for the remainder of the setup turn:
|
|
74
|
+
|
|
75
|
+
- read the [Interaction Contract](../../runtime/interaction-contract.md) when it is effective;
|
|
76
|
+
- read [Workflow](../workflow/SKILL.md) and [Mode Contract](../mode-contract/SKILL.md) when Skills are effective;
|
|
77
|
+
- read an explicitly configured capability skill only when runtime state says it is effective.
|
|
78
|
+
|
|
79
|
+
This direct read establishes same-turn guidance; it does not prove that a lifecycle adapter ran. After first activation, use [host setup](references/host-setup.md) to name the exact host-native lifecycle action for automatic delivery and resource refresh, state what applies before that boundary, and keep delivery confirmed, unavailable, or unconfirmed from evidence.
|
|
80
|
+
|
|
81
|
+
## Verify And Report
|
|
82
|
+
|
|
83
|
+
Verify:
|
|
84
|
+
|
|
85
|
+
- repository config parses and contains a valid `defaultMode`;
|
|
86
|
+
- local config is missing or valid, personal, untracked, and ignored when applicable;
|
|
87
|
+
- effective `enabled`, Interaction Contract, Skills, and configured default values have the expected sources;
|
|
88
|
+
- Skills-disabled mode remains resolved but dormant;
|
|
89
|
+
- optional capability config changed only when requested;
|
|
90
|
+
- no repo-owned host instructions or unrelated files changed.
|
|
91
|
+
|
|
92
|
+
Report separately:
|
|
93
|
+
|
|
94
|
+
1. shared repository activation;
|
|
95
|
+
2. personal override state and effective sources;
|
|
96
|
+
3. effective capability state;
|
|
97
|
+
4. same-turn direct context reads;
|
|
98
|
+
5. automatic runtime delivery as **confirmed**, **unavailable**, or **unconfirmed**.
|