Grant는 여전히 유효했다. Source는 바뀌었다. *CLAIM-24 pre-registration — Self-Correcting Systems series*
Source: Dev.to
개요
CLAIM‑24 사전 등록 — Self‑Correcting Systems 시리즈
TTL(시간 제한) 부여는 만료 날짜가 있습니다: 시간이 다 되면 게이트가 차단됩니다.
하지만 부여를 정당화한 원본 조건이 변경되면(예: 역할이 재배정되거나, 범위가 축소되거나, 수신자가 교체되는 경우) 시계가 만료되기 전에 부여가 무효가 될 수 있습니다. 타임스탬프만으로는 이를 포착할 수 없으므로, 게이트가 오래된 권한으로 행동을 허용할 수 있습니다.
게이트 로직
실행 시점에 게이트는 권한을 부여한 소스의 현재 상태를 가져옵니다—에이전트가 쓸 수 없는 위치에서 가져옵니다. 발급 시점에 기록된 스냅샷과 현재 소스 상태를 비교합니다.
- 일치하면 → ALLOW
- 차이가 있으면 → REFUSED_STALE
agent-writable=false 제약은 필수입니다: 소스는 에이전트의 쓰기 권한 영역 밖에 있어야 하며, 실행 순간에 가져와야 합니다.
예시 페이로드
// At grant issue time
{
"grant_id": "g-4421",
"recipient": "agent:worker-3",
"scope": "read:credentials:dev",
"ttl_hours": 72,
"source_snapshot": {
"role": "dev-reader",
"scope_ceiling": "read:credentials:dev"
}
}
// At execution time — source now reads
{
"role": "restricted",
"scope_ceiling": "read:logs:dev"
}
// Gate result
{
"decision": "REFUSED_STALE",
"condition_delta": {
"before": { "role": "dev-reader", "scope_ceiling": "read:credentials:dev" },
"after": { "role": "restricted", "scope_ceiling": "read:logs:dev" }
}
}
이 예시에서, 권한의 남은 시간은 아직 47시간이지만, 소스는 이틀 전에 변경되었습니다.
평가 기준
| 상황 | 예상 게이트 결정 |
|---|---|
| TTL 유효 + 조건 변경 없음 | ALLOW |
| TTL 만료 | BLOCK |
| TTL 유효 + 조건 변경됨 | REFUSED_STALE |
| 소스에 접근 불가 | REFUSED_UNREACHABLE |
| 권한 없음 | BLOCK |
| 수신자 변경 | REFUSED_STALE |
| 범위 축소 | REFUSED_STALE |
시나리오 3 (TTL 유효 + 소스 변경)은 핵심 주장이다: 게이트가 ALLOW를 반환하면 아키텍처가 실패한다. 이는 실제 스테일니스 게이트가 아니라 추가 단계가 있는 만료 게이트가 되기 때문이다.
제약 조건
- 별도의 결과 셀 –
refused_stale와refused_unreachable는 구분되어야 합니다. 이를 합치면 오탐이 발생합니다. - 원시 조건 델타 –
condition_delta는 파생 라벨이 아니라 정확한 전후 값을 저장해야 합니다. 증거는 해당 게이트와 독립적으로 감사 가능해야 합니다.
두 제약 조건은 외부 아키텍처 검토 후, 어떤 시나리오도 실행되기 전에 추가되었습니다.
외부 소스 후보
Ken W. Alger의 Local Brain 아키텍처는 이번 테스트에서 고려되는 첫 번째 외부 소스입니다. 게시물과 코드가 출처 레이어를 증명, 소유권 및 agent-writable=false 경계와 함께 노출한다면 CLAIM‑24를 실행할 수 있습니다. 그렇지 않으면 다른 적절한 소스를 기다릴 것입니다.
청구 결과
시나리오 3이 REFUSED_STALE를 반환하고 일곱 개의 시나리오 모두가 기대한 결과를 반환한다면, 이는 재‑파생 게이트가 외부 소스 하나에 대해 일곱 개 시나리오 패킷의 TTL‑유효 + 소스‑변경 경우를 정확히 식별함을 보여줍니다.
제한 사항: 대규모에서는 적용되지 않으며, 다양한 소스 유형에 걸쳐 있지 않고, 적대적인 권한 변조에 대해서도 적용되지 않습니다. Ken W. Alger의 접근 방식이 동일한 문제를 더 간단히 해결한다면, 이 게이트가 유일한 해결책은 아니며, 우리는 이를 인정할 것입니다.
다이버전스 셀은 테스트입니다. 이 셀이 ALLOW를 반환하면, 우리는 실패를 공개합니다.
에이전트가 쓸 수 없는 출처 경계가 있는 메모리 스토어가 있다면, 지금 바로 이 패킷을 실행할 수 있습니다. 시나리오 3의 결과—전체 청구가 달려 있는 셀—를 회신해 주세요.
이 시리즈의 이전 항목: CLAIM‑23 (툴‑콜 권한 게이트, 7/7, 오류 확신 0건). CLAIM‑15B (거버넌스‑조정 스코어러가 보류된 패킷에서 실패 — BM25가 더 우수). 전체 청구 원장: