Loading...
Loading...
Gate every commit — typecheck, lint, smoke, then promote draft to wiki
npx skill4agent add rheinmir/setup verify-before-commitgit commitcode-logger.pydiff → typecheck → lint → test → qc-regression → task_lifecycle gate → smoke → commit (why) → promote draft (+ ## Origin) → log + index → task state=done| Field | Required? | Ý nghĩa | |
|---|---|---|---|
| In | thay đổi code đã impl | có | đối tượng gate |
| In | draft khớp feature trong | không | không có (hotfix/refactor) → ghi "no draft — <reason>" vào log |
| In | | không | không có → skip step 8 (fail-open) |
| Out | commit | có | message nói why, không what |
| Out | trang wiki đã promote có | khi có draft | |
| Out | | có | cập nhật |
qc-regression.py --runqc-*task_lifecycle.pytask:| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | deterministic | repo | Type-check (dò lệnh theo repo) | rc 0 | lỗi → fix, lặp |
| W02 | deterministic | repo | Lint | rc 0, ghi chú warning | lỗi → fix, lặp |
| W03 | deterministic | repo | Test + test tái hiện qc-code (3b, nếu có harness) | rc 0 | fail → fix, lặp |
| W04 | deterministic | draft/task | Trụ 3 gate | rc 0 | chặn → blocked |
| W05 | judgment | app | Smoke check golden path end-to-end | golden path chạy | hỏng → fix |
| W06 | effect | diff | Commit, message why | commit hash | — |
| W07 | effect | draft | Promote draft + | trang wiki | không draft → B01 |
| W08 | effect | | Đóng vòng đời task qua | state=done | không id → B02 |
RUN: <type-check-cmd>npx tsc --noEmitgo build ./...RUN: <lint-cmd>npx eslint src/go vet ./...RUN: <test-cmd>npm testgo test ./...RUN: [ -f harness/scripts/qc-regression.py ] && python3 harness/scripts/qc-regression.py --runqc-*/qc-codeqc-*RUN: [ -f harness/validators/task_lifecycle.py ] && python3 harness/validators/task_lifecycle.py --root .llmwiki/wiki/sources/draft/llmwiki/wiki/concepts/llmwiki/wiki/sources/## OriginDraft: <path>Commit: <hash> — <msg>Date: YYYY-MM-DDCHECK: grep -l "## Origin" <promoted-file>RUN: echo "promoted" >> llmwiki/wiki/log.mdllmwiki/wiki/index.mdtask: T-…python3 harness/scripts/code-logger.py --task set <T-id> state=done note="<commit-hash>"--task--task show <T-id>--auditNo draft (hotfix/refactor)? Note "no draft — <reason>" in log.md, skip step 6. Noid (install cũ / propose bỏ qua mint)? Skip step 8 — fail-open, không phải lỗi.task:
| ID | Kind | Guard | Hành vi | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | conditional_required | không có draft (hotfix/refactor) | ghi "no draft — <reason>" vào | — | W08 |
| B02 | conditional_required | draft không có | skip step 8 — fail-open | — | kết thúc |
| B03 | capability_optional | có | chạy 3b, 4, 8 | thiếu file → bỏ qua, fail-open | bước kế |
CHECK: grep -l "## Origin" <promoted-file>--task show <T-id>--auditpackage.jsonnpx tsc --noEmitnpx eslint src/npm testqc-regression.py --runDDMMYY-login-otp.mdwiki/concepts/## Origincode-logger.py --task set T-12 state=done note="<hash>"go test ./...DDMMYY-<ten>.mdDDMMYY020626<ten>landing-page-cotecconsbrand-kit-fintechingest-auth-specllmwiki/wiki/sources/draft/DDMMYY-<ten>.md---
type: draft
title: "DDMMYY-<ten>"
status: proposed
tags: [<skill-name>, output-report]
timestamp: YYYY-MM-DD
---
# DDMMYY-<ten>
**Type:** draft
**Status:** proposed
**Tags:** <skill-name>, output-report
**Proposed:** YYYY-MM-DD
## What
<One sentence — what this skill invocation produced or decided>
## Output
<Key artefacts, files created/modified, or decisions made>
## Files
| File | Action |
|------|--------|
| `path/to/file` | created / modified |
## Notes
- Invoked via: `/<skill-name>` skill
## Origin
- **Draft:** `wiki/sources/draft/DDMMYY-<ten>.md`
- **Commit:** _(filled by verify-before-commit)_
- **Date promoted:** _(filled by verify-before-commit)_llmwiki/wiki/index.md| [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |llmwiki/wiki/log.md## YYYY-MM-DD — <skill-name> — <ten>Skip only when the skill produces zero artefacts and zero decisions (e.g., a pure display mode like)./caveman-stats