Skip to content

v0.26.0

Choose a tag to compare

@sol5288 sol5288 released this 17 Aug 10:43
· 423 commits to main since this release

소비자 리포트(delivery 묶음을 쓰지 않는 저장소에서 integrate 가 통과 불가)에서 나온 결함과 그 후속입니다.

fix — integrate 가 판정 불가의 사유를 사실대로 말합니다

묶음(delivery)을 쓰지 않는 저장소에서 "묶음 레코드를 읽지 못해 …" 로 막히고, "없는 묶음의 레코드를 커밋하라"실행 불가능한 안내를 냈습니다. 실제 사유는 범위에 들어 있던 attested 커밋이었습니다.

판정 불가에는 사유가 둘 있습니다 — 귀속 불가 커밋묶음 레코드 부재. 한 메시지로 뭉개져 있었고 그 메시지는 후자만 설명했습니다. 이제 귀속 불가로 막히면 막은 커밋의 SHA·범주·제목을 나열하고, delivery 라는 말은 실제로 묶음 레코드를 못 읽었을 때만 나옵니다.

🔴 거부 자체는 옳았습니다. attested 는 정식 리뷰 없이 사람이 예외 승인한 커밋이라 의도적으로 자율 통합 대상이 아닙니다. 바뀐 것은 판정이 아니라 해상도입니다.

참고: 같은 코드가 0.23.1 에도 있었습니다. 앞선 통합이 통과한 것은 버전 때문이 아니라 그 범위에 attested 커밋이 없었기 때문입니다.

feat — req:delegate --allow-attested

비대화형(에이전트·CI)에서 attested 커밋이 섞인 범위를 통합할 감사 가능한 경로입니다. 그전에는 대화형 y 뿐이었는데, 그 자리는 fail-closed 판정을 사람이 덮는 자리라 매번 누르면 게이트가 형식이 됩니다.

  • --allow-push·--allow-bypass·--high-risk같은 패턴 — 기본 불허 · 사람이 미리 명시 · 원장 기록 · 정확히 한 번 소비 · 만료.
  • 🔴 attested 외에는 아무것도 열리지 않습니다. unproven·invalid-evidence·분류 미상이 하나라도 섞이면 이 플래그와 무관하게 막힙니다.
  • 🔴 면제를 쓰면 그 위임이 반드시 평가됩니다 — 만료·trunk 이동·source 불일치 위임으로는 열리지 않습니다(stopGate 값과 무관).
  • 통합 보고에 실제로 실린 attested 커밋의 SHA·제목이 남습니다.
  • 옛 원장 행은 그대로 읽히고 false(불허)로 취급됩니다 — 업그레이드가 기존 위임을 손상으로 만들지 않습니다.

docs — 부기 트레일러는 도구만 붙입니다

사람이 손으로 CommitGate-Bookkeeping: true 를 붙인 커밋이 다른 파일을 바꾸면 "손상 증거"로 막히고 attest 로도 구제되지 않습니다. 게이트와 진단은 옳게 동작했지만 그 규칙이 어디에도 적혀 있지 않았습니다.


전체 내역: CHANGELOG · 업그레이드 절차