Spec Studio

Coordination switches on alone, and a project takes it up with one setting and its own boundaries

spec:cc-agents.coordination.adoptionUse Case / Behavior · featuredefined floor ready

Next rung ready: nothing blocks; it waits only for the author's statement.

Packs: pack:cc-agents-coordination

Design: 4 design entries · 3 pinned declarations · no decisions

Findings: no errors, no warnings

specs/coordination/adoption.sdp.md

No open questions and no blocking questions; implementation binding none, verifier binding none, and expected-outcome oracle none.

Installing must not start anything a person has not asked for. Coordination is its own plugin, in the same marketplace as the job runner, and it runs wholly in its mod with no sidecar and no adapter. Enabling the plugin is the switch, so it can be on while the job runner stays off, and the job runner's code does not change.

Intent
actor
The person or the tool that deploys the plugin, and a project whose sessions will coordinate.
problem
Coordination is wanted before the job runner has earned trust, and a session whose host setting holds or refuses inbound messages gives its sender no sign of it.
outcome
A person switches coordination on without the job runner, learns at once which of its sessions hold or refuse inbound messages, and a project adds only what is its own.
value
The first part of coordination can be deployed everywhere without moving any job off the runner it trusts today.
Behavior
rule.twoPlugins line 24 · specs/coordination/adoption.sdp.md:24
Coordination and the job runner are two plugins of one marketplace, each enabled on its own, and enabling a plugin is the only switch.

no example exercises it

rule.runnerStaysOff line 25 · specs/coordination/adoption.sdp.md:25
With only the coordination plugin enabled, nothing of the job runner loads: no agent type, no agent definition and no sidecar.

no example exercises it

rule.coordinationOffIsInert line 26 · specs/coordination/adoption.sdp.md:26
With the coordination plugin disabled, nothing of it runs: no record, no command, no tool, and nothing drawn.

no example exercises it

rule.modOnly line 27 · specs/coordination/adoption.sdp.md:27
Coordination runs wholly in the mod and starts no process of its own.

no example exercises it

rule.readsInbound line 28 · specs/coordination/adoption.sdp.md:28
At session start the plugin reads the session's inbound setting, which is accept, hold, refuse or unset. It never changes the setting, which belongs to whoever deploys the session, and once the record exists it stores what it read in the session's start entry. This part needs no record.

no example exercises it

rule.saysTheState line 29 · specs/coordination/adoption.sdp.md:29
The plugin tells the person in that session at once, with one notice at start, which of the four states holds: accept needs no notice; hold means messages wait until released; refuse means they are refused; unset means the host's default applies and delivery depends on the permission modes of the two sessions. It says a message is dropped only where the host's behaviour establishes that.

no example exercises it

rule.stateIsDated line 30 · specs/coordination/adoption.sdp.md:30
The setting can change while the session runs, so wherever the plugin shows the state it says it is the value read at start, or reads the setting again when it draws.

no example exercises it

rule.projectAddsBoundaries line 31 · specs/coordination/adoption.sdp.md:31
A project takes coordination up by having the coordination plugin enabled, inbound messages accepted, and its own agent instructions naming which of its work justifies a lead. It keeps no copy of the record format, the chain or the guidance.

no example exercises it

rule.userScope line 32 · specs/coordination/adoption.sdp.md:32
Enabling the plugin and the record's folder are settings of the person, and a project cannot change them.

no example exercises it

0 unkeyed rules.

Design
plugin line 36 · specs/coordination/adoption.sdp.md:36
coordination, a second plugin of the cc-agents marketplace, installed and enabled as coordination@cc-agents.

no citation recorded

recordDir line 37 · specs/coordination/adoption.sdp.md:37
recordDir, a plugin setting naming the record's folder. Its default is one folder for each operating-system user, shared by every profile of that user, because a chain can cross profiles.

no citation recorded

recordText line 38 · specs/coordination/adoption.sdp.md:38
recordText, a plugin setting with the values full and metadata, which the record specification gives meaning to.

no citation recorded

inboundSetting line 39 · specs/coordination/adoption.sdp.md:39
the host's crossSessionInbound, read through the mod's settings access and never written.
Verification · manual
criteria
  • Enable only the coordination plugin, then list the agent types and the running processes. No foreign agent type is registered and no sidecar runs.
  • Enable only the job runner plugin and start a session. No record folder is created and no coordination command is listed.
  • Start a session once with each of the four inbound states: accept, hold, refuse and unset. The notice at start names the state as the host defines it, says nothing for accept, and never says messages are dropped for hold or unset. Change the setting during the session and confirm the plugin either shows the new value or labels the old one as read at start. Where the record exists, its start entry holds the value that was read.
  • With only the coordination plugin enabled, spawn each agent type once through the Agent tool and once as a Workflow role, and run a Relay job in the same Workflow. No foreign lane starts, no shipped agent definition is offered, and the Relay job runs.
mode
manual
Verification

Verifier bindings

No verifier binding recorded.

Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
  • Satisfying or referencing units: no recorded binding.
  • Test or oracle bindings: no recorded binding.
Requirement drawing for spec:cc-agents.coordination.adoption

Arrows: refines (declared).

The diagram as text
  • spec:cc-agents.coordination.adoption: Coordination switches on alone, and a project takes it up with one setting and its own boundaries · declared Spec · no satisfying binding
  • spec:cc-agents.coordination: Sessions that must message each other leave a record and a place in a chain · declared Spec
  • spec:cc-agents.coordination.adoption refines spec:cc-agents.coordination · declared — how coordination is switched on alone and taken up by a project
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

No decision record named.

Runtime

No implementation neighborhood recorded.

Runtime observation: not tracked.

Evidence

Runtime observation: not tracked.

Build attestations: not tracked.

Deployments: not tracked.

Bills of materials: not tracked.

Impact
Relations of spec:cc-agents.coordination.adoption
The diagram as text
  • spec:cc-agents.coordination: Sessions that must message each other leave a record and a place in a chain
  • spec:cc-agents.coordination.adoption: Coordination switches on alone, and a project takes it up with one setting and its own boundaries
  • spec:cc-agents.coordination.record: Messages between sessions this session saw are kept whole, with what is known of who sent them and what came of them
  • spec:cc-agents.hq-links: The one tie between this repository's Specs and HQ's design
  • spec:cc-agents.coordination.adoption refines spec:cc-agents.coordination · declared — how coordination is switched on alone and taken up by a project
  • spec:cc-agents.coordination.record dependsOn spec:cc-agents.coordination.adoption · declared — the record is written only with coordination on, and it stores the inbound setting that part reads
  • spec:cc-agents.hq-links dependsOn spec:cc-agents.coordination.adoption · declared — answers the switch and the job runner's staying off
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.

Rests on

Rested on by

Distance 1

Distance 2

Relations

Relation and directionOther endClaimReasonExercised keys
refines · outgoingSessions that must message each other leave a record and a place in a chain
spec:cc-agents.coordination · resolves
declaredhow coordination is switched on alone and taken up by a projectNone
dependsOn · incomingMessages between sessions this session saw are kept whole, with what is known of who sent them and what came of them
spec:cc-agents.coordination.record · resolves
declaredthe record is written only with coordination on, and it stores the inbound setting that part readsNone
dependsOn · incomingThe one tie between this repository's Specs and HQ's design
spec:cc-agents.hq-links · resolves
declaredanswers the switch and the job runner's staying offNone

Bindings

Implementation binding: none

Design reference: none

Verifier binding: none

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.