Spec Studio

A scan reads a project's sessions and traces each direction to its outcome

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

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

Packs: pack:cc-agents-coordination

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

Findings: no errors, no warnings

specs/coordination/session-scanning.sdp.md

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

Sessions end and their context goes with them. A person who gave a direction in one session cannot tell, days later, whether any session acted on it, and a summary written by a session is the session's account, not the record. A scan reads the transcripts themselves.

Intent
actor
A person, or a session working for one, who needs to know what was asked across a project's sessions and what became of it.
problem
Directions are lost between sessions, and a transcript mixes the person's words with launcher prompts, peers' messages, tool output and summaries, so reading one naively attributes other sessions' words to the person.
outcome
Every message of the person in the sessions scanned is found verbatim, told apart from what only looks like it, and traced to what was done with it.
value
Nobody has to ask the person again, and failures that lost context are named with their cause.
assumptions
  • The transcripts of Claude Code and Codex stay readable on disk in their current forms.

Open questions

  • non-blocking · question.language line 25 · specs/coordination/session-scanning.sdp.md:25 · Should the scan's scripts stay in Python or move to the plugin's Node?Decider: delegatedProvisional: They stay in Python, on the standard library alone, because their tests exist and a port should change as little as it can. The plugin's own runtime stays Node.
Behavior
rule.personsWords line 31 · specs/coordination/session-scanning.sdp.md:31
A scan takes the person's words from the transcripts, and marks each as the person's, a launcher's, a peer's or a notice.

no example exercises it

rule.everyDirectionTraced line 32 · specs/coordination/session-scanning.sdp.md:32
Each direction is traced to its outcome, or stated as open.

no example exercises it

rule.namedFilter line 33 · specs/coordination/session-scanning.sdp.md:33
A scan's prompt names the context it filters out, so that it reads pure context from the repositories and not orchestration noise that sessions repeat.

no example exercises it

rule.readOnly line 34 · specs/coordination/session-scanning.sdp.md:34
A scan reads transcripts directly and never resumes a session.

no example exercises it

rule.callerPlacesResult line 35 · specs/coordination/session-scanning.sdp.md:35
A scan writes plain files in a folder its caller names, and holds no assumption about where a project keeps its records.

no example exercises it

rule.completeOrLabelled line 36 · specs/coordination/session-scanning.sdp.md:36
A scan accounts for the sources it selected and the entries it extracted, keeps unresolved attribution and exclusions visible, and labels its result incomplete until its checks pass.

no example exercises it

rule.measuredDeployment line 37 · specs/coordination/session-scanning.sdp.md:37
A new version of the tooling is measured on a frozen sample against the last one before it is used, naming both revisions and the sample's hashes, and it is used only with no loss or a loss a person explicitly accepted.

no example exercises it

0 unkeyed rules.

Verification · manual
criteria
  • Run the scan's existing tests after the port. They all pass, and no test was removed.
  • With the source of the port unavailable, run extraction and the record's checks from the delivered plugin. Both complete, and every path resolves inside the plugin.
  • Leave one attribution unresolved. The final check refuses the result, and the scan stays labelled incomplete.
  • Scan a sample holding a launcher's prompt, a peer's message and a compaction summary. None of them is attributed to the person.
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.session-scanning

Arrows: refines (declared).

The diagram as text
  • spec:cc-agents.coordination.session-scanning: A scan reads a project's sessions and traces each direction to its outcome · 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.session-scanning refines spec:cc-agents.coordination · declared — reads what sessions leave behind, so that work is not lost between them
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.session-scanning
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.session-scanning: A scan reads a project's sessions and traces each direction to its outcome
  • spec:cc-agents.hq-links: The one tie between this repository's Specs and HQ's design
  • spec:cc-agents.coordination.session-scanning refines spec:cc-agents.coordination · declared — reads what sessions leave behind, so that work is not lost between them
  • spec:cc-agents.hq-links dependsOn spec:cc-agents.coordination.session-scanning · declared — answers the move of session scanning
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

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
declaredreads what sessions leave behind, so that work is not lost between themNone
dependsOn · incomingThe one tie between this repository's Specs and HQ's design
spec:cc-agents.hq-links · resolves
declaredanswers the move of session scanningNone

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.