Community코딩 & 개발github.com

AssertLedger 회귀 테스트 검증

AssertLedger를 사용하여 회귀 테스트가 선언된 버그를 탐지하는지 검증합니다. 검증이 요청될 때마다(AssertLedger가 언급되지 않은 경우에도) 이 스킬을 사용하십시오. 일반 TDD, 커버리지, 일반 코드 리뷰, 지원되지 않는 테스트 러너는 제외됩니다.

AssertLedger 회귀 테스트 검증란 무엇인가요?

AssertLedger 스킬은 AI 에이전트(예: Claude Code, Cursor, Codex)가 동일한 회귀 테스트 후보를 수정된 코드, 선언된 결함, 중립적 대조군이라는 세 가지 환경에서 평가하여 제한된 판정을 내릴 수 있도록 지원합니다. 이 스킬은 Git 저장소 기반 검증을 통해 `assertledger check` 명령어로 실제 테스트를 실행한 후, `assertledger replay`로 결과 매니페스트를 재생하여 일관성을 확인합니다. 사용자는 결함과 대조군의 의미를 직접 제공해야 하며, 도구는 전반적인 프로그램 정확성이나 플래키 테스트로부터의 완전한 자유를 보장하지 않습니다. 지원 환경으로는 `node:test` 기반 순수 JavaScript(`.js`, `.mjs`, `.cjs`)와 Bun(1.4.2)이 있으며, 컨테이너 실행이나 신뢰할 수 있는 로컬 실행(UNSANDBOXED)을 선택할 수 있습니다. TypeScript, Rust 등 지원되지 않는 환경은 보고하고 기존 테스트를 유지해야 합니다. 이 스킬은 회귀 테스트 검증이 명시적으로 요청된 경우에만 활성화되며, 일반 TDD나 코드 리뷰를 대체하지 않습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SebastienElet/agent-skills/tree/HEAD/skills/assertledger

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

AssertLedger

개요

동일한 회귀 테스트 후보를 수정된 코드, 선언된 결함, 중립적 대조군이라는 세 가지 환경에서 평가합니다. 관찰 결과를 보존하고 결과 매니페스트를 재생한 후 제한된 판정을 보고합니다. 운영자가 결함과 대조군의 의미를 제공하며, 도구는 전반적인 프로그램 정확성, 제작자 신뢰성, 또는 플래키 테스트로부터의 영구적 자유로움을 확립하지 않습니다.

이 로컬에서 관리되는 워크플로우는 공개된 AssertLedger 1.4.0 문서를 따릅니다.

사용법

$assertledger <저장소 및 회귀 테스트> 또는 /assertledger <재생할 매니페스트>를 사용하십시오. 예시: '커밋된 패리티 회귀 테스트가 제공된 버그 리비전을 탐지하는지 확인하십시오.' 일반 구현에는 tdd를, 검증 메커니즘 자체가 변경되는 경우에는 proof-integrity-review를 사용하십시오. AssertLedger 검증은 추가로 요청되는 워크플로우이며, 포괄적인 테스트 게이트가 아닙니다.

호스트의 선언된 도구 설치를 통해 호환 CLI를 획득하십시오. 스킬 자체는 런타임에 dotfiles 체크아웃이 필요하지 않습니다. CLI가 없는 경우, 패키지를 설치하거나 프로젝트 구성을 암시적으로 수정하는 대신 그 선행 조건을 보고하십시오.

