skills: sync latest gait triage and evidence docs

This commit is contained in:
David Ahmann 2026-02-15 16:49:49 -05:00
parent 0744f22f2a
commit a45dbfee33
3 changed files with 46 additions and 22 deletions

View File

@ -31,16 +31,22 @@ Do not use this skill when:
1. Verify the failing artifact first:
- `gait verify <failure_target> --json`
2. Enter an isolated triage workspace:
2. Resolve path-based targets before changing directories:
- keep identifiers unchanged (for example run ids)
- if `<failure_target>` is a relative file path, normalize to absolute path
- if `<baseline_target>` is provided as a relative file path, normalize to absolute path
- `failure_target_ref="$(python3 -c 'import os,sys; v=sys.argv[1]; print(os.path.abspath(v) if os.path.exists(v) else v)' <failure_target>)"`
- `baseline_target_ref="$(python3 -c 'import os,sys; v=sys.argv[1]; print(os.path.abspath(v) if os.path.exists(v) else v)' <baseline_target>)"` (only when provided)
3. Enter an isolated triage workspace:
- `mkdir -p <workdir> && cd <workdir>`
3. If failure came from regress grading, bind reruns to the requested target:
- `gait regress init --from <failure_target> --json`
4. If failure came from regress grading, bind reruns to the requested target:
- `gait regress init --from <failure_target_ref> --json`
- `gait regress run --json`
4. If baseline evidence exists, compute deterministic diff:
- `gait pack diff <baseline_target> <failure_target> --json`
5. If environment health is uncertain, run diagnostics:
5. If baseline evidence exists, compute deterministic diff:
- `gait pack diff <baseline_target_ref> <failure_target_ref> --json`
6. If environment health is uncertain, run diagnostics:
- `gait doctor --json`
6. Return triage summary:
7. Return triage summary:
- integrity status
- failing stage and reason codes
- diff highlights (if provided)
@ -56,9 +62,11 @@ Do not use this skill when:
## Usage Example
```bash
gait verify ./artifacts/runpack_failed.zip --json
gait demo --json
gait verify run_demo --json
failure_target_ref="$(python3 -c 'import os,sys; v=sys.argv[1]; print(os.path.abspath(v) if os.path.exists(v) else v)' run_demo)"
mkdir -p ./triage && cd ./triage
gait regress init --from ../artifacts/runpack_failed.zip --json
gait regress init --from "${failure_target_ref}" --json
gait regress run --json
gait doctor --json
```
@ -72,13 +80,15 @@ Expected result:
## Validation Example
```bash
gait verify ./artifacts/runpack_failed.zip --json > ./artifacts/verify.json
gait demo --json
mkdir -p ./artifacts
gait verify run_demo --json > ./artifacts/verify.json
python3 - <<'PY'
import json
from pathlib import Path
p = json.loads(Path('./artifacts/verify.json').read_text(encoding='utf-8'))
assert 'ok' in p
assert 'manifest_digest' in p
assert 'run_id' in p or 'bundle' in p
print('validated verify payload keys present')
PY
```

View File

@ -51,8 +51,10 @@ Do not use this skill when:
## Usage Example
```bash
gait verify ./artifacts/runpack.zip --json
gait run receipt --from ./artifacts/runpack.zip --json > ./artifacts/receipt.json
gait demo --json
mkdir -p ./artifacts
gait verify run_demo --json
gait run receipt --from run_demo --json > ./artifacts/receipt.json
```
Expected result:
@ -62,7 +64,9 @@ Expected result:
## Validation Example
```bash
gait run receipt --from ./artifacts/runpack.zip --json > ./artifacts/receipt.json
gait demo --json
mkdir -p ./artifacts
gait run receipt --from run_demo --json > ./artifacts/receipt.json
python3 - <<'PY'
import json
from pathlib import Path

View File

@ -28,17 +28,21 @@ Do not use this skill when:
## Workflow
1. Enter the declared working directory before generating artifacts:
1. Resolve `run_source` before changing directories:
- keep identifiers unchanged (for example run ids)
- if `run_source` is a relative file path, normalize to absolute path
- `run_source_ref="$(python3 -c 'import os,sys; v=sys.argv[1]; print(os.path.abspath(v) if os.path.exists(v) else v)' <run_source>)"`
2. Enter the declared working directory before generating artifacts:
- `mkdir -p <workdir> && cd <workdir>`
2. Initialize deterministic fixture from the incident source:
- `gait regress init --from <run_source> --json`
3. Parse fields from init output and record them:
3. Initialize deterministic fixture from the incident source:
- `gait regress init --from <run_source_ref> --json`
4. Parse fields from init output and record them:
- `ok`, `run_id`, `fixture_name`, `fixture_dir`, `config_path`, `next_commands`
4. Execute regression graders:
5. Execute regression graders:
- `gait regress run --json`
5. If CI evidence is needed, rerun with JUnit output:
6. If CI evidence is needed, rerun with JUnit output:
- `gait regress run --json --junit <junit_path>`
6. Return a concise summary with:
7. Return a concise summary with:
- source identifier
- fixture directory and config path
- status and failed grader count
@ -54,8 +58,11 @@ Do not use this skill when:
## Usage Example
```bash
run_source_ref="$(python3 -c 'import os,sys; v=sys.argv[1]; print(os.path.abspath(v) if os.path.exists(v) else v)' run_demo)"
mkdir -p ./regress-workdir && cd ./regress-workdir
gait regress init --from run_demo --json
gait demo --json
gait regress init --from "${run_source_ref}" --json
mkdir -p ./artifacts
gait regress run --json --junit ./artifacts/junit.xml
```
@ -68,6 +75,9 @@ Expected result:
```bash
mkdir -p ./regress-workdir && cd ./regress-workdir
gait demo --json
gait regress init --from run_demo --json
mkdir -p ./artifacts
gait regress run --json > ./artifacts/regress_result.json
python3 - <<'PY'
import json