Skip to content

docs(tasks): 移除 P3+P4 active 重复副本并同步索引 #398

docs(tasks): 移除 P3+P4 active 重复副本并同步索引

docs(tasks): 移除 P3+P4 active 重复副本并同步索引 #398

Workflow file for this run

name: tech-graph
on:
pull_request:
push:
branches:
- main
# 当前集成开发分支;合并入 main 后可删
- agent-v3
jobs:
manifest_check:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Tech Graph checks (manifest · drift · export · equivalence)
run: bash scripts/verify-tech-graph.sh
task_validate:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Detect task file changes
id: tasks
run: |
if [ "${{ github.event_name }}" = "pull_request" ]; then
BASE="${{ github.base_ref }}"
git fetch origin "$BASE" --depth=1 2>/dev/null || true
CHANGED="$(git diff --name-only "origin/${BASE}...HEAD" -- 'docs/tasks/' || true)"
else
CHANGED="$(git diff --name-only HEAD~1 HEAD -- 'docs/tasks/' || true)"
fi
if [ -n "$CHANGED" ]; then
echo "changed=true" >> "$GITHUB_OUTPUT"
echo "Task paths changed:"
echo "$CHANGED"
else
echo "changed=false" >> "$GITHUB_OUTPUT"
echo "No docs/tasks/ changes; skipping task_validate."
fi
- name: Harness task validate (changed task files)
if: steps.tasks.outputs.changed == 'true'
run: |
set -euo pipefail
if [ "${{ github.event_name }}" = "pull_request" ]; then
BASE="${{ github.base_ref }}"
FILES="$(git diff --name-only --diff-filter=ACMR "origin/${BASE}...HEAD" -- 'docs/tasks/active/*.md' 'docs/tasks/done/*.md' || true)"
else
FILES="$(git diff --name-only --diff-filter=ACMR HEAD~1 HEAD -- 'docs/tasks/active/*.md' 'docs/tasks/done/*.md' || true)"
fi
if [ -z "$FILES" ]; then
echo "No task .md to validate (no Added/Copied/Modified/Renamed on HEAD)."
exit 0
fi
for f in $FILES; do
if [[ "$f" == *_AGENT_PROMPT* ]]; then
continue
fi
if [ ! -f "$f" ]; then
echo "Skip missing path (deleted-only in diff): $f"
continue
fi
echo "Validating $f"
python tools/harness_task_validate.py "$f"
done