Files
CASAN/AINative_OKR_CASAN5/.specify/logs/level5/tool-registry.jsonl
T
thanhnvandClaude Sonnet 4.6 a8edbea534 fix T1+T4: wire rollback into pipeline; real Ollama telemetry in metrics
T1 (H7): casan-step.mjs now calls rollback-manager.sh checkpoint before
overwriting plan.md at attempt-2, writes tx-id to plan.checkpoint.txid
sidecar, and executes rollback on REJECTED verdict. rollback-transactions.jsonl
records a real cp restore command. Adversarial test: checkpoint exists,
real cp command recorded, plan hash matches pre-overwrite content.

T4 (H6): casan-harness.sh exports CASAN_STEP_NAME=$ACTION_NAME before
agent-metrics.sh so nested model calls (model-call.py) and the provider-
cost-lookup.py query share the same step label. metrics.jsonl now writes
cost_source=provider_telemetry instead of word_count_estimate when a real
Ollama call is made within the same step. Adversarial test: verified with
CASAN_STEP_NAME=t4-telemetry-test end-to-end.

adversarial-harness-tests.sh: 40 → 44 PASS / 0 FAIL (+3 T1, +1 T4)
security-gate.sh: PASS=10 FAIL=0 SKIP=0 (verified, local ornith:9b)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 11:25:50 +09:00

12 lines
4.1 KiB
JSON

{"timestamp": "2026-07-01T02:23:41Z", "trace_id": "78b8f3e2-9c34-40c9-815f-cc6d667b8962", "harness": "L5-tool-registry", "tool_id": "deploy", "agent": "release-manager", "run_id": "adhoc-66281", "owner": "release-manager", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": false, "decision": "denied", "reason": "missing_idempotency_key"}
{"timestamp": "2026-07-01T02:23:41Z", "trace_id": "cb9c879f-3b54-4308-b7a9-6e9e17df393f", "harness": "L5-tool-registry", "tool_id": "deploy", "agent": "release-manager", "run_id": "adhoc-66302", "owner": "release-manager", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": true, "decision": "approved", "reason": "registered"}
{"timestamp": "2026-07-01T02:23:41Z", "trace_id": "62b6e28f-4f45-4520-a869-083943c4c21f", "harness": "L5-tool-registry", "tool_id": "deploy", "agent": "design-agent", "run_id": "adhoc-66338", "owner": "release-manager", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": true, "decision": "denied", "reason": "unauthorized_agent"}
{"timestamp": "2026-07-01T02:23:47Z", "trace_id": "93e105ef-6af4-4170-874a-5bffb0f86e85", "harness": "L5-tool-registry", "tool_id": "deploy", "agent": "design-agent", "run_id": "adhoc-68619", "owner": "release-manager", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": true, "decision": "denied", "reason": "unauthorized_agent"}
{"timestamp": "2026-07-01T02:23:47Z", "trace_id": "b2be71d6-8032-473d-95c0-f2ef944d6212", "harness": "L5-tool-registry", "tool_id": "deploy", "agent": "", "run_id": "adhoc-68684", "owner": "release-manager", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": true, "decision": "denied", "reason": "missing_agent_identity"}
{"timestamp": "2026-07-01T02:23:47Z", "trace_id": "16a35597-ccd8-49bd-8e48-c47ef68d2d3a", "harness": "L5-tool-registry", "tool_id": "deploy", "agent": "release-manager", "run_id": "adhoc-68714", "owner": "release-manager", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": true, "decision": "approved", "reason": "registered"}
{"timestamp": "2026-07-01T02:23:48Z", "trace_id": "850822a9-d189-4d4b-ab70-3db194568797", "harness": "L5-tool-registry", "tool_id": "write_code", "agent": "design-agent", "run_id": "adhoc-69129", "owner": "engineering", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": true, "decision": "denied", "reason": "unauthorized_agent"}
{"timestamp": "2026-07-01T02:23:49Z", "trace_id": "0461ed55-ec5f-458e-b43f-707cb246f2d5", "harness": "L5-tool-registry", "tool_id": "write_code", "agent": "implement-agent", "run_id": "adhoc-69467", "owner": "engineering", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": true, "decision": "approved", "reason": "registered"}
{"timestamp": "2026-07-01T02:23:51Z", "trace_id": "00a374d2-dab2-43cc-bdfa-71a73b8e920d", "harness": "L5-tool-registry", "tool_id": "deploy", "agent": "release-manager", "run_id": "adv-66580", "owner": "release-manager", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": true, "decision": "approved", "reason": "registered"}
{"timestamp": "2026-07-01T02:23:52Z", "trace_id": "a775ba64-e5f0-459c-9b36-5fd7d698e7f6", "harness": "L5-tool-registry", "tool_id": "deploy", "agent": "release-manager", "run_id": "adv-66580", "owner": "release-manager", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": true, "decision": "approved", "reason": "registered"}
{"timestamp": "2026-07-01T02:23:52Z", "trace_id": "5d71fa2d-ce61-42f2-8b46-f8a27874b371", "harness": "L5-tool-registry", "tool_id": "deploy", "agent": "release-manager", "run_id": "adv-66580", "owner": "release-manager", "risk_level": "high", "side_effect": true, "idempotency_required": true, "idempotency_key_present": true, "decision": "denied", "reason": "rate_limit_exceeded(limit=2)"}