@hassangameryt/freeflow 0.5.0 → 0.7.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 +1 -1
- package/.claude-plugin/plugin.json +2 -2
- package/.codex-plugin/plugin.json +4 -5
- package/README.md +141 -163
- package/capabilities/cognitive-routing/SKILL.md +387 -0
- package/capabilities/context-virtualization/SKILL.md +103 -0
- package/capabilities/conversation-history/SKILL.md +53 -0
- package/command-surface.json +6 -37
- package/hooks/freeflow-runtime-context.mjs +50 -541
- package/hooks/hooks.json +1 -26
- package/hooks/tests/check-runtime-context-hook.sh +114 -308
- package/package.json +27 -17
- package/pi-extension/dist/cognitive-routing/commands.js +96 -0
- package/pi-extension/dist/cognitive-routing/config.js +232 -0
- package/pi-extension/dist/cognitive-routing/controller.js +1292 -0
- package/pi-extension/dist/cognitive-routing/history.js +451 -0
- package/pi-extension/dist/cognitive-routing/host.js +188 -0
- package/pi-extension/dist/cognitive-routing/pi-routing-session.js +414 -0
- package/pi-extension/dist/cognitive-routing/pi-session-control.js +320 -0
- package/pi-extension/dist/cognitive-routing/runtime.js +43 -0
- package/pi-extension/dist/cognitive-routing/tool.js +212 -0
- package/pi-extension/dist/cognitive-routing/types.js +6 -0
- package/pi-extension/dist/context-virtualization/commands.js +89 -0
- package/pi-extension/dist/context-virtualization/projector.js +42 -0
- package/pi-extension/dist/context-virtualization/runtime.js +356 -0
- package/pi-extension/dist/context-virtualization/state.js +57 -0
- package/pi-extension/dist/context-virtualization/types.js +10 -0
- package/pi-extension/dist/conversation-history/passages.js +66 -0
- package/pi-extension/dist/conversation-history/ranking.js +105 -0
- package/pi-extension/dist/conversation-history/runtime.js +226 -0
- package/pi-extension/dist/conversation-history/search.js +56 -0
- package/pi-extension/dist/conversation-history/types.js +1 -0
- package/pi-extension/dist/freeflow-context/resolver.js +120 -0
- package/pi-extension/dist/freeflow-context/runtime.js +80 -0
- package/pi-extension/dist/freeflow-context/source-projector.js +95 -0
- package/pi-extension/dist/freeflow-context/tool.js +308 -0
- package/pi-extension/dist/freeflow-context/types.js +12 -0
- package/pi-extension/dist/freeflow-context/visibility.js +28 -0
- package/pi-extension/dist/index.js +564 -129
- package/pi-extension/dist/runtime/runtime-context.js +357 -470
- package/pi-extension/dist/runtime/runtime-identity.js +5 -0
- package/pi-extension/dist/settings/settings-tui.js +78 -0
- package/pi-extension/dist/settings/settings-ui.js +572 -826
- package/pi-extension/dist/ui/text-component.js +57 -0
- package/pi-extension/src/cognitive-routing/commands.ts +129 -0
- package/pi-extension/src/cognitive-routing/config.ts +303 -0
- package/pi-extension/src/cognitive-routing/controller.ts +1628 -0
- package/pi-extension/src/cognitive-routing/history.ts +650 -0
- package/pi-extension/src/cognitive-routing/host.ts +266 -0
- package/pi-extension/src/cognitive-routing/pi-routing-session.ts +538 -0
- package/pi-extension/src/cognitive-routing/pi-session-control.ts +444 -0
- package/pi-extension/src/cognitive-routing/runtime.ts +57 -0
- package/pi-extension/src/cognitive-routing/tool.ts +273 -0
- package/pi-extension/src/cognitive-routing/types.ts +89 -0
- package/pi-extension/src/context-virtualization/commands.ts +111 -0
- package/pi-extension/src/context-virtualization/projector.ts +62 -0
- package/pi-extension/src/context-virtualization/runtime.ts +406 -0
- package/pi-extension/src/context-virtualization/state.ts +79 -0
- package/pi-extension/src/context-virtualization/types.ts +92 -0
- package/pi-extension/src/conversation-history/passages.ts +81 -0
- package/pi-extension/src/conversation-history/ranking.ts +155 -0
- package/pi-extension/src/conversation-history/runtime.ts +250 -0
- package/pi-extension/src/conversation-history/search.ts +79 -0
- package/pi-extension/src/conversation-history/types.ts +31 -0
- package/pi-extension/src/freeflow-context/resolver.ts +139 -0
- package/pi-extension/src/freeflow-context/runtime.ts +100 -0
- package/pi-extension/src/freeflow-context/source-projector.ts +106 -0
- package/pi-extension/src/freeflow-context/tool.ts +360 -0
- package/pi-extension/src/freeflow-context/types.ts +70 -0
- package/pi-extension/src/freeflow-context/visibility.ts +53 -0
- package/pi-extension/src/index.ts +597 -135
- package/pi-extension/src/runtime/runtime-context.ts +373 -491
- package/pi-extension/src/runtime/runtime-identity.ts +8 -0
- package/pi-extension/src/settings/settings-tui.ts +93 -0
- package/pi-extension/src/settings/settings-ui.ts +679 -910
- package/pi-extension/src/ui/text-component.ts +66 -0
- package/pi-extension/tests/cognitive-routing/commands.test.js +134 -0
- package/pi-extension/tests/cognitive-routing/controller.test.js +1128 -0
- package/pi-extension/tests/cognitive-routing/extension-lifecycle.test.js +1142 -0
- package/pi-extension/tests/cognitive-routing/history.test.js +274 -0
- package/pi-extension/tests/cognitive-routing/host-fixture.js +4 -0
- package/pi-extension/tests/cognitive-routing/host-identity.test.js +63 -0
- package/pi-extension/tests/cognitive-routing/pi-normal-lifecycle.test.js +434 -0
- package/pi-extension/tests/cognitive-routing/pi-session-control.test.js +174 -0
- package/pi-extension/tests/cognitive-routing/pi-session-history.test.js +91 -0
- package/pi-extension/tests/cognitive-routing/profile-resolution.test.js +279 -0
- package/pi-extension/tests/cognitive-routing/tool.test.js +230 -0
- package/pi-extension/tests/context-virtualization/extension.test.js +749 -0
- package/pi-extension/tests/context-virtualization/projector.test.js +110 -0
- package/pi-extension/tests/context-virtualization/runtime.test.js +216 -0
- package/pi-extension/tests/conversation-history/runtime.test.js +98 -0
- package/pi-extension/tests/conversation-history/search.test.js +97 -0
- package/pi-extension/tests/integration/mode-free-core.test.js +218 -0
- package/pi-extension/tests/integration/pi-extension.test.js +532 -3701
- package/pi-extension/tests/integration/prompt-architecture.test.js +350 -0
- package/pi-extension/tests/integration/unaffected-regressions.test.js +411 -0
- package/runtime/prompts/cognitive-routing.md +10 -0
- package/runtime/prompts/context-virtualization.md +3 -0
- package/runtime/prompts/conversation-history.md +3 -0
- package/runtime/prompts/core.md +84 -0
- package/runtime/prompts/interaction-contract.md +11 -0
- package/skills/action-selection/SKILL.md +140 -0
- package/skills/action-selection/references/trajectory-stalls.md +71 -0
- package/skills/bypass/SKILL.md +109 -38
- package/skills/commit-work/SKILL.md +94 -55
- package/skills/commit-work/references/git-state-edges.md +94 -0
- package/skills/commit-work/references/simple-push.md +92 -0
- package/skills/commit-work/references/staging-decisions.md +79 -46
- package/skills/decision-gate/SKILL.md +80 -22
- package/skills/design-for-depth/SKILL.md +206 -60
- package/skills/design-for-depth/references/design-pressure-signals.md +108 -240
- package/skills/design-for-depth/references/interface-design-loop.md +77 -97
- package/skills/design-for-depth/references/module-and-dependency-design.md +147 -0
- package/skills/design-for-depth/references/software-design-philosophy.md +128 -174
- package/skills/design-for-depth/references/state-and-failure-boundaries.md +136 -0
- package/skills/diagnose-failure/SKILL.md +200 -48
- package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +18 -6
- package/skills/diagnose-failure/references/{flaky-and-performance.md → flaky-and-performance-diagnosis.md} +13 -5
- package/skills/discuss/SKILL.md +119 -65
- package/skills/discuss/references/discussion-continuity.md +123 -0
- package/skills/evaluate-skill/SKILL.md +166 -52
- package/skills/evaluate-skill/references/{definition-schema.md → evaluation-definition-schema.md} +43 -3
- package/skills/evaluate-skill/references/evaluation-design.md +56 -30
- package/skills/evaluate-skill/references/execution-and-evidence.md +8 -3
- package/skills/evaluate-skill/references/review-and-revision.md +62 -21
- package/skills/evaluate-skill/scripts/lib/definitions.mjs +114 -3
- package/skills/evaluate-skill/scripts/lib/grade-interaction.mjs +156 -1
- package/skills/evaluate-skill/scripts/lib/grade.mjs +9 -1
- package/skills/evaluate-skill/scripts/lib/pi.mjs +147 -32
- package/skills/evaluate-skill/scripts/lib/rpc.mjs +4 -4
- package/skills/evaluate-skill/scripts/lib/runner.mjs +36 -14
- package/skills/evaluate-skill/scripts/lib/sandbox.mjs +92 -0
- package/skills/evaluate-skill/scripts/pi-guard.mjs +1 -1
- package/skills/evaluate-skill/scripts/pi-observer.mjs +66 -0
- package/skills/evaluate-skill/scripts/skill-eval.mjs +6 -5
- package/skills/execute-work/SKILL.md +99 -57
- package/skills/execute-work/references/code-practices.md +4 -4
- package/skills/execute-work/references/execute-work-edges.md +62 -0
- package/skills/finish-branch/SKILL.md +2 -2
- package/skills/finish-branch/references/integration-options.md +1 -1
- package/skills/handoff/SKILL.md +3 -3
- package/skills/launch-work/SKILL.md +1 -1
- package/skills/launch-work/references/launch-readiness.md +2 -2
- package/skills/migration-work/SKILL.md +2 -2
- package/skills/migration-work/references/migration-lifecycle.md +1 -1
- package/skills/release-work/SKILL.md +1 -1
- package/skills/release-work/references/release-evidence.md +1 -1
- package/skills/review-artifact/SKILL.md +129 -66
- package/skills/review-artifact/references/adjudicate-artifact-review.md +101 -0
- package/skills/review-artifact/references/independent-artifact-reviewer-contract.md +159 -0
- package/skills/review-work/SKILL.md +113 -68
- package/skills/review-work/references/adjudicate-work-review.md +97 -0
- package/skills/review-work/references/independent-work-reviewer-contract.md +139 -0
- package/skills/review-work/references/security-risk-lens.md +18 -16
- package/skills/setup-freeflow/SKILL.md +16 -17
- package/skills/setup-freeflow/references/activation-contract.md +24 -30
- package/skills/setup-freeflow/references/host-setup.md +6 -7
- package/skills/simplify-code/SKILL.md +97 -39
- package/skills/simplify-code/references/simplification-patterns.md +1 -1
- package/skills/tdd/SKILL.md +100 -53
- package/skills/tdd/references/test-design.md +3 -3
- package/skills/track-work/SKILL.md +195 -58
- package/skills/track-work/references/working-record-format.md +515 -0
- package/skills/track-work/scripts/lib/document.mjs +713 -0
- package/skills/track-work/scripts/lib/format.mjs +166 -0
- package/skills/track-work/scripts/lib/store.mjs +233 -0
- package/skills/track-work/scripts/lib/transitions.mjs +790 -0
- package/skills/track-work/scripts/lib/views.mjs +40 -0
- package/skills/track-work/scripts/working-record.mjs +316 -0
- package/skills/verify-work/SKILL.md +57 -19
- package/skills/verify-work/references/browser-runtime-evidence.md +2 -2
- package/skills/verify-work/references/integration-evidence.md +1 -7
- package/skills/verify-work/references/performance-evidence.md +2 -2
- package/skills/workflow/SKILL.md +137 -55
- package/skills/workflow/references/domain-skill-composition.md +26 -40
- package/skills/write-plan/SKILL.md +1 -1
- package/skills/write-skill/SKILL.md +218 -61
- package/skills/write-skill/references/activation-boundaries.md +63 -21
- package/skills/write-skill/references/agent-first-instructions.md +61 -27
- package/skills/write-skill/references/progressive-disclosure.md +97 -33
- package/skills/write-skill/references/skill-dependency-graphs.md +190 -0
- package/capabilities/output-router/SKILL.md +0 -206
- package/capabilities/output-router/references/safety-policy.md +0 -40
- package/capabilities/output-router/references/setup.md +0 -110
- package/pi-extension/dist/output-router/host-producer-identification.js +0 -232
- package/pi-extension/dist/output-router/native-safety-net.js +0 -216
- package/pi-extension/dist/output-router/observed-tool-routing.js +0 -122
- package/pi-extension/dist/output-router/renderers.js +0 -1023
- package/pi-extension/dist/output-router/router-tools.js +0 -554
- package/pi-extension/dist/output-router/schemas.js +0 -383
- package/pi-extension/dist/output-router/status.js +0 -744
- package/pi-extension/dist/output-router/utils.js +0 -502
- package/pi-extension/src/output-router/host-producer-identification.ts +0 -256
- package/pi-extension/src/output-router/native-safety-net.ts +0 -248
- package/pi-extension/src/output-router/observed-tool-routing.ts +0 -134
- package/pi-extension/src/output-router/renderers.ts +0 -1108
- package/pi-extension/src/output-router/router-tools.ts +0 -579
- package/pi-extension/src/output-router/schemas.ts +0 -387
- package/pi-extension/src/output-router/status.ts +0 -791
- package/pi-extension/src/output-router/utils.ts +0 -554
- package/pi-extension/tests/output-router/observed-producers.test.js +0 -132
- package/pi-extension/tests/output-router/search.test.js +0 -722
- package/router/dist/benchmarks/benchmark-harness.d.ts +0 -35
- package/router/dist/benchmarks/benchmark-harness.js +0 -92
- package/router/dist/benchmarks/benchmarks.d.ts +0 -109
- package/router/dist/benchmarks/benchmarks.js +0 -979
- package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +0 -95
- package/router/dist/benchmarks/codex-qa-benchmarks.js +0 -500
- package/router/dist/benchmarks/command-benchmarks.d.ts +0 -143
- package/router/dist/benchmarks/command-benchmarks.js +0 -698
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +0 -82
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +0 -773
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +0 -132
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +0 -1380
- package/router/dist/benchmarks/context-saving-baseline.d.ts +0 -60
- package/router/dist/benchmarks/context-saving-baseline.js +0 -470
- package/router/dist/benchmarks/index-benchmarks.d.ts +0 -103
- package/router/dist/benchmarks/index-benchmarks.js +0 -862
- package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +0 -101
- package/router/dist/benchmarks/storage-policy-benchmarks.js +0 -618
- package/router/dist/benchmarks/vault-index-benchmarks.d.ts +0 -56
- package/router/dist/benchmarks/vault-index-benchmarks.js +0 -322
- package/router/dist/config/config.d.ts +0 -103
- package/router/dist/config/config.js +0 -632
- package/router/dist/config/router-contract.d.ts +0 -10
- package/router/dist/config/router-contract.js +0 -54
- package/router/dist/config/schema.d.ts +0 -27
- package/router/dist/config/schema.js +0 -648
- package/router/dist/config/types.d.ts +0 -573
- package/router/dist/config/types.js +0 -41
- package/router/dist/evidence/bounded-evidence.d.ts +0 -40
- package/router/dist/evidence/bounded-evidence.js +0 -323
- package/router/dist/evidence/evidence-range-selector.d.ts +0 -24
- package/router/dist/evidence/evidence-range-selector.js +0 -232
- package/router/dist/evidence/evidence-search.d.ts +0 -27
- package/router/dist/evidence/evidence-search.js +0 -490
- package/router/dist/evidence/evidence.d.ts +0 -38
- package/router/dist/evidence/evidence.js +0 -200
- package/router/dist/evidence/failure-contracts.d.ts +0 -37
- package/router/dist/evidence/failure-contracts.js +0 -166
- package/router/dist/evidence/line-ranges.d.ts +0 -24
- package/router/dist/evidence/line-ranges.js +0 -22
- package/router/dist/experiments/local-index.d.ts +0 -64
- package/router/dist/experiments/local-index.js +0 -581
- package/router/dist/index.d.ts +0 -30
- package/router/dist/index.js +0 -32
- package/router/dist/local/local-traversal.d.ts +0 -18
- package/router/dist/local/local-traversal.js +0 -334
- package/router/dist/processing/engine.d.ts +0 -132
- package/router/dist/processing/engine.js +0 -533
- package/router/dist/processing/reducers.d.ts +0 -280
- package/router/dist/processing/reducers.js +0 -1673
- package/router/dist/processing/renderers.d.ts +0 -31
- package/router/dist/processing/renderers.js +0 -195
- package/router/dist/processing/scripts.d.ts +0 -91
- package/router/dist/processing/scripts.js +0 -386
- package/router/dist/repo/repo-traversal.d.ts +0 -18
- package/router/dist/repo/repo-traversal.js +0 -245
- package/router/dist/routing/observed-reducers.d.ts +0 -41
- package/router/dist/routing/observed-reducers.js +0 -661
- package/router/dist/routing/observed-routing.d.ts +0 -26
- package/router/dist/routing/observed-routing.js +0 -378
- package/router/dist/routing/parsers.d.ts +0 -16
- package/router/dist/routing/parsers.js +0 -521
- package/router/dist/routing/run-filters.d.ts +0 -60
- package/router/dist/routing/run-filters.js +0 -238
- package/router/dist/routing/run-reducers.d.ts +0 -49
- package/router/dist/routing/run-reducers.js +0 -122
- package/router/dist/sandbox/adapter-roots.d.ts +0 -46
- package/router/dist/sandbox/adapter-roots.js +0 -66
- package/router/dist/sandbox/eryx-python-adapter.d.ts +0 -13
- package/router/dist/sandbox/eryx-python-adapter.js +0 -868
- package/router/dist/sandbox/jq-wasm-adapter.d.ts +0 -9
- package/router/dist/sandbox/jq-wasm-adapter.js +0 -429
- package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +0 -13
- package/router/dist/sandbox/quickjs-wasi-adapter.js +0 -384
- package/router/dist/sandbox/script-sandbox.d.ts +0 -134
- package/router/dist/sandbox/script-sandbox.js +0 -337
- package/router/dist/setup/script-transform-adapters.d.ts +0 -32
- package/router/dist/setup/script-transform-adapters.js +0 -278
- package/router/dist/tools/batch.d.ts +0 -33
- package/router/dist/tools/batch.js +0 -586
- package/router/dist/tools/run.d.ts +0 -62
- package/router/dist/tools/run.js +0 -1304
- package/router/dist/tools/search.d.ts +0 -66
- package/router/dist/tools/search.js +0 -1364
- package/router/dist/transform/engine.d.ts +0 -168
- package/router/dist/transform/engine.js +0 -2072
- package/router/dist/vault/vault-index.d.ts +0 -125
- package/router/dist/vault/vault-index.js +0 -416
- package/router/dist/vault/vault.d.ts +0 -138
- package/router/dist/vault/vault.js +0 -630
- package/runtime/interaction-contract.md +0 -16
- package/skills/discuss/references/checkpoints.md +0 -66
- package/skills/execute-work/references/execution-loop.md +0 -77
- package/skills/mode-contract/SKILL.md +0 -104
- package/skills/review-artifact/references/reviewer-prompt.md +0 -148
- package/skills/review-work/references/reviewer-prompt.md +0 -134
- package/skills/track-work/references/working-record-schema.md +0 -378
- package/skills/workflow/references/workflow-loop.md +0 -92
- /package/skills/handoff/references/{templates.md → handoff-templates.md} +0 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Trajectory Stalls
|
|
2
|
+
|
|
3
|
+
Read this when two or more recent environment interactions have not materially changed the current question, advanced the covered effect, or supported a new branch.
|
|
4
|
+
|
|
5
|
+
A stall is evidence that the current interaction policy is no longer producing useful progress. It does not prove that the task is difficult, the design is wrong, or another model is required.
|
|
6
|
+
|
|
7
|
+
## Recognize A Stall
|
|
8
|
+
|
|
9
|
+
Common stall patterns include:
|
|
10
|
+
|
|
11
|
+
- repeating searches with synonymous terms;
|
|
12
|
+
- rereading unchanged sources without a new question;
|
|
13
|
+
- rerunning the same check against unchanged state;
|
|
14
|
+
- widening search breadth without narrowing the hypothesis;
|
|
15
|
+
- collecting new output that does not change any belief or decision;
|
|
16
|
+
- revisiting a path already eliminated by supported evidence;
|
|
17
|
+
- changing hypotheses without a new observation;
|
|
18
|
+
- alternating edits, failures, and reversions without a supported cause;
|
|
19
|
+
- following each newly mentioned symbol or file away from the accepted outcome;
|
|
20
|
+
- continuing because interaction began rather than because evidence supports another step.
|
|
21
|
+
|
|
22
|
+
The following are not automatically stalls:
|
|
23
|
+
|
|
24
|
+
- several distinct mechanical interactions required by one exact covered effect;
|
|
25
|
+
- rerunning evidence after relevant state changed;
|
|
26
|
+
- a long-running operation that is still producing the selected result;
|
|
27
|
+
- checking a broader boundary after a focused result when that boundary was already required;
|
|
28
|
+
- returning through several files along one supported call or dependency path.
|
|
29
|
+
|
|
30
|
+
Judge progress by changed understanding, produced effects, or a newly supported branch—not raw action count.
|
|
31
|
+
|
|
32
|
+
## Stop Before Another Similar Interaction
|
|
33
|
+
|
|
34
|
+
Before another environment action:
|
|
35
|
+
|
|
36
|
+
1. restate the unresolved question or exact covered effect;
|
|
37
|
+
2. identify what the recent interactions established;
|
|
38
|
+
3. identify which paths or hypotheses they eliminated;
|
|
39
|
+
4. state why the interactions failed to change the decision;
|
|
40
|
+
5. determine whether another observer class could discriminate where the previous one could not.
|
|
41
|
+
|
|
42
|
+
Different observer classes may include:
|
|
43
|
+
|
|
44
|
+
- structural navigation instead of text search;
|
|
45
|
+
- caller or dependency tracing instead of concept search;
|
|
46
|
+
- runtime behavior instead of source inspection;
|
|
47
|
+
- source inspection instead of another runtime rerun;
|
|
48
|
+
- exact artifact comparison instead of summary output;
|
|
49
|
+
- a minimized reproduction instead of another speculative edit.
|
|
50
|
+
|
|
51
|
+
Changing syntax, keywords, directories, or tools without changing the evidence relationship is not a different observer class.
|
|
52
|
+
|
|
53
|
+
## Recover With One Discriminating Action
|
|
54
|
+
|
|
55
|
+
When a different covered observer can answer the unresolved question:
|
|
56
|
+
|
|
57
|
+
1. name what result would support or contradict the leading path;
|
|
58
|
+
2. bound one interaction;
|
|
59
|
+
3. execute it once;
|
|
60
|
+
4. return its observation to the current owner.
|
|
61
|
+
|
|
62
|
+
Do not compensate for a stall by generating a long plan, exploring every remaining path, or broadening the task.
|
|
63
|
+
|
|
64
|
+
When no covered interaction can discriminate:
|
|
65
|
+
|
|
66
|
+
- return the smallest missing evidence to the current owner;
|
|
67
|
+
- return a changed authority, scope, ownership, direction, or required observing boundary to [Workflow](../../workflow/SKILL.md);
|
|
68
|
+
- use [Diagnose Failure](../../diagnose-failure/SKILL.md) when repeated failure lacks a supported cause;
|
|
69
|
+
- stop when the active execution contract requires return.
|
|
70
|
+
|
|
71
|
+
A stall recovery succeeds when the decision surface changes or the absence of a safe useful interaction becomes explicit. It does not require another tool call.
|
package/skills/bypass/SKILL.md
CHANGED
|
@@ -1,82 +1,153 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bypass
|
|
3
|
-
description: Use when the user explicitly asks to skip or reduce workflow
|
|
3
|
+
description: "Use when the user explicitly asks to skip or reduce optional workflow pressure for the next authorized activity or the current task."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Bypass
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Reduce explicitly selected optional workflow pressure without changing authority, accepted intent, the current owner, execution method, evidence semantics, selected checkpoints, mode, active capability protocols, or host controls.
|
|
9
9
|
|
|
10
|
-
Bypass
|
|
10
|
+
Bypass is a user-controlled pressure modifier. It does not authorize the underlying work and does not perform that work itself.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
**Optional pressure** is a workflow step whose removal does not weaken accepted intent, material risk control, required evidence, a selected checkpoint, or safe continuation.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## Interpret The Request Narrowly
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
- the named optional step, or whether the user selected `next` or `task` scope;
|
|
18
|
-
- the effective mode;
|
|
19
|
-
- the evidence and checkpoints that still govern the action.
|
|
16
|
+
Use Bypass only when the user explicitly asks to skip or reduce workflow pressure. Do not infer bypass from urgency, frustration, brevity, “just do it,” or a preference for concise responses.
|
|
20
17
|
|
|
21
|
-
|
|
18
|
+
Establish:
|
|
22
19
|
|
|
23
|
-
|
|
20
|
+
- the already-authorized bounded activity;
|
|
21
|
+
- the specific pressure the user wants removed;
|
|
22
|
+
- whether the requested scope is `next` or `task`;
|
|
23
|
+
- the authority, evidence, checkpoints, and stop conditions that remain;
|
|
24
|
+
- when the bypass expires.
|
|
25
|
+
|
|
26
|
+
A bare `/bypass` means `/bypass next`.
|
|
27
|
+
|
|
28
|
+
If the same user turn both authorizes an activity and explicitly requests reduced pressure, interpret the whole turn through [Workflow](../workflow/SKILL.md). Bypass may modify that authorized activity; it does not supply its authority.
|
|
29
|
+
|
|
30
|
+
If no authorized activity exists, return to Workflow and wait. Do not treat bypass as permission to implement, inspect actively, mutate, deliver, commit, or continue.
|
|
24
31
|
|
|
25
32
|
## Skip Only Optional Pressure
|
|
26
33
|
|
|
27
|
-
A bypass may remove
|
|
34
|
+
A valid bypass may remove:
|
|
28
35
|
|
|
29
|
-
- an unnecessary Spec or
|
|
30
|
-
- extended questioning whose answer would not change the
|
|
36
|
+
- an unnecessary Spec, Plan, or Working Record;
|
|
37
|
+
- extended questioning whose answer would not change the accepted activity;
|
|
31
38
|
- an artifact created only for ceremony;
|
|
32
|
-
-
|
|
39
|
+
- duplicate explanation or status reporting;
|
|
40
|
+
- a proposed but unselected review or checkpoint with no remaining risk purpose;
|
|
41
|
+
- another optional step whose removal does not weaken the supported outcome.
|
|
33
42
|
|
|
34
|
-
Do not infer that a named artifact or
|
|
43
|
+
Do not infer that a named artifact, review, check, or checkpoint is optional. Inspect what it protects before removing it.
|
|
44
|
+
|
|
45
|
+
Freeflow should already avoid unnecessary ceremony. Bypass is an explicit user override when optional pressure was proposed or recommended but was not selected as a required boundary, or would otherwise remain in the route.
|
|
35
46
|
|
|
36
47
|
## Preserve Non-Bypassable Boundaries
|
|
37
48
|
|
|
38
|
-
|
|
49
|
+
Bypass does not remove or override:
|
|
50
|
+
|
|
51
|
+
- the user’s authority over product behavior, scope, priorities, public interfaces, compatibility, permissions, security, privacy, billing, data loss, migration direction, deployment, or another hard-to-reverse outcome;
|
|
52
|
+
- conflicts among the request, code, tests, docs, policies, requirements, accepted behavior, or another source of truth;
|
|
53
|
+
- the accepted authority envelope or separately controlled effects;
|
|
54
|
+
- host safety, sandbox, permission, approval, or tool controls;
|
|
55
|
+
- mode boundaries or active capability protocols;
|
|
56
|
+
- the distinction between available evidence and supported claims;
|
|
57
|
+
- required self-review before accepting or reusing a supported result;
|
|
58
|
+
- an accepted Spec, Plan, selected checkpoint, required artifact review, or selected independent review;
|
|
59
|
+
- a stop condition, blocker, or evidence that invalidates the current route.
|
|
60
|
+
|
|
61
|
+
Material risk still requires the decisions and evidence that address it. A domain label alone does not require ceremony, but bypass cannot erase an observed risk.
|
|
62
|
+
|
|
63
|
+
Bypass cannot allow an active compute profile to act outside its execution protocol. Use the capability’s own user controls when the user wants to change manual or automatic control, profile behavior, or another capability setting.
|
|
64
|
+
|
|
65
|
+
## Respect Declined Evidence Without Inventing Support
|
|
66
|
+
|
|
67
|
+
A user may explicitly decline a test, build, runtime probe, review, or other evidence generation. Respect that instruction unless a higher-priority repository, host, or safety requirement prevents it.
|
|
68
|
+
|
|
69
|
+
Declining evidence does not make the corresponding claim supported.
|
|
70
|
+
|
|
71
|
+
When evidence is declined:
|
|
72
|
+
|
|
73
|
+
- perform only the remaining authorized work that can continue safely;
|
|
74
|
+
- leave the affected claim explicitly unverified;
|
|
75
|
+
- do not accept or reuse the result beyond the remaining evidence boundary;
|
|
76
|
+
- do not cross a checkpoint or dependent boundary that requires the missing evidence;
|
|
77
|
+
- return to Workflow when the expected exit, checkpoint, or safe continuation must change.
|
|
39
78
|
|
|
40
|
-
|
|
41
|
-
- a conflict with code, tests, docs, policies, requirements, accepted behavior, or another source of truth;
|
|
42
|
-
- host safety, sandbox, permission, or approval controls;
|
|
43
|
-
- proportionate verification and supported self-review before a factual or completion claim;
|
|
44
|
-
- an accepted Spec, Plan, selected checkpoint, required artifact review, selected independent review, or other accepted completion boundary;
|
|
45
|
-
- a stop condition or evidence that invalidates the current route.
|
|
79
|
+
A request to skip evidence generation changes what may be claimed. It does not change what the available evidence proves.
|
|
46
80
|
|
|
47
|
-
|
|
81
|
+
## Route Changes Are Not Bypass
|
|
48
82
|
|
|
49
|
-
|
|
83
|
+
Treat the request as a Workflow route change when the user wants to:
|
|
84
|
+
|
|
85
|
+
- change accepted behavior, scope, effects, or stop conditions;
|
|
86
|
+
- weaken or replace an accepted evidence requirement;
|
|
87
|
+
- cancel or replace a selected checkpoint;
|
|
88
|
+
- revise an accepted Spec or Plan;
|
|
89
|
+
- change mode or an active capability protocol;
|
|
90
|
+
- continue despite contradictory evidence or a source conflict.
|
|
91
|
+
|
|
92
|
+
An explicit user instruction may authorize the changed route, but Workflow must reconcile its consequences before dependent work continues.
|
|
93
|
+
|
|
94
|
+
Use [Decision Gate](../decision-gate/SKILL.md) only when one user-owned choice or source conflict remains unresolved.
|
|
50
95
|
|
|
51
96
|
## Apply The Selected Scope
|
|
52
97
|
|
|
53
98
|
### Next
|
|
54
99
|
|
|
55
|
-
`/bypass next`
|
|
100
|
+
`/bypass next` removes one identified optional pressure from the current authorized activity.
|
|
56
101
|
|
|
57
|
-
|
|
102
|
+
The bypass is spent when:
|
|
103
|
+
|
|
104
|
+
- the selected pressure is skipped;
|
|
105
|
+
- the activity changes;
|
|
106
|
+
- another gate or stop condition appears;
|
|
107
|
+
- the route ends.
|
|
108
|
+
|
|
109
|
+
Re-check the route immediately after applying it. Do not carry the bypass into another activity by implication.
|
|
58
110
|
|
|
59
111
|
### Task
|
|
60
112
|
|
|
61
|
-
`/bypass task` reduces optional
|
|
113
|
+
`/bypass task` reduces identified optional pressure for the current accepted task.
|
|
114
|
+
|
|
115
|
+
The task is the accepted request or active Working Record scope—not the repository, session, branch, or future related work.
|
|
62
116
|
|
|
63
|
-
|
|
117
|
+
Name the pressure being reduced when possible. Do not interpret task scope as “ignore all workflow for this task.”
|
|
64
118
|
|
|
65
|
-
|
|
119
|
+
Task scope ends when:
|
|
66
120
|
|
|
67
|
-
|
|
121
|
+
- the task completes or is abandoned;
|
|
122
|
+
- its accepted outcome changes materially;
|
|
123
|
+
- the user withdraws or replaces the bypass;
|
|
124
|
+
- a new task begins.
|
|
68
125
|
|
|
69
|
-
|
|
126
|
+
Reassess new risks, conflicts, evidence requirements, checkpoints, and separately controlled effects inside the task. Task scope does not make them optional.
|
|
127
|
+
|
|
128
|
+
When an existing Working Record is already authorized for maintenance and the task-scoped bypass must survive context loss, use [Track Work](../track-work/SKILL.md) to preserve its source, exact pressure, scope, and expiry.
|
|
129
|
+
|
|
130
|
+
The record preserves the user instruction; it does not broaden it. Without durable task memory, do not claim task-scoped bypass survives context loss.
|
|
131
|
+
|
|
132
|
+
Never convert `next` or `task` scope into permanent, repository-wide, session-wide, or cross-task behavior.
|
|
133
|
+
|
|
134
|
+
## Return The Modified Route
|
|
70
135
|
|
|
71
136
|
When the bypass is valid:
|
|
72
137
|
|
|
73
|
-
1.
|
|
74
|
-
2.
|
|
75
|
-
3.
|
|
76
|
-
4.
|
|
138
|
+
1. identify the optional pressure being removed;
|
|
139
|
+
2. apply only the selected scope;
|
|
140
|
+
3. return the reduced-pressure route to the unchanged current owner;
|
|
141
|
+
4. let that owner perform the separately authorized activity;
|
|
142
|
+
5. preserve the same evidence honesty, self-review, and stop conditions;
|
|
143
|
+
6. report what was skipped only when it materially clarifies the result or remaining scope.
|
|
144
|
+
|
|
145
|
+
Do not narrate internal bypass state on every turn. Speak in ordinary engineering language unless the scope or expiry matters to the user.
|
|
77
146
|
|
|
78
147
|
When a boundary remains:
|
|
79
148
|
|
|
80
149
|
1. do not perform the blocked action;
|
|
81
|
-
2.
|
|
82
|
-
3.
|
|
150
|
+
2. state the boundary the bypass cannot remove;
|
|
151
|
+
3. return to Workflow, Decision Gate, or the relevant current owner.
|
|
152
|
+
|
|
153
|
+
Bypass ends when the selected optional pressure has been removed, its scope expires, or a non-bypassable boundary requires another route.
|
|
@@ -1,106 +1,145 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: commit-work
|
|
3
|
-
description: Use when
|
|
2
|
+
name: "commit-work"
|
|
3
|
+
description: "Use when creating an explicitly requested or selected local Git commit, including staging its exact contents, verifying the resulting checkpoint, or performing a separately authorized simple push."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Commit Work
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Preserve one supported repository state as a coherent local Git checkpoint.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Commit Work normally follows execution, verification, self-review, and any selected independent review. It preserves that supported state; it does not establish correctness, close the Slice, authorize another Slice, or imply push, integration, release, or launch.
|
|
11
11
|
|
|
12
|
-
A
|
|
12
|
+
A commit is not mandatory merely because work finished. Enter only when the user explicitly requests a local commit or [Workflow](../workflow/SKILL.md) selects an authorized Local commit checkpoint.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
An explicitly requested preservation checkpoint may capture incomplete, failing, or inconclusive work. Describe that state honestly and do not treat the commit as permission to cross the unresolved boundary.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Read [staging decisions](references/staging-decisions.md) when changes are mixed, generated files or durable docs appear, existing staged state is unclear, or broad commit/push language conflicts with diff evidence.
|
|
19
|
-
|
|
20
|
-
## Route Check
|
|
16
|
+
## Enter At The Commit Boundary
|
|
21
17
|
|
|
22
18
|
Before staging, confirm:
|
|
23
19
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
20
|
+
- local commit authority is explicit and still valid;
|
|
21
|
+
- the checkpoint has one coherent claim;
|
|
22
|
+
- the request, accepted decisions, and live changes still describe the same outcome;
|
|
23
|
+
- fresh evidence supports the exact state being preserved, or this is an explicitly requested preservation checkpoint;
|
|
24
|
+
- any selected independent review is complete and its material findings are adjudicated;
|
|
25
|
+
- no unresolved decision, source conflict, or required evidence gap is hidden by the checkpoint claim.
|
|
26
|
+
|
|
27
|
+
A Working Record may preserve checkpoint selection and authority but cannot create them. Approval to implement does not imply approval to commit.
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
Commit Work verifies fidelity between the supported state and the Git checkpoint. It does not dispatch missing review, repair implementation, or generate missing behavioral evidence. Return those needs to Workflow.
|
|
32
30
|
|
|
33
|
-
## Inspect
|
|
31
|
+
## Inspect The Candidate State
|
|
34
32
|
|
|
35
|
-
Inspect before
|
|
33
|
+
Inspect before changing the index:
|
|
36
34
|
|
|
37
35
|
```bash
|
|
38
|
-
git status --short
|
|
36
|
+
git status --short --branch
|
|
37
|
+
git status
|
|
39
38
|
git diff
|
|
40
39
|
git diff --cached
|
|
41
40
|
git ls-files --others --exclude-standard
|
|
42
41
|
```
|
|
43
42
|
|
|
44
|
-
|
|
43
|
+
Inspect submodule state when status reports a changed submodule.
|
|
45
44
|
|
|
46
|
-
|
|
45
|
+
Read [Staging Decisions](references/staging-decisions.md) when:
|
|
47
46
|
|
|
48
|
-
|
|
47
|
+
- staged, unstaged, or untracked changes have mixed ownership or concerns;
|
|
48
|
+
- a path contains both intended and excluded changes;
|
|
49
|
+
- existing staged ownership is uncertain;
|
|
50
|
+
- generated, durable, sensitive, or suspicious files appear;
|
|
51
|
+
- narrowing the checkpoint may require changing existing staged state.
|
|
49
52
|
|
|
50
|
-
|
|
53
|
+
Read [Git State Edges](references/git-state-edges.md) when Git reports an in-progress operation, unmerged paths, detached `HEAD`, submodule ambiguity, or an empty candidate; a requested commit would amend, be empty, or bypass hooks; or any commit or hook fails.
|
|
51
54
|
|
|
52
|
-
|
|
55
|
+
Treat staged state as evidence of index contents, not evidence of ownership, intent, verification, or readiness.
|
|
53
56
|
|
|
54
|
-
##
|
|
57
|
+
## Build The Exact Checkpoint
|
|
58
|
+
|
|
59
|
+
Stage only paths or hunks required to make the checkpoint claim true.
|
|
55
60
|
|
|
56
|
-
|
|
61
|
+
Broad staging commands are acceptable only when every changed path has been inspected and belongs to the same checkpoint. Otherwise stage explicit paths or hunks.
|
|
57
62
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
Do not silently unstage, rearrange, discard, overwrite, or absorb user-owned work to manufacture a clean commit.
|
|
64
|
+
|
|
65
|
+
After staging, inspect the exact candidate:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
git diff --cached
|
|
69
|
+
git diff --cached --check
|
|
70
|
+
```
|
|
65
71
|
|
|
66
|
-
|
|
72
|
+
Confirm:
|
|
67
73
|
|
|
68
|
-
|
|
74
|
+
- every staged path and hunk belongs;
|
|
75
|
+
- required tests, documentation, generated outputs, or metadata are present;
|
|
76
|
+
- no unrelated, sensitive, unexplained, or user-owned content is included;
|
|
77
|
+
- the staged diff is non-empty unless an empty commit was explicitly requested;
|
|
78
|
+
- the commit claim does not exceed available verification and review evidence;
|
|
79
|
+
- excluded working-tree changes do not invalidate evidence for the staged checkpoint.
|
|
69
80
|
|
|
70
|
-
|
|
81
|
+
Interpret `git diff --cached --check` against repository conventions. Unresolved conflict markers or unintended whitespace damage stop the commit; do not edit content merely to silence the command.
|
|
71
82
|
|
|
72
|
-
|
|
83
|
+
If producing the exact checkpoint requires source changes, additional evidence, or a user-owned staging decision, return to Workflow rather than performing that work here.
|
|
73
84
|
|
|
74
|
-
|
|
85
|
+
## Create The Commit
|
|
75
86
|
|
|
76
|
-
|
|
87
|
+
Use the repository's established commit-message style. Otherwise use a short imperative subject describing the actual checkpoint, not the wider task ambition.
|
|
77
88
|
|
|
78
|
-
|
|
89
|
+
Add a body only when the diff does not adequately explain material context, tradeoffs, residual risk, or why incomplete state is being preserved. Reference existing issues, Specs, Plans, or decisions only when they materially explain the checkpoint. Do not invent trailers or metadata conventions.
|
|
79
90
|
|
|
80
|
-
|
|
91
|
+
Create an ordinary local commit from the inspected index.
|
|
81
92
|
|
|
82
|
-
|
|
93
|
+
Do not use `--amend`, `--allow-empty`, or `--no-verify` by implication. Read Git State Edges when one is explicitly requested or becomes relevant.
|
|
83
94
|
|
|
84
|
-
|
|
95
|
+
If a hook fails, changes files or the index, or makes prior evidence stale, do not bypass or blindly retry it. Inspect the resulting state through Git State Edges.
|
|
85
96
|
|
|
86
97
|
## Verify The Checkpoint
|
|
87
98
|
|
|
88
|
-
After
|
|
99
|
+
After Git reports a successful commit, inspect:
|
|
89
100
|
|
|
90
101
|
```bash
|
|
91
|
-
git show --stat --oneline --
|
|
92
|
-
git
|
|
102
|
+
git show --stat --oneline --decorate HEAD
|
|
103
|
+
git show --format= --name-status HEAD
|
|
104
|
+
git status --short --branch
|
|
93
105
|
```
|
|
94
106
|
|
|
107
|
+
Confirm that:
|
|
108
|
+
|
|
109
|
+
- the intended commit was created;
|
|
110
|
+
- its subject and contents represent the checkpoint claim;
|
|
111
|
+
- no unexpected staged, unstaged, or untracked state resulted;
|
|
112
|
+
- remaining changes are known and were not silently absorbed.
|
|
113
|
+
|
|
95
114
|
Report:
|
|
96
115
|
|
|
97
116
|
- commit SHA and subject;
|
|
98
|
-
-
|
|
99
|
-
- verification and review evidence;
|
|
100
|
-
-
|
|
101
|
-
- remaining staged, unstaged, untracked,
|
|
102
|
-
-
|
|
117
|
+
- the checkpoint claim and included scope;
|
|
118
|
+
- verification and selected-review evidence;
|
|
119
|
+
- whether the commit is complete or an honest preservation checkpoint;
|
|
120
|
+
- remaining staged, unstaged, untracked, unverified, or unpushed work;
|
|
121
|
+
- any hook, signing, identity, or repository limitation;
|
|
122
|
+
- the route returned to Workflow.
|
|
123
|
+
|
|
124
|
+
Return the checkpoint result to Workflow. When a Working Record exists, Workflow may route [Track Work](../track-work/SKILL.md) to record `commit:<sha>`, settle the selected checkpoint, and reconcile the Current Slice.
|
|
125
|
+
|
|
126
|
+
Do not stage leftovers, begin another Slice, push, integrate, release, or clean up merely because the commit succeeded.
|
|
127
|
+
|
|
128
|
+
## Push Only When Separately Authorized
|
|
129
|
+
|
|
130
|
+
A local commit does not authorize push.
|
|
131
|
+
|
|
132
|
+
Before any push, read [Simple Push](references/simple-push.md). Use [Finish Branch](../finish-branch/SKILL.md) instead when the request involves integration, pull-request strategy, branch cleanup, history rewriting, or choosing among branch-closeout routes.
|
|
133
|
+
|
|
134
|
+
## Stop
|
|
103
135
|
|
|
104
|
-
|
|
136
|
+
Stop and return the smallest blocking fact when:
|
|
105
137
|
|
|
106
|
-
|
|
138
|
+
- commit authority or the checkpoint claim is unclear;
|
|
139
|
+
- live changes no longer match the supported outcome;
|
|
140
|
+
- selected review or required evidence remains unresolved;
|
|
141
|
+
- the exact checkpoint cannot be staged without manipulating ambiguous user-owned state;
|
|
142
|
+
- sensitive or unexplained content may be included;
|
|
143
|
+
- Git is in a non-ordinary state whose intended outcome is unsettled;
|
|
144
|
+
- creating the commit would require implementation changes, evidence generation, hook bypass, amendment, or history rewriting outside explicit authority;
|
|
145
|
+
- push destination, upstream, or remote-history effect is unclear.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Git State Edges
|
|
2
|
+
|
|
3
|
+
Read this when Git reports an in-progress operation, unmerged paths, detached `HEAD`, submodule ambiguity, or an empty candidate; a requested commit would amend, be empty, or bypass hooks; or any commit or hook fails.
|
|
4
|
+
|
|
5
|
+
These states can change the meaning or recoverability of a commit. Inspect before choosing a recovery action.
|
|
6
|
+
|
|
7
|
+
## In-Progress Operations
|
|
8
|
+
|
|
9
|
+
A commit during merge, rebase, cherry-pick, or revert may complete or advance that operation rather than create an ordinary checkpoint.
|
|
10
|
+
|
|
11
|
+
Stop and establish:
|
|
12
|
+
|
|
13
|
+
- which operation is active;
|
|
14
|
+
- whether the current checkpoint is intended to conclude it;
|
|
15
|
+
- whether all conflicts and behavior decisions are settled;
|
|
16
|
+
- which owner should continue the operation;
|
|
17
|
+
- what verification is required on the resulting state.
|
|
18
|
+
|
|
19
|
+
Do not use Commit Work to finish an operation merely because Git currently permits `commit`.
|
|
20
|
+
|
|
21
|
+
Unmerged paths always stop an ordinary commit.
|
|
22
|
+
|
|
23
|
+
## Detached HEAD
|
|
24
|
+
|
|
25
|
+
A detached-`HEAD` commit may be valid but can become difficult to recover or push.
|
|
26
|
+
|
|
27
|
+
Before committing, require an explicit preservation route naming how the resulting commit will remain reachable. Use [Finish Branch](../../finish-branch/SKILL.md) when branch creation, integration, or checkout ownership must be decided.
|
|
28
|
+
|
|
29
|
+
Do not silently create or switch branches.
|
|
30
|
+
|
|
31
|
+
## Amend And Empty Commits
|
|
32
|
+
|
|
33
|
+
`git commit --amend` rewrites an existing checkpoint. Use it only when the user explicitly requests amendment and the exact target commit, included changes, authorship effects, and remote-history state are known.
|
|
34
|
+
|
|
35
|
+
If the target may already be shared or pushed, return to [Workflow](../../workflow/SKILL.md) or Finish Branch before rewriting it.
|
|
36
|
+
|
|
37
|
+
Use `--allow-empty` only for an explicitly requested empty checkpoint with a named repository purpose. An accidentally empty index is not authorization for an empty commit.
|
|
38
|
+
|
|
39
|
+
## Hooks
|
|
40
|
+
|
|
41
|
+
Do not bypass hooks merely because they block the commit.
|
|
42
|
+
|
|
43
|
+
When a hook fails:
|
|
44
|
+
|
|
45
|
+
1. preserve its complete result;
|
|
46
|
+
2. inspect `HEAD`, the index, and working tree;
|
|
47
|
+
3. determine whether a commit was created despite the reported failure;
|
|
48
|
+
4. determine whether the hook changed files or staged content;
|
|
49
|
+
5. return implementation, verification, policy, or environment failures to their owning route.
|
|
50
|
+
|
|
51
|
+
When a hook changes repository content, the previously supported state may no longer be the state being committed. Reinspect the complete diff and obtain affected verification before retrying.
|
|
52
|
+
|
|
53
|
+
Use `--no-verify` only when the user explicitly requests that exact bypass and repository policy permits it. Report which checks were skipped and which claims therefore remain unsupported.
|
|
54
|
+
|
|
55
|
+
## Commit Command Failures
|
|
56
|
+
|
|
57
|
+
After any failed or interrupted commit attempt, inspect:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
git status
|
|
61
|
+
git diff
|
|
62
|
+
git diff --cached
|
|
63
|
+
git log -1 --oneline --decorate
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Do not assume failure means no commit was created or no state changed.
|
|
67
|
+
|
|
68
|
+
For identity, signing, credential-helper, editor, lock, filesystem, or permission failures:
|
|
69
|
+
|
|
70
|
+
- do not change global or repository Git configuration without authority;
|
|
71
|
+
- do not delete lock files while process ownership is unclear;
|
|
72
|
+
- do not retry through a materially different command without a supported cause;
|
|
73
|
+
- report the exact blocker and preserved state.
|
|
74
|
+
|
|
75
|
+
Use [Diagnose Failure](../../diagnose-failure/SKILL.md) when the cause remains unclear or a retry repeats the failure.
|
|
76
|
+
|
|
77
|
+
## Submodules
|
|
78
|
+
|
|
79
|
+
A parent commit records a submodule pointer, not the submodule's uncommitted contents.
|
|
80
|
+
|
|
81
|
+
Inspect:
|
|
82
|
+
|
|
83
|
+
- the recorded pointer change;
|
|
84
|
+
- whether the nested worktree is dirty;
|
|
85
|
+
- whether the intended checkpoint includes the pointer update;
|
|
86
|
+
- whether nested changes have their own preservation route.
|
|
87
|
+
|
|
88
|
+
Do not claim nested changes are preserved by committing only the parent repository.
|
|
89
|
+
|
|
90
|
+
## Return Safely
|
|
91
|
+
|
|
92
|
+
Return to Commit Work only when the repository has one supported, recoverable checkpoint candidate.
|
|
93
|
+
|
|
94
|
+
Otherwise preserve the exact Git state and return to Workflow, Finish Branch, Diagnose Failure, or the producing activity whose responsibility changed.
|