What to build
Compose whole responsibilities from workflows, triggers, authority, and exception policy. Last ticket in the roadmap: only after Effect Truth settlement (T3) and protocol conformance (T19 WhatsApp) are stable.
Acceptance criteria
- Design responsibility composition model. 2. Implement workflow + trigger + authority binding. 3. Add exception policy application. 4. Write end-to-end tests covering composed workflows.
Blocked by
T3 (Effect Truth settlement, epic #198), T19 (WhatsApp #131); Bell fit review
Fence: Do not start before the Bell fit review lands on build-on. Route through delivery vehicle in DIRECTION.md.
Original report
Why
A scoped standing rule removes one repeated approval at an effect boundary. That is necessary, but it is not the complete employee-like responsibility OpenSpine ultimately promises.
A real responsibility also answers:
- what event or owner delegation starts the job;
- which workflow and skills perform it;
- which accounts, objects, relationships, and data it covers;
- which effects may happen automatically and which still require review;
- budgets, schedule, expiry, drift, and escalation behavior;
- what result/receipt closes the loop;
- how the owner pauses, changes, hands off, or removes it.
Without an explicit composition model, future growth risks becoming a pile of independently approved routes, workflows, packs, and standing rules that the owner cannot understand or control as one job.
Goal
Define and ship the user-facing responsibility as a governed composition above existing runtime artifacts. Preserve the existing separation of mechanisms:
- routes/triggers choose the task;
- workflows provide deterministic shape and approval states;
- skills provide how-to knowledge;
- capability packs/policies bound authority;
- reviewed standing rules smooth specific repeated effects;
- task grants remain the sole live authority object.
The responsibility layer must reference/compose these pieces; it must not duplicate their enforcement inside a new model-controlled object.
Architecture decision
After #126 and the first Gmail proof, decide whether the durable form is:
- a new versioned
ResponsibilityManifest containing immutable digest-bound references to the component artifacts; or
- an atomic reviewed bundle/plan that activates a compatible set of existing artifacts and stores one owner-facing responsibility record over them.
Whichever form is chosen must support atomic review/activation/rollback. The owner must never approve a responsibility whose route/workflow/authority pieces can drift independently before activation.
Required fields/semantics
- owner-facing name and purpose;
- trigger/event/task-shape selector;
- agent/workflow/skill references;
- reviewed scope and action descriptors;
- authority and approval boundaries;
- budgets, schedule, expiry, drift and exception policy;
- output/receipt contract;
- provenance/evidence and generation lineage;
- lifecycle state and compatibility fingerprint;
- pause/resume/revoke/amend controls;
- component digests/versions and base-epoch compatibility.
Product progression
The roadmap should distinguish:
- effect shortcut — a reviewed standing rule reduces one repeated approval in an owner-initiated workflow;
- responsibility — Lyra can recognize/accept the job, run the workflow, handle expected effects within scope, and return receipts/exceptions;
- capability growth — miner-proposed workflow/skill/responsibility changes become new reviewed versions rather than silent mutation.
The Gmail proof in #130 may complete stage 1 with an owner-facing responsibility view. This issue owns stages 2–3.
Adversarial requirements
- One component change cannot silently widen the composed responsibility.
- A workflow update that changes effects or approval states forces a new responsibility review.
- A skill update cannot change authority; its effect attempts remain contained by the same reviewed scope/grant.
- A trigger cannot route a different principal, account, channel, or counterparty into an existing responsibility.
- Partial activation/rollback cannot leave a route live without its matching authority/controls.
- Revocation removes every reusable shortcut and trigger belonging to the responsibility without deleting historical receipts.
- Export/restore and base updates preserve or explicitly re-confirm the composition.
- The owner can inspect one coherent diff: what job changed, why, and what authority changed.
End-to-end proof after Gmail
Demonstrate one responsibility that is not merely a repeated button bypass, for example:
- a reviewed inbound communication routine for one relationship/workspace;
- or a commitment/research workflow that returns at the right time and asks only at disclosure/effect boundaries.
The owner should delegate the job in ordinary language, review the composed responsibility once, then receive concise receipts and exceptions.
Done when
- OpenSpine has a documented and versioned responsibility composition model.
- Multi-artifact review/activation is atomic and digest-bound.
- The owner controls the whole job through one lifecycle surface.
- Workflow/skill/route drift cannot silently widen authority.
- One end-to-end owner path runs from trigger through workflow, scoped effects, result, and receipt without exposing internal artifact management.
Relationship
Parent: #123.
Requires the architecture contract #126 and should start after the first effect-shortcut proof #130. The protocol conformance work #131 should inform its connector/task-shape abstractions.
What to build
Compose whole responsibilities from workflows, triggers, authority, and exception policy. Last ticket in the roadmap: only after Effect Truth settlement (T3) and protocol conformance (T19 WhatsApp) are stable.
Acceptance criteria
Blocked by
T3 (Effect Truth settlement, epic #198), T19 (WhatsApp #131); Bell fit review
Fence: Do not start before the Bell fit review lands on build-on. Route through delivery vehicle in DIRECTION.md.
Original report
Why
A scoped standing rule removes one repeated approval at an effect boundary. That is necessary, but it is not the complete employee-like responsibility OpenSpine ultimately promises.
A real responsibility also answers:
Without an explicit composition model, future growth risks becoming a pile of independently approved routes, workflows, packs, and standing rules that the owner cannot understand or control as one job.
Goal
Define and ship the user-facing responsibility as a governed composition above existing runtime artifacts. Preserve the existing separation of mechanisms:
The responsibility layer must reference/compose these pieces; it must not duplicate their enforcement inside a new model-controlled object.
Architecture decision
After #126 and the first Gmail proof, decide whether the durable form is:
ResponsibilityManifestcontaining immutable digest-bound references to the component artifacts; orWhichever form is chosen must support atomic review/activation/rollback. The owner must never approve a responsibility whose route/workflow/authority pieces can drift independently before activation.
Required fields/semantics
Product progression
The roadmap should distinguish:
The Gmail proof in #130 may complete stage 1 with an owner-facing responsibility view. This issue owns stages 2–3.
Adversarial requirements
End-to-end proof after Gmail
Demonstrate one responsibility that is not merely a repeated button bypass, for example:
The owner should delegate the job in ordinary language, review the composed responsibility once, then receive concise receipts and exceptions.
Done when
Relationship
Parent: #123.
Requires the architecture contract #126 and should start after the first effect-shortcut proof #130. The protocol conformance work #131 should inform its connector/task-shape abstractions.