단계

  1. assertledger --version과 assertledger doctor /path/to/repository --json을 실행하십시오. 이 진단은 정적이며 읽기 전용입니다. 실행 계획을 세우기 전에 충돌과 프레임워크 지원을 검사하십시오. 테스트 명령어가 탐지된다고 해서 어댑터가 실행할 수 있음을 증명하지는 않습니다.

  2. Git 검증의 경우, 버그 리비전, 수정된 리비전, 중립 리비전, 중립 이유, 후보 경로, 변경되지 않은 기본 테스트 경로, 그리고 저장소에 대한 새로운 출력 디렉터리를 설정하십시오. 가능한 경우 제공된 사실을 검색하십시오. 누락된 대조군 의미를 절대 발명하지 마십시오. 자격 조건은 Git 가이드를 참조하십시오: 의존성 없는 .js, .mjs, 또는 .cjs 파일로 node:test 사용, 변경되지 않은 기본 테스트, 후보를 제외한 동일한 파일 경로 세트. 로컬의 커밋되지 않은 변경 사항은 무시됩니다.

  3. 운영자의 권한에 따라 실행 백엔드를 설정하십시오. 컨테이너 실행은 운영자가 선택한 이미지(다이제스트로 고정)가 필요하며, 이미 Linux 데몬에 존재하고 Node를 포함해야 합니다. 신뢰할 수 있는 로컬 실행은 UNSANDBOXED이며 해당 범위에 대한 권한이 필요합니다. 두 모드를 결합하거나 설치 또는 프로젝트 구성에서 실행 권한을 추론하지 마십시오.

  4. 실제 설정된 입력으로 선택한 명령어를 실행하십시오. 권한이 있는 컨테이너 실행의 경우:

    assertledger check /path/to/repository --before BEFORE --after AFTER --neutral NEUTRAL --neutral-reason "설정된 대조군 근거" --test tests/regression.test.js --base-test tests/base.test.js --out .assertledger/evidence-001 --container-image node@sha256:DIGEST --json
    

    권한이 있는 신뢰할 수 있는 로컬 실행의 경우 --container-image node@sha256:DIGEST를 --allow-unsafe-execution으로 바꾸십시오. 해당 백엔드가 설정되기 전에는 두 플래그 중 어느 것도 전달하지 마십시오.

  5. 명령어의 종료 상태, 요약, 실행된 요청, 매니페스트를 보존하십시오. 완전한 출력 디렉터리는 마지막에 게시된 manifest.json을 포함합니다. assertledger replay /path/to/repository/.assertledger/evidence-001/manifest.json --json을 실행하십시오. 긍정 증거는 decision.status: VERIFIED와 재생 valid: true를 필요로 합니다. 실패한 모든 시도, 대조군, 이유 코드, 실행 제한, 격리 사실을 모두 보존하십시오. 거부, 불명확한 관찰, 운영 오류, 또는 유효하지 않은 재생은 수용을 지원할 수 없습니다.

  6. 정확한 결함, 리비전, 선택된 후보, 환경, 아티팩트 위치, 제한 사항을 보고하십시오. 거부 사유는 assertledger explain CODE --json을 사용하십시오. 재생은 무결성과 결정 일관성을 확인하며, 테스트를 다시 실행하거나 제작자를 인증하지 않습니다. 재현 또는 독립적 감사가 중요한 경우 소스 리비전, 요청, 원시 로그를 별도로 보존하십시오.

  7. 이미 제공된 버전이 지정된 요청 또는 지원되는 Bun 캠페인의 경우, verify 또는 재생을 사용하기 전에 해당 참고 문서를 읽으십시오. Bun 어댑터는 Bun 1.4.2를 고정하고 assertledger/bun assertSame의 실패를 인정합니다. 네이티브 Bun expect의 실패는 대상 탐지로 간주되지 않습니다. 이 하위 수준 경로는 Git check 명령어의 자격을 확장하지 않습니다.

주의사항

  • TypeScript/Bun 또는 Rust에 Git 검증 적용 — 정적 탐지가 유망해 보일 수 있지만 check가 후보를 실행할 수 없는 경우, 기존 네이티브 테스트를 유지하고 한계를 보고하십시오.
  • 저장소 심볼릭 링크 거부 무시 — 링크를 제거하거나 제외를 발명하면 선언된 증거가 변경됩니다. 체크아웃을 보존하고 UNSUPPORTED_REPOSITORY_SYMLINK를 보고하십시오. 운영자만 문서화된 규칙을 검토한 후 로컬 전용 제외를 선언할 수 있습니다.
  • 증거 디렉터리 재사용 — 출력 예약은 이전 캠페인을 덮어쓰지 않고 실패합니다. 새 상대 경로를 선택하고 이전 증거를 보존하십시오.
  • 충돌을 탐지로 간주 — 타임아웃, 컴파일, 발견, 프로세스 실패는 주장된 회귀를 확립하지 않습니다. 이유 코드를 검사하고 실행 문제를 수정하십시오.
  • 클라이언트 설정 자동 실행 — connect --write는 프로젝트 스킬과 MCP 구성을 설치하여 이 사용자 스킬의 또 다른 복사본을 생성합니다. 요청된 클라이언트 설정에서만 미리보고 중복을 해결한 후 쓰기를 수행하십시오.

제약 조건

  • 결함 의미, 중립 근거, 관찰 결과, 실행 권한을 절대 제작하지 마십시오.
  • 프로젝트를 초기화하거나, MCP 서버를 등록하거나, 이미지를 가져오거나, 제외를 암시적으로 변경하지 마십시오.
  • 지원되지 않는 러너를 추측된 어댑터를 통해 실행하거나 정책을 약화시켜 수용을 얻지 마십시오.
  • 재생 유효성을 실제 실행, 신뢰성, 또는 일반적 정확성의 증거로 취급하지 마십시오.
  • 실패한 관찰을 폐기하거나, 불완전한 출력을 숨기거나, 데모를 저장소 증거로 취급하지 마십시오.
  • 네이티브 테스트 및 CI 요구 사항을 유지하십시오. 이 스킬은 이를 대체하거나 병합을 승인하지 않습니다.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

관련 스킬