# task-2622 — INVARIANTS_SNAPSHOT_SMOKE Execution Report

> CALLBACK_CONTRACT_REAL_OBSERVATION_PILOT inner workload · dev6-team 페룬 1회 한정 · read-only smoke · 0 mutation on anchors

## 1. Spec integrity

- Spec path: `memory/tasks/task-2622.md`
- Spec sha256: `2ed77fbcf0be4be5ab7aff6a4384daef77d6d819fcd6ba7fe23aad3dd6f9fbf8` (matches dispatch invariant — proceeded)

## 2. Workload outcome (read-only smoke)

5 anchor files measured, 0 mutation:

| # | Path | sha256 (head) | size_bytes | mtime (UTC) |
|---|------|---------------|------------|-------------|
| 1 | memory/tasks/task-2620.md | f90285ec...49347f7 | 10907 | 2026-05-20T03:48:51Z |
| 2 | memory/tasks/task-2621.md | 17673fa8...8a30efb202 | 11042 | 2026-05-20T09:58:56Z |
| 3 | anu_v3/dispatch_callback_contract.py | 4cd9ad4d...f21e5b74 | 23778 | 2026-05-20T04:01:25Z |
| 4 | dispatch/__init__.py | 513173a7...3cc3817b00e44 | 205239 | 2026-05-20T10:16:05Z |
| 5 | memory/events/callback_4tuple_index.jsonl | 18ba7830...866c343d | 41085 | 2026-05-20T11:32:54Z |

Full hashes in `memory/events/task-2622.invariants-snapshot.json` (schema `task-2622.invariants-snapshot.v1`).

Snapshot sha256: `a93057e5a9a82887e701155edf6f948497f3e2c5e05dc34195cbabfd20a474a6`

## 3. Git / branch / ledger invariants

- git HEAD before: `20456b5f83fc039f2fd6f50f4b94095c29b41bfb`
- git HEAD after:  `20456b5f83fc039f2fd6f50f4b94095c29b41bfb`
- git EQUAL: true
- branch: `task/task-2553p1-f1-clean-replacement` (unchanged)
- commits made: 0 (ANU Layer-A no-git)
- ledger lines: 49 (`memory/events/callback_4tuple_index.jsonl`), prefix byte-0 = `{`

## 4. Callback contract observation (★ pilot core)

### 4.1 Normal completion callback
- owner_key: `c119085addb0f8b7` (independent ANU) — self-key `1e41a2324a3ccdd0` blocked
- cron_id: `3BE7F2DA`
- schedule: `2026-05-21 03:57:32` (absolute, ~5 min from dispatch)
- callback_prompt_utf8_bytes: **1134** (measured via `printf '%s' "$P" | wc -c`)
- callback_prompt_chars: 1026
- envelope_only_compliance: **true** (task_id, result_path, decision_path, report_path, snapshot_path, snapshot_sha256, collector_role=ANU, owner_key, one-line summary)
- byte-limit guard: PASS (≤2800-3200 recommended band cleared; ≤3500 warning OK; ≤3900 hard limit OK)
- registration_status: REGISTERED_FIRED_OK

### 4.2 Fallback safety-net (recovery-only)
- owner_key: `c119085addb0f8b7`
- cron_id: `9A5730E8` (pre-registered at dispatch time)
- schedule: `2026-05-21 04:49:37`
- fallback_prompt_utf8_bytes: **1193**
- single_purpose: `recovery_only` (no dual-purpose · no final-report responsibility · cancel-on-success semantics)
- byte-limit guard: PASS

### 4.3 Nine required fields recorded in result.json
1. callback_prompt_utf8_bytes = 1134
2. callback_prompt_chars = 1026
3. callback_cron_id = `3BE7F2DA`
4. callback_registration_status = `REGISTERED_FIRED_OK`
5. callback_role = `normal`
6. envelope_only_compliance = `true`
7. fallback_prompt_utf8_bytes = 1193
8. fallback_safety_net_registered = `true`
9. fallback_safety_net_role_single_purpose = `true` (recovery-only)

## 5. Compliance summary

- read-only smoke: anchor files byte-0, CLOSED_ALL_SETTLED byte-0, Track C byte-0, schemas/config byte-0
- §5 allowlist 정합: invariants-snapshot.json + decision.json + result.json + report.md (4 files total)
- §6 forbidden 전부 회피: no anchor edit, no extra cron beyond callback+fallback pair, no remediation, no PR/merge, no Track C touch, no zombie cron cleanup, no CLOSED_ALL_SETTLED tampering, no self-callback/self-collector/self-adjudication/self-dispatch, no premature writeback, no documentation-only completion
- HOLD_FOR_CHAIR: false (no Critical7 / shared invariant breach / credential / permission expansion / forbidden path / scope expansion / self-key use / PR-merge-credential write detected)

## 6. Hand-off to independent ANU

- status: `DONE_PENDING_INDEPENDENT_ANU_REAUDIT`
- Authoritative judge: independent ANU (key `c119085addb0f8b7`) — collector + Codex re-audit + adjudication
- Executor BLOCKED from: self-callback, self-collector, self-adjudication, self-dispatch, premature write-back
- Durable-success writeback gate: Codex HIGH/CRITICAL 0/0 AND ANU PASS
- Residual non-Critical HIGH (if any) → auto-converge to task-2622+1 without chair report (loop-boundary 정합)

## 7. Artifact paths

- `memory/events/task-2622.invariants-snapshot.json`
- `memory/events/task-2622.decision.json`
- `memory/events/task-2622.result.json`
- `memory/reports/task-2622.md`

End of report — control transfers to independent ANU.
