Status: draft — pending typed-artifact promotion when SPEC-078 Phase 2 storage ships. Treat as docs-mirror placeholder per SPEC-078 v0.2 §Method Fragments §Minimum acceptance requirements.
method.parallel.ownership-contract
schema_version: 1
version: 1
id: method.parallel.ownership-contract
title: "Require ownership-contract fields before parallel work begins"
status: draft
source_of_record: prism_typed_artifact
generated_mirror_paths:
- docs/method-fragments/method.parallel.ownership-contract.md
authority_layer: project
owning_specialization: engineering
owner_identity: Donna
applies_to_specializations:
- engineering
- architecture
- governance
- install
- rte
- dashboard
- docs
applies_to_surfaces:
- claude_code
- codex
- claude_desktop
- cursor
use_when:
- "Two or more agents are being routed to work concurrently on a Plan #10 (or any multi-wave plan) blocker."
- "A TaskAssigned signal includes more than one to_identity."
- "A SPEC/ADR review is being routed to multiple lanes simultaneously."
- "A new lane is being added to an in-flight workstream."
skip_when:
- "Work is strictly serial with explicit handoff (one agent finishes and signals next)."
- "Multiple agents are read-only (e.g. reviewing the same artifact in parallel without writes)."
- "Operator (Donna PO or Frank) explicitly directs concurrent edits and accepts collision risk."
risk_tier_default: R2
risk_tier_override_allowed: true
required_context:
- rule
- decision
- task_state
expected_outputs:
- "TaskAssigned signal payload listing for each parallel lane: identity, surface, specialization, assignment, risk tier, owned files/modules/artifacts, expected output, decision authority, review gates, test/verification expectation, handoff target, status recipient."
- "Conflict-edit map: which artifacts each agent owns vs reviews vs reads."
- "Sequencing tag: 'serial', 'parallel-independent', or 'parallel-coupled' with coupling explanation."
required_prism_verbs:
- prism_signal
- prism_plan
- prism_checkpoint
review_gates:
- governance
review_required: true
memory_writes:
- task_state
- consensus_artifact
conflict_policy: "Architecture conflicts → Texi; methodology/process conflicts → Candi; engineering/scope conflicts → Donna; product/project-goal ties → Donna under Plan #10. Two agents must NOT independently edit the same file unless one is reviewer and one is implementer."
telemetry_key: method.parallel.ownership-contract
supersedes: []
superseded_by: []
source_refs:
- SPEC-078 v0.2 §Ownership Contract
- SPEC-078 v0.2 §Standing Agents
- "Plan #10 v0.4 §6 ownership map"
- "feedback memory: feedback_engineering_authority.md"
- "feedback memory: feedback_task_authorizer_is_assigner.md"
- "feedback memory: feedback_signal_scribe_on_ratification.md"
Rationale
Multi-agent parallelism scales execution but multiplies coordination cost. The most common silent failures are: two agents editing the same file (last-write-wins races), unclear “who decides” when their outputs conflict, and missing handoff targets so work goes uncollected.
This fragment makes the ownership contract explicit BEFORE work starts, so:
- conflict-edit potential is visible up front,
- decision authority is named (architectural / methodology / engineering / project-goal),
- review gates are scheduled, not improvised after the fact,
- handoff targets are pre-declared so completed work doesn’t dangle.
The 12 ownership-contract fields from SPEC-078 v0.2 §Ownership Contract are the minimum payload of any TaskAssigned signal that routes work to a lane peer. The fragment fires the moment a lane peer (or Donna PO) is about to fan out work; it skips when work is serial or read-only.
Phase enforcement
- Phase 0/1: authority by social contract + Plan #10 v0.4 rule 7 (“drive forward without rest stops”) tempered by rule 1 (“Donna is PO; Frank is escalation-only”). Donna PO holds the contract by manual review of TaskAssigned signals.
- Phase 2: advisory warning when a TaskAssigned to multiple identities (or multiple TaskAssigneds within a tight time window) lacks the 12-field ownership-contract payload.
- Phase 3: enforcement gate — backend rejects TaskAssigned signals lacking required payload fields when
PRISM_CONSENSUS_PARALLELISM_ENABLED=true and to_identity count >1 OR concurrent-task-detection fires.
Co-ownership note
This fragment is co-owned Donna (engineering execution authority) + Candi (governance/methodology authority). Donna authors the structural fields and risk-tier-default; Candi authors the methodology framing (when to use, when to skip, conflict-routing semantics). Amendments require both lanes’ acknowledgment OR explicit Donna PO override per Plan #10 v0.4 §1.
Cross-references
- SPEC-078 v0.2 (DB row
a9e87f35) — §Ownership Contract + §Conflict routing + §Standing Agents
- SPEC-079 v0.2 —
task_state + consensus_artifact domains record the ownership-contract closures
- ADR #48 v0.2 —
identity, specialization, assignment fields are the routing primitives the contract uses
- Plan #10 v0.4 — §6 ownership map is the live instance of this fragment’s contract for the active program