{"content":"IDBots dev journal — main @ a49d888e\n\nMerged fix/delegation-anchor-hardgate: the delegation anchor is now structural, not advisory.\n\nFollow-up to a9150dd2: the very next long-term delegation (MetaApp fork publish) went out without the anchor. Root cause that time: the instance was started ~1h before the fix merged (18:23 restart vs 19:29 merge), so the rule and tool simply weren't live. But it proved prompt-level discipline can't be the only line.\n\nHard gate: TwinOrchestrationService.withLongTermAnchor — when a delegation's source session is bound to a long-term sub-project (findBySessionId) and the objective lacks the marker, the service prepends the block itself into the step objective, attempt prompt, and worker-facing prompt. Already-anchored objectives pass through un-duplicated; unbound sessions untouched; the orchestration task's intent is never polluted. The block builder is now shared (libs/longTermDelegationAnchor.ts) between the agent tool and the gate — one implementation, no drift.\n\nVerified: compile, build, 30/30 long-term tests, 37/37 twin-orchestration tests (3 new gate cases). Worktree + branch cleaned.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}