From a45dbfee331c5adb564d6a6ca2b3c674052871c3 Mon Sep 17 00:00:00 2001 From: David Ahmann Date: Sun, 15 Feb 2026 16:49:49 -0500 Subject: [PATCH] skills: sync latest gait triage and evidence docs --- skills/ci-failure-triage/SKILL.md | 32 ++++++++++++++------- skills/evidence-receipt-generation/SKILL.md | 10 +++++-- skills/incident-to-regression/SKILL.md | 26 +++++++++++------ 3 files changed, 46 insertions(+), 22 deletions(-) diff --git a/skills/ci-failure-triage/SKILL.md b/skills/ci-failure-triage/SKILL.md index 9902ede3..e7167bd1 100644 --- a/skills/ci-failure-triage/SKILL.md +++ b/skills/ci-failure-triage/SKILL.md @@ -31,16 +31,22 @@ Do not use this skill when: 1. Verify the failing artifact first: - `gait verify --json` -2. Enter an isolated triage workspace: +2. Resolve path-based targets before changing directories: + - keep identifiers unchanged (for example run ids) + - if `` is a relative file path, normalize to absolute path + - if `` 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)' )"` + - `baseline_target_ref="$(python3 -c 'import os,sys; v=sys.argv[1]; print(os.path.abspath(v) if os.path.exists(v) else v)' )"` (only when provided) +3. Enter an isolated triage workspace: - `mkdir -p && cd ` -3. If failure came from regress grading, bind reruns to the requested target: - - `gait regress init --from --json` +4. If failure came from regress grading, bind reruns to the requested target: + - `gait regress init --from --json` - `gait regress run --json` -4. If baseline evidence exists, compute deterministic diff: - - `gait pack diff --json` -5. If environment health is uncertain, run diagnostics: +5. If baseline evidence exists, compute deterministic diff: + - `gait pack diff --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 ``` diff --git a/skills/evidence-receipt-generation/SKILL.md b/skills/evidence-receipt-generation/SKILL.md index cd6a5a9f..c6275234 100644 --- a/skills/evidence-receipt-generation/SKILL.md +++ b/skills/evidence-receipt-generation/SKILL.md @@ -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 diff --git a/skills/incident-to-regression/SKILL.md b/skills/incident-to-regression/SKILL.md index 0b82cc3f..e08d6b16 100644 --- a/skills/incident-to-regression/SKILL.md +++ b/skills/incident-to-regression/SKILL.md @@ -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)' )"` +2. Enter the declared working directory before generating artifacts: - `mkdir -p && cd ` -2. Initialize deterministic fixture from the incident source: - - `gait regress init --from --json` -3. Parse fields from init output and record them: +3. Initialize deterministic fixture from the incident source: + - `gait regress init --from --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 ` -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