Skip to content

Engine enforcement of WorkerWriteScope (multitask writes) #32

Description

@chouswei

Summary

WorkerWriteScope is enforceable in Multitask doctrine (parent TSK_* / assigned scope; workers mutate only under delegated scope) but the engine still allows last-write-wins on a shared session_id. Implement server-side enforcement so out-of-scope mutates are rejected, not merely discouraged in docs.

Doctrine (shipped 0.4.x)

  • docs/multi-agent-sessions.md — worker rules; table marks WorkerWriteScope as to-be
  • docs/LLM-GUIDE.md — 0.4.x agent playbook (pin_map first)
  • Commit d4b8534 — Multitask doctrine doc trail

Traceability

  • MN-REQ-12.4 / 12.5 — multitask write expectations (sysml-models/models/requirements.sysml)
  • MN-REQ-12.7 — do not assume ACL/reserve/ingest; WorkerWriteScope listed separately in backlog table
  • MN-VER-12-S09 — verification for engine-assumed multitask features
  • CHANGELOG.md Unreleased — deferred engine enforcement

Acceptance criteria (draft)

  • Mutate path checks writer identity (e.g. llm_id / role) against declared scope for the turn or task assignment
  • Reject or no-op mutates touching nodes/edges outside WorkerWriteScope with structured error (MCP + CLI)
  • Behaviour covered by tests; verify S09 updated when enforced
  • Document interaction with future ACL (TCP memnet serve: no session token or ACL (post-0.3.6 hardening) #28) and reserve (neighbourhood lease issue) — scope gates stack: ACL → reserve → write scope

Note

Until this ships, Multitask Mode remains coordination via doctrine + shared session discipline, not cryptographic or engine-strong isolation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions