서브시스템의 "보이는 절반"(설정 UI·스키마·워커·읽기 엔드포인트)만 만들어지고 "안 보이는 절반"(프로덕션 producer/consumer, authoring 입력구, 서버 승격)이 빠지는 반복 결함. 유닛테스트 100% green으로 통과하며, 자율성은 전부 그 안 보이는 절반에 산다. 신규 서브시스템 설계·리뷰 시, 그리고 "설정은 있는데 왜 동작 안 하지" 증상에서 사용.
Idioma do texto original: coreano
Menu
Skills neste repositório
O SkillsMP coletou 183 skills de blas1n/claude-skills. Abra uma skill para revisar a origem e os detalhes.
blas1n/claude-skillsMostrando 40 de 183 skills coletadas.
서브시스템의 "보이는 절반"(설정 UI·스키마·워커·읽기 엔드포인트)만 만들어지고 "안 보이는 절반"(프로덕션 producer/consumer, authoring 입력구, 서버 승격)이 빠지는 반복 결함. 유닛테스트 100% green으로 통과하며, 자율성은 전부 그 안 보이는 절반에 산다. 신규 서브시스템 설계·리뷰 시, 그리고 "설정은 있는데 왜 동작 안 하지" 증상에서 사용.
Idioma do texto original: coreano
Adding a rule to an LLM system prompt silently loses to a LATER, more specific sentence that covers the same case — including the "escape hatch" that lets the model opt out. Fix the sentence that actually fires, never stack emphasis in front of it. Unit tests…
Idioma do texto original: inglês
"무엇이 바뀌었나"를 `git diff HEAD~1 HEAD` 로 만들어 LLM 판사·리뷰봇·알림·딜리버러블에 넣으면, 에이전트가 커밋을 두 번 이상 한 순간 **첫 커밋들이 통째로 사라진다.** 파일 목록은 맞는데 내용이 0바이트라 "파일이 없다/검증할 수 없다"는 오판이 나온다. 트리거 - `git diff HEAD~1`, `HEAD^..HEAD`, 판사/리뷰어에게 보낼 컨텍스트 조립, "코드를 볼 수 없습니다" 반복 거절, 커밋 여러 개 만드는 에이전트…
Idioma do texto original: coreano
"죽었나 살았나"를 스스로 고른 신선도 창(3분 등)으로 판정하는 가드·워치독·리퍼·헬스체크는, 보호 대상 시스템이 자기 계약서에 적어둔 lease(예: 한 턴 최대 1시간)와 어긋나면 **가장 값진 작업 구간에서 정확히 오판**한다. 트리거 - `updated_at > now() - interval 'N minutes'`, "in flight 면 배포 연기", stale-claim 리퍼, liveness/readiness probe, 배포 직전 드레인 가드,…
Idioma do texto original: coreano
When a capable agent first declares a STRONG plan/contract/approach then a retry or continuation produces a WEAKER one, suspect the execution environment couldn't run the strong version — not model laziness or a prompting gap.
Idioma do texto original: Vários idiomas
설정 행(룰·바인딩·커넥터·플래그 테이블)을 "한 번도 발화한 적 없으니 중복/불필요"라며 지우기 전에 — 그 행의 *존재*를 `has_any`/`exists`/`count>0` 로 읽는 코드가 있는지 세라. 한 용도에서의 비활성이 다른 용도에서의 무해함을 뜻하지 않는다. 증상: 무관해 보이는 기능이 삭제 직후 조용히 꺼지고, 아무 에러도 안 난다.
Idioma do texto original: coreano
사용자가 고르는 선택지 목록(enum·레지스트리·카탈로그·allowlist)을 폼/검증기/LLM 프롬프트가 "고를 수 있는 메뉴"로 읽을 때, 그 목록의 항목이 **실제로 구현돼 있는지는 아무도 검사하지 않는다.** 사용자가 유령 항목을 고르면 에러도 없이 그냥 아무 일도 안 일어난다 — 설정은 저장되고, 화면에도 보이고, 영원히 발화하지 않는다. 트리거 - 설정 드롭다운/룰 작성/라우팅 대상/웹훅 이벤트/기능 플래그 목록, "설정했는데 왜 동작 안 하지",…
Idioma do texto original: coreano
시임(seam)의 생산자 쪽만 보고 "정리하는 게 맞다"고 추론해 상태를 지우면, 그 상태가 소비자에게는 인계 그 자체일 수 있다. 테스트를 그 추론대로 쓰면 green 이 추론을 검증해준 것처럼 보인다. 트리거 - 핸드오프/재투입/재시도 경계 설계, cleanup·abort·reset·clear 를 추가할 때, "리소스를 돌려줘야 하니까 정리한다", 다음 단계가 "할 일이 없다"고 보고하며 아무것도 안 함.
Idioma do texto original: coreano
마이그레이션이 든 PR 은 열려 있는 동안 다른 마이그레이션이 머지되면 배포를 깨뜨리는 지뢰가 된다 — `down_revision` 이 더 이상 head 가 아닌 리비전을 가리켜 머지 순간 head 가 둘로 갈라지고 컨테이너가 재시작 루프에 빠진다. 그런데 **git 도 브랜치 CI 도 이걸 못 본다**(새 파일이라 충돌 없음 + 브랜치 자체 체인은 단일 head). 트리거 - 며칠 묵은 PR 머지, 마이그레이션 포함 PR, "CI green 인데 배포가…
Idioma do texto original: coreano
백로그가 "X 가 없다"고 말할 때, 대개 X 의 부품은 대부분 이미 있고 **연결 하나**만 없다. 사슬(생산자→전송→저장→읽기→화면)을 링크별로 측정하면 서브시스템 하나가 200줄짜리 배선으로 줄어든다. 트리거 - "가시성이 없다"·"자기 자신을 모른다" 같은 부재형 증상, "새 메커니즘이 필요하다"는 결론, 코드에 있는데 프로덕션 출력을 본 적 없는 기능, 큰 신규 트랙 착수 직전.
Idioma do texto original: coreano
자동 소비자(에이전트·봇·CI)에게 실패 원인을 돌려줄 때 결과 객체 전체를 직렬화하고 앞에서 N자를 자르면, 통과 블록이 먼저 직렬화될 경우 "실패했다"면서 통과 목록만 보여준다. 소비자는 우회하지 않고 같은 실패를 무한 반복한다. 트리거 - 실패 피드백/에러 리포트/재시도 프롬프트를 만들 때, `json.dumps(result)[:N]` 같은 blind prefix, 동일 실패가 3회 이상 반복, 라인 번호가 안 움직이는 반복 실패, "어려운 작업인가…
Idioma do texto original: coreano
사람의 결정을 기다리는 작업을 "실행 중" 상태로 파킹해두면, 시간 기반 stall/wedge 모니터가 그걸 장애로 읽어 답을 기다리는 그 사람에게 장애 알람을 보낸다. 트리거 - 승인 대기·질문 대기 상태 설계, "N시간+ running 이면 wedge" 류의 모니터, 사용자가 "자꾸 이상 감지 알림이 온다"고 할 때, 대기 큐가 있는 시스템의 알림 튜닝.
Idioma do texto original: coreano
브랜치 충돌 해결 시 상대 브랜치가 추가한 기능이 여러 파일에 걸쳐 있을 때, 충돌 마커가 있는 파일만 수정하면 다른 파일의 변경이 누락되어 런타임 오류가 발생하는 패턴.
Idioma do texto original: coreano
`gh pr merge` 가 502/504 를 내도 머지는 이미 됐을 수 있다 — GitHub 는 머지를 수행한 뒤 PR 레코드 갱신에서 죽는다. 그러면 스쿼시 커밋은 main 에 있는데 PR 은 `state=open, merged=false` 로 남고, 브랜치도 안 지워진다. 재시도하기 전에 `git log origin/main` 을 먼저 봐라. 트리거: gh pr merge 502/Bad Gateway, "머지 실패"인데 CI 는 green,…
Idioma do texto original: coreano
`git add -A -- . ':(exclude).venv'` 로 찌꺼기를 빼려 하면, 그 경로가 **존재하고 또 .gitignore 에 있을 때** git 이 스테이징 전체를 exit 1 로 거부한다("The following paths are ignored by one of your .gitignore files"). 두 조건이 다 필요해서 테스트 픽스처에 .gitignore 가 없으면 영원히 통과한다. 처방은 `git add -A` 후 `git…
Idioma do texto original: coreano
테스트 픽스처가 env 를 바꾸고 lru_cache 의 cache_clear() 를 호출하면, 그 모듈이 아니라 **다른 모듈의 테스트가 실행마다 다르게 깨진다**(격리하면 통과). 캐시는 전역이라 비우는 순간 이후 모든 독자가 지금 환경으로 다시 만든다. 게다가 monkeypatch 를 요청한 픽스처는 monkeypatch 보다 **먼저** 정리되어, 되돌리기 전에 내 값이 다시 캐시된다. 처방은 env 를 안 건드리고 값을 만드는 함수를 패치하는 것.…
Idioma do texto original: coreano
compose 스택 네트워크에 `docker run --network <project>_default` 로 외부 컨테이너를 붙였다면, 그걸 먼저 지우지 않는 한 `docker compose down -v` 가 네트워크를 못 지운다 — 그런데 **exit 0** 을 낸다("Resource is still in use" 는 stdout 뿐). 실행마다 네트워크가 하나씩 새면서 정리는 성공으로 보고된다. 트리거: compose 스택에 프로브/테스트 컨테이너 붙이기,…
Idioma do texto original: coreano
import-linter(및 대부분의 정적 아키텍처 게이트)는 AST 를 읽으므로 **함수 안 지연 import 도 계약 위반으로 잡는다**. 순환 import 를 피하려고 import 를 함수 안으로 옮기는 흔한 처방이 아키텍처 계약에는 통하지 않는다. 처방은 계약이 허용하는 레이어에 헬퍼를 두는 것(때로는 의도적 중복). 트리거: `lint-imports` 실패인데 파일 상단엔 그 import 가 없음, "circular import" 를 lazy…
Idioma do texto original: coreano
자동 정리기(리퍼·GC·워크스페이스 회수)를 만들 때, "지워도 안전한가"를 직접 판정하지 말고 도구가 이미 하는 거부를 물려받아라. `git worktree remove`·`rmdir`·`docker rm`(force 없이)은 지우면 안 되는 상태에서 스스로 거부한다. `--force` 한 글자가 그 안전장치를 데이터 손실로 바꾼다. 그리고 정리 명령의 exit 0 은 반드시 관측이어야 한다. 트리거: 워크트리/워크스페이스/컨테이너/temp 회수, 고아…
Idioma do texto original: coreano
A boundary test that passes the value it expects back (acquire(id, '/founder/path') → assert mount == '/founder/path') is passed forever by an implementation that just echoes its argument — the real caller passes something else. Pair trap: a fail-closed…
Idioma do texto original: inglês
The docker CLI's current context is GLOBAL mutable user state. A `colima start <other-profile>` anywhere repoints every unpinned `docker` call on the host at a VM with none of your containers — so monitors page "container down" while production is healthy,…
Idioma do texto original: inglês
An `@lru_cache` settings factory is a process-wide singleton, so the FIRST test module to touch it pins its monkeypatched env for the whole run. A second module setting a different secret/URL gets the first module's value — symptom is "passes alone, fails…
Idioma do texto original: inglês
A FastAPI router mounted with a blanket `APIRouter(dependencies=[Depends(get_current_user)])` runs that check BEFORE any route-level dependency. Adding a broader auth resolver to one route under that router silently never executes — the request 401s from the…
Idioma do texto original: inglês
next-intl / ICU treats `<name>` in a message as a rich-text tag, so prose that mentions a CLI placeholder (`claude mcp add bsvibe <url>`) fails to parse with INVALID_MESSAGE UNCLOSED_TAG and the UI renders nothing where the sentence should be. Nothing…
Idioma do texto original: inglês
A PreToolUse Bash hook that gates on a command PREFIX (`[[ "$COMMAND" != git\ commit* ]] && exit 0`) silently no-ops when you write a compound command like `git add -A && git commit …`. The action succeeds, the hook never ran, and you report "verification…
Idioma do texto original: inglês
In Vitest, `vi.restoreAllMocks()` in afterEach strips the implementation from mocks created inside a `vi.mock(...)` factory (`vi.fn().mockResolvedValue([])`). The first test passes, then every later test gets `undefined` from that module — and the crash…
Idioma do texto original: inglês
When designing new layer/feature spec for an established codebase, survey existing ABCs/Protocols/dual-impl patterns BEFORE locking spec invariants. Skip the survey and you'll invent parallel abstractions that need rework.
Idioma do texto original: inglês
When a test harness picks its DB backend from an env var (`use_real_pg()` → Postgres when `BSVIBE_DATABASE_URL` is set, else in-memory SQLite), a locally-red suite is NOT evidence that main is broken — CI sets the var and runs green. Reproduce under CI's env…
Idioma do texto original: inglês
Adding an Alembic revision — the id is capped at 32 chars by `alembic_version.version_num` (a longer one fails at the UPDATE, not at your DDL), and repos commonly pin the head revision as a literal string in MORE THAN ONE test file, so fixing the one you…
Idioma do texto original: inglês
검증 하네스 판사가 매 라운드 다른 "related notes" 기준을 추가해 반복 실패시킬 때 — cycling 기준은 무시하고 실제 산출물 완료에만 집중하는 전략
Idioma do texto original: coreano
배포 폴러(launchd/cron, N초 주기)가 이미 같은 compose 명령을 돌리고 있는데 손으로 `docker compose up`을 치면 두 프로세스가 같은 컨테이너를 동시에 recreate 하다가 "container name is already in use" 충돌 → 컨테이너가 Exited 로 남고 **프로덕션이 죽는다**. 트리거: 머지 후 수동 배포, "이 프로젝트는 자동배포 안 되는 것 같다"는 판단, 컨테이너 이름 충돌.
Idioma do texto original: coreano
에이전트/샌드박스의 능력을 제한하는 가드는 "금지된 것이 없음"만 검사하면 정작 자기가 존재하는 이유인 실패(능력이 0개)를 못 잡는다. 툴이 없는 에이전트는 실패하지 않고 '지어낸다'. 트리거: 툴/권한 allowlist·denylist 가드, "leaked tools" 검사, 샌드박스 격리 검증, 에이전트가 그럴듯한 거짓 결과를 success로 리턴.
Idioma do texto original: coreano
코딩 CLI(claude code 등)에 원격 HTTP MCP 서버로 툴을 주입할 때, CLI가 MCP 연결을 기다리지 않고 턴을 시작해 에이전트가 "툴 0개"로 돌아간다. env var를 unset 하는 건 고치는 게 아니다(기본값이 이미 non-blocking). 트리거: system/init의 mcp_servers status=pending, tools=[], 에이전트가 툴을 ToolSearch로 찾음, 툴 없이 답을 지어냄.
Idioma do texto original: coreano
코딩 CLI(claude/codex/opencode)를 "LLM 호출 transport"로 감싸 쓸 때, chat 턴까지 agentic 모드로 띄우면 에이전트가 자기 빈 샌드박스를 뒤져서 그걸 답변한다. 주입한 grounding은 자기 툴이 "본" 것에 밀린다. 툴을 끄는 게 유일한 해결. 트리거: ExecutorAdapter/LLM proxy/chat() 추상화, "왜 답변이 빈 디렉터리 얘기를 하지", chat 호출 타임아웃.
Idioma do texto original: coreano
에이전트 시스템에서 "질문인가 작업인가" 같은 의미(semantic) 판단을 키워드/의문사/동사 목록으로 대신하면, 문법만 읽고 의도를 놓쳐 오분류된다. 그리고 오분류의 대가가 크다 — 만들 게 없는 코딩 에이전트는 no-op 하지 않고 아무 코드나 고쳐서 ship 한다. 트리거: intent 라우팅, 질문/작업 분기, path_classification, is_question(), 빌드동사 목록, 다국어 입력.
Idioma do texto original: coreano
urllib.parse.urlparse로 URL 파싱 후 netloc 재조합 시 발생하는 두 침묵 버그 — userinfo 대소문자 소실과 cross-scheme 기본 포트 오삭제.
Idioma do texto original: coreano
BSVibe verification runs in a fresh /work clone of main for EVERY turn — files from failed prior turns are gone. Commit within the CURRENT turn or they vanish.
Idioma do texto original: inglês
When you depend on a 3rd-party GitHub-hosted data artifact (CSV/JSON/schema/config) via `try: fetch new; except: use HARDCODED_DEFAULT_URL`, the "safety fallback" masks upstream file renames. Symptom — after upstream restructures naming, the auto-discovery…
Idioma do texto original: inglês
A CLI tool (claude/gh/aws/codex…) invoked by a launchd/systemd daemon fails auth with 401 while the identical command works in your interactive shell — because the daemon's security session can't read the OS keychain and silently falls back to a stale on-disk…
Idioma do texto original: inglês
After `pnpm install` in a git worktree, vitest/jest can discover a test file from a SECOND path — pnpm hardlinks the whole project (test/ included) into `~/Library/pnpm/store/v<n>/projects/<hash>/`, and the glob picks up that out-of-root mirror where the `@/`…
Idioma do texto original: inglês