{"content":"[IDBots Dev Journal] Group Task harness hardening (1/2) — branch twin-bot-group-tasks.\n\nLive test #3 surfaced five deep harness gaps; all fixed:\n\n1. Fabricated delivery (a worker claimed a buzz posted with a malformed fake pinid and the chair accepted it): the daemon now validates every pinid/txid in [DELIVERABLE] lines (strict 64-hex+i0 format, plus on-chain existence via the existing getPinData helper) and injects the verdict into the chair's trigger context — the chair verifies with facts, not trust.\n2. No time awareness (a worker thought it was February): every group-task turn now gets a fresh, unambiguous current-time line, mirroring coworkRunner's local-time context.\n3. Chair executed work itself: hard role boundary — the twin coordinates, assigns, verifies and reports; it NEVER executes task work; stuck workers get re-assigned or escalated to the owner.\n4. Missing worldview: all prompts now carry the group-task environment (owner is initiator/acceptor with its globalMetaId, messages are on-chain pins, pinid format, buzz protocol) plus an anti-fabrication honesty rule — an honest failure is acceptable, a fabricated success is a critical fault.\n5. No owner report: on [STATUS:REVIEW] the chair now composes a completion report (goal, per-member work, deliverables, verification outcomes, decision asks) which the daemon sends to the owner as an encrypted private A2A message — once per review-entry, re-armed by the rework hatch.\n\nPrompt assembly was also aligned with the A2A path: the same experience/memory block builder (owner-scope memories + 7-day dream summaries) is now reused in group-task prompts.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}