{
  "schema": "BACKLOG_ITEM.v1",
  "id": "sealed-key-raw-serialization-ban-and-redaction",
  "created_at": "2026-06-01",
  "renamed_from": "sealed-key-stray-artifact-cleanup (회장 재정의: 단순 cleanup 아님)",
  "severity": "security-operational hygiene (net-new exposure 아님 — 기존 corpus)",
  "title": "raw key serialization 금지 + 기존 stray artifact redaction/quarantine (별도 task)",
  "scope_separation": "★ task-2721 PR #167 과 완전 분리. PR 에 미포함(diff 6파일·stray untracked 미포함 확인). 섞지 말 것.",
  "core_problem": "finish-task/handoff/callback launcher 가 owner_key/collector_key 등 필드에 ANU key raw literal 을 disk 에 기록. owner_key_class 라벨 대신 raw 저장 = sealed-key hygiene 위반.",
  "read_only_inventory_260601": {
    "source": "memory/events read-only (삭제/수정 0)",
    "saved": "memory/events/sealed_key_inventory_260601.json",
    "total_files_with_key_literal": 395,
    "by_field": {
      "owner_key": 97,
      "collector_key": 84,
      "executor_key": 0,
      "prompt_argv_log": 17,
      "기타_other": 339,
      "json_parse_fail": 6
    },
    "named_stray": "worktree task-2721-dev1/memory/events/tmpz70je4tu.failure-handoff-marker.json (untracked, 592B, owner_key+collector_key 2 literal, PR 미포함)"
  },
  "chair_principles_260601": [
    "1. 지금은 임의 삭제/수정 금지.",
    "2. read-only inventory 만 수행(완료).",
    "3. memory/events key literal 파일 필드별 분류: owner_key / collector_key / executor_key / prompt·argv·log raw / 기타 (완료).",
    "4. 증거 원장 보존 필요성 — 무작정 삭제 금지.",
    "5. 후속 task 설계: raw key 값 앞으로 절대 disk 기록 금지. key class 만 기록 (owner_key_class=ANU_SEALED / collector_key_class=ANU_SEALED / key_literal_present=false).",
    "6. 기존 파일은 redaction 또는 quarantine 전략 — 별도 회장 승인 후 처리.",
    "7. task-2721 PR #167 수렴과 sealed-key cleanup 섞지 말 것."
  ],
  "proposed_followup_task": {
    "part_a_prevention": "writer 측(finish-task/handoff/callback launcher) raw key serialization 차단 — owner_key/collector_key 필드를 *_class=ANU_SEALED + key_literal_present=false 로 치환. 신규 disk 기록 0.",
    "part_b_remediation": "기존 395 파일 redaction(literal→class 치환, 원장 보존) 또는 quarantine. 회장 승인 후.",
    "test": "신규 핸드오프/콜백 산출물에 raw key literal 0 회귀 테스트."
  },
  "status": "DEFERRED — inventory 완료. prevention/remediation 코드화는 별도 task md + 회장 승인 대기."
}
