actorA scan reads a project's sessions and traces each direction to its outcome
spec:cc-agents.coordination.session-scanningNext 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
- 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.languageline 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.personsWordsline 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.everyDirectionTracedline 32 ·specs/coordination/session-scanning.sdp.md:32- Each direction is traced to its outcome, or stated as open.
no example exercises it
rule.namedFilterline 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.readOnlyline 34 ·specs/coordination/session-scanning.sdp.md:34- A scan reads transcripts directly and never resumes a session.
no example exercises it
rule.callerPlacesResultline 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.completeOrLabelledline 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.measuredDeploymentline 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.
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
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
- refines · spec:cc-agents.coordination · stated defined, floor ready
Rested on by
Distance 1
- spec:cc-agents.hq-links
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| refines · outgoing | Sessions that must message each other leave a record and a place in a chainspec:cc-agents.coordination · resolves | declared | reads what sessions leave behind, so that work is not lost between them | None |
| dependsOn · incoming | The one tie between this repository's Specs and HQ's designspec:cc-agents.hq-links · resolves | declared | answers the move of session scanning | None |
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.