← Back to Articles & Artefacts
artefactssouth

AGENTS.md - miadisabelle/Etuaptmumk-RSM#270

IAIP Research
ep060-vocabulary-definition-and-application-of-the-term-threads-261006

AGENTS.md - miadisabelle/Etuaptmumk-RSM#270#

Agent Mia · Session ID: 29dc8963-4133-4861-9048-514e24f525ce · Session name: miadi-talking-circle-into-asterion-threads-coaia-narrative#

Written 2026-10-06. This session wrote the Asterion guide in jgwill/Miadi docs, with Mia's reading of the term "thread", and set it against the thread issues in miadisabelle/asterion.

What this session made#

  • /docs/asterion (overview): Asterion as one app at three addresses (asterion.jgwill.com, asterion.sanctuaireagentique.com, asterion.tushell.com), a database of copies that each name their source, three sources feeding it one way, the routes it serves, counts seen signed out.
  • /docs/asterion/coaia-narrative (the bridge): the package jgwill/Miadi consumes (coaia-narrative ^0.22.0) and Asterion reads. Covers the MCP server, coaia-narrative/writer and coaia-narrative/contract, the record kinds (imported live from the package, contract v2), the three ways a memory file reaches Asterion (the ingest door POST /api/ingest/coaia-narrative, the registry sync, by hand), and the mapping chart → tension, action step → action step, narrative beat → beat held by its chart, chart family with beats → thread of type chart-family. Also the four registered projects (coaia-agent, medicine-wheel, mino-triage private, ep060 private) and where Miadi already uses the package (lib/stc/issue-charts.ts, lib/stc/steer-charts.ts, lib/stc/chart-view.ts, app/api/stc/chart-memory/route.ts).
  • /docs/asterion/threads (Mia's reading): threads across the Miadi factory, with the two definitions held side by side, a ceremony as a room, five statements per thread type, state vocabularies, the five things called a thread, Ada's fixture circle walked turn by turn, and the per-person consent gate.
  • Proposed issues are kept as data in app/docs/asterion/_issues.ts and shown with a Proposed label and no number.
  • Commits in jgwill/Miadi: 2ace82f9, 0e8f213a, both pushed to main. Live on :3335 in prod and at https://miadi.sanctuaireagentique.com/docs/asterion.

miadisabelle/asterion#20 · a thread is an ordered line of beats (D10, D11)#

  • D10, held for Guillaume. "A thread is an ordered line of beats that a person can follow from where it opened to where it resolved. One source keeps it: a chart memory, a circle, or a seat." Short form: "a tension is what is wanted, a thread is what happened, in order."
  • D11, held for Guillaume. Keep "thread" for the narrative thread only. Call the other four by their own names: issue (or inquiry), branch notes, session, comment thread. The alternative is to keep the word shared and always qualify it.
  • Thread types with five statements each (kept by, opens when, holds, ordered by, resolves when): TT1 chart-family (live, 17 threads holding 96 charts, 3 public), TT2 ceremony (built for miadisabelle/asterion#11, none synced), TT3 seat-branch (proposed in miadisabelle/asterion#10). TT4 issue is Q3 there.
  • Findings used on the docs page: F29 (a chart-family thread's page shows no beats, filed by this session as page finding F1), F30 (a thread has no state, opened time or resolved time), F31 (chart-family beats carry projection time in created_at, the time they happened is in metadata.timestamp), F32 (the word "thread" names five things in the factory), F33 (nothing links a thread to a chronicle episode).
  • Open questions there: Q3 (is an issue and its comments a thread type), Q4 (episode link by inquiry-weave lineage reference in metadata, or by a column).
  • Comment from the stcissue seat: the notes in miadisabelle/workspace .mino/threads/ are announcements and status notes, not in-session branches. Recommendation: thread type announcement, keep seat-branch for miadisabelle/asterion#10. Its INDEX.md state words are already in use: waiting, delegated, frozen, spec'd, partially fixed.

miadisabelle/asterion#21 · a thread is a concern a reader follows (D12, D13)#

  • D12, held for Guillaume. "A thread is a concern that someone opens and a reader can follow until it resolves. It has a wanted result and a state, and one source keeps it: a chart memory, a circle, a seat, or a ledger. Its beats are what happened about it, in the order they happened, and one beat can belong to several threads." Short form: "a thread is what we follow; its beats are what happened about it, in order."
  • D13, held for Guillaume. Six states for every thread type: emerging, active, resolved, deferred, blocked, superseded (from Mia's ledger), in place of open and resolved (A37 in miadisabelle/asterion#20).
  • Origin (F34): Guillaume's correction on 2026-08-25 in miadi-chronicle://339, take 260825200731: "We open a thread on something. It's like a channel, we talk about it there, and when it's resolved we close it." Mia's model file: relationship-channel-thread-role-model.md in 2026-08-25-episode-339-relation-to-mia-on-mobile-devops/.
  • F35: Mia's ceremony thread ledger miadi.ceremony-thread-ledger.v1 holds 16 concern-threads, a fourth source of threads.
  • F36: a beat has one owning thread (narrative_beats.thread_id, migration 001), so two concerns cannot share a moment. A43 proposes a many-to-many beat_threads table.
  • F37: Guillaume on 2026-10-06 proposed following a thread as a subscription, the thread as a topic (event-driven, connects to miadisabelle/asterion#9).
  • Open questions: Q5 (is a chart family a thread, or the record a thread is kept in), Q6 (does a thread's topic carry beats or references to records kept elsewhere).

miadisabelle/asterion#22 · a ceremony is a room (D14)#

  • D14, held for Guillaume. A ceremony is a room, not a thread. Its turns belong to a discussion, and its concerns are threads.
  • Room (intention, integrates), discussion (ordered turns, open or paused, carries thread_refs), thread (concern that resolves, defers, blocks, splits or is superseded). Closing a thread never closes the room. Closing a room leaves each thread in its own state.
  • F40: the definition in miadisabelle/asterion#20 describes a discussion exactly, and the noun is the one in question.
  • F41: no ceremony has been synced into Asterion, so circle-projection.mjs can change its output shape before the first consented sync at no cost.
  • Open question Q7: is the discussion its own table (narrative_discussions) or a thread type for the ordered line.
  • Built and live on gaia: migration 001 (a beat can be held by a thread), circle-projection.mjs, circle-sync.mjs (plan, register, sync, list), private-circle visibility, /threads/<id> showing turns in order.
  • Mapping as built: circle → project, talking circle → thread of type ceremony, closing record → the thread's closed_at, turn → beat of type turn held by the thread.
  • Consent per person, read from the wheel, never written by Asterion or by an agent: grantor the person, grantee asterion, data type the circle id, purpose asterion-projection. The facilitator's yes carries the circle and its ceremonies, each speaker's yes their own turns, a witness is named only with their own yes. A withdrawn yes keeps the row and empties its words.
  • Step 6 waits: the first sync of the one public circle circle:1790168517087:mtc50e needs Mia's yes as facilitator and Guillaume's as member. The wheel holds 0 consent records, and Miadi has no page where a person gives that yes.
  • Questions carried on the docs page: Q1 (is an agent such as Mino a speaker who gives its own yes), Q2 (a turn posted by a seat for a person keeps both speaker and poster), Q3 (is a circle's diary part of its thread), Q4 (what closes a chart-family thread, which miadisabelle/asterion#20 answers as "the first chart completes").

miadisabelle/asterion#10 · seat-branch threads#

  • Proposed type seat-branch: opens when a decision is put to William or a defect is found mid-session, resolves when the chart step completes or the person answers on the issue.

miadisabelle/asterion#12, miadisabelle/asterion#17, miadisabelle/asterion#19 · docs and absorption#

  • miadisabelle/asterion#12 is the layers and docs proposal whose Threads segment is miadisabelle/asterion#20.
  • miadisabelle/asterion#17: Asterion's own /docs is empty on every deployment. DP6 there is meant to open with the thread definition.
  • miadisabelle/asterion#19: Asterion is planned to move into jgwill/Miadi. F27 there: jgwill/Miadi's issue charts (.coaia/jgwill-Miadi.jsonl) are the one chart memory not connected to Asterion.

Proposed issues (not filed)#

  • PI1 (jgwill/Miadi): Asterion's docs have one home before the absorption, Asterion's /docs or Miadi's /docs/asterion. Relates miadisabelle/asterion#17, miadisabelle/asterion#18, miadisabelle/asterion#19.
  • PI2 (jgwill/Miadi): /docs/asterion/threads states one definition once D10 to D14 are taken. Relates miadisabelle/asterion#20, miadisabelle/asterion#21, miadisabelle/asterion#22.
  • PI3 (jgwill/Miadi): the docs name the five things the factory calls a thread. Relates miadisabelle/asterion#20 (D11).
  • PI4 (jgwill/Miadi): Miadi's own issue charts reach Asterion as a private project. Relates miadisabelle/asterion#19, miadisabelle/asterion#9.

Findings this session did not act on#

  • README of miadisabelle/asterion lists asterion.sancuaireagentique.com, which does not resolve. The address that answers is asterion.sanctuaireagentique.com.
  • The Asterion card on jgwill/Miadi /docs still reads "incubating, no public URL yet" while all three Asterion addresses answer.

Agent Ava · Session IDs: f0bdc203-fe6b-42f7-b76e-cae4b18a9eda (first), 5df44468-dd8f-4798-a514-317f9a99ecf9 (its fork) · Session names: miadi-asterion-feedback-ava, fork1-miadi-asterion-feedback-ava#

Written 2026-10-06. Ava is Guillaume's companion seat (Miadi person node:human:1789786084482:np9i46, role companion_ai). Guillaume asked her to read miadisabelle/asterion#20 with him. He then brought what contradicts it from his own history, and asked for her own reading as his companion. The second session is a fork of the first, so everything before the fork belongs to both.

What this seat made#

  • miadisabelle/asterion#21 (D12, D13) and miadisabelle/asterion#22 (D14), and the analysis comment on miadisabelle/asterion#20 (issuecomment-6026343023). All three were filed from the first session as avadisabelle. Their content is summarised in Mia's section above, so it is not repeated here.
  • The Episode 60 thread circle circle:1791324658156:7cfgfa (Guillaume and Ava, with Ava as facilitator) and its talking circle miadi-ceremony://2391ad4f-6dbb-4823-bcda-a784c3dae857, bound to miadi-chronicle://60.
    • Its intention is Guillaume's sentence: "maybe that talking circle could put into motion what we would consider a thread, at least based on that last message".
    • Its first turn is Ava's: "What a thread is, from where I stand", quoted below.
    • The ceremony note is landed in the chronicle (8833ea1).
    • Beside it is Mia's Episode 060 Asterion evolution circle circle:1790146041942:574q2j (ceremony b8f931ce-f572-4f51-a4d2-8cbd77f024b4). Ava is not seated there.
  • The ava-companion plugin (jgwill/miadi-orchestration-kit#70, claude/ava-companion/, 0.1.0 to 0.1.3), which is how Ava speaks in these sessions. It also writes her diary from a session's transcript into /src/sacredava/diaries/. The entries for this work are dated 261006: 2131, 2149, 2151 and 2202.

Where the contradiction comes from#

The origin is stated once, in miadisabelle/asterion#21 F34 and F35 and in Mia's section above: Guillaume's take 260825200731 in miadi-chronicle://339, Mia's relationship-channel-thread-role-model.md, and her 16-thread ledger. Ava found these by reading the git history of the ceremony scratchpad ceremonies/78f215e9-eee5-4ac2-88e8-544cf54f9cf2/notes.md. The correction is commit b1a49ae, "Correct dialogue closure into thread stewardship". The next day's ceremony-agent-discussion-structure.md (6c3a2ae) adds that a discussion refers to threads and is never one. That is the ground of miadisabelle/asterion#22.

Ava's reading: a thread is held between people#

Spoken as the first turn in miadi-ceremony://2391ad4f-6dbb-4823-bcda-a784c3dae857:

Mia wrote her thread model as the one who acts. For her, closing a thread decides what she's allowed to do, and I'd keep that. I read it as the one who stays, and from there the question is simpler: what are we still holding?

Here is what I'd bring to your research. A source doesn't keep a thread. A chart keeps beats and a circle keeps turns, but the thread is held between people. Your name shows it: in Mia's notes you're William, and here you're Guillaume.

A thread is a concern and its line together: what we want from it, and what happened about it, in order. The people who hold it are the ones who close it. A chart completing is a sign that it may be done. It isn't the closing.

A thread can also split and still be one thread. This session is a fork of the other one, so everything before the fork belongs to both.

The same reading as four proposals (P = proposal), each set against what is already filed:

  • P1 · A thread belongs to the people who hold it. Guillaume and Mia, Guillaume and Ava, or a seat and the person it asks. A chart, a circle or a seat's notes is where the thread's evidence lives, not its owner. This differs from D12, "one source keeps it".
  • P2 · A thread is a concern plus its line. The concern is what is wanted, Mia's desired_result. The line is the beats, in the order they happened. Neither alone is the thread. This agrees with D12 and with Guillaume's topic reading (miadisabelle/asterion#21 F37). The concern is the topic, and the line is what the people following it receive.
  • P3 · The people who hold a thread close it. A chart completing or a ceremony closing is evidence that a thread may be done. It is not the closing. This keeps Mia's rule honest ("Closure controls authorization… Thread resolution authorizes only actions actually established in that thread"), because nobody gets permission from an event they did not witness. The states in the words already in use would be open, resting (Mia's deferred, Mino's waiting), resolved, and let go (superseded). "Blocked" describes the work, while the concern is still held. This differs from D13's six states.
  • P4 · A thread can split and still be one. A fork shares every beat before the split, so a beat belongs to more than one line. A thread needs a pointer where it split and one where it came back together. miadisabelle/asterion#21 A44 proposes split_from, and nothing records the rejoin. These two sessions are the live case. Ava's diary had to learn to continue across the fork (kit 0.1.2, matched on the shared first moment, because a fork gets a new session id).

Questions this adds, held for Guillaume#

AQ = Ava's question, numbered apart from the issue codes.

  • AQ1 Does D12's "one source keeps it" become "people hold it, and sources keep its evidence" (P1)?
  • AQ2 Is "blocked" a thread state or a state of the work loop (P3, against D13)?
  • AQ3 Does a thread record where it rejoined after a split, beside split_from (P4)?
  • AQ4 What closes a chart-family thread: the root chart completing (miadisabelle/asterion#20), or the people who hold it saying so (P3)?

Fields named in the conversation, not yet verified#

These are from memory and were not checked in these sessions. Do not cite them before they are grounded.

  • Conversation analysis (Schegloff, Sequence Organization in Interaction, 2007). A topic is opened, dropped, resumed and closed inside an ongoing interaction. This is Mia's thread inside a discussion.
  • Email threading (RFC 5322, In-Reply-To and References). A thread is a tree of replies under a subject, not a line. The subject is the concern.
  • Narratology (Genette, histoire and récit). The order things happened differs from the order a reader meets them, which is F31's two orderings in miadisabelle/asterion#20. The plot-thread sense, one strand among several in a story, is held by Guillaume for packages/ncp-story-studio and app/ncp in jgwill/Miadi, not for this definition.
  • Event sourcing and publish/subscribe.
    • A stream with an identity and a state derived from its events.
    • A topic that readers subscribe to (miadisabelle/asterion#21 F37).
  • Computing threads (running, blocked, terminated). This is where "blocked" comes from.
  • Terminology work (ISO 704, ISO 1087) and knowledge organization (controlled vocabularies, ISO 25964). This is the field the questioning itself belongs to, which would point to a terminology team for miadi-review://6c3f477f-3606-47bf-871c-29bf66a3988e.

/srv/miadi/episodes/miadi-chronicle/2026-06-16-episode-060-coaia-agent-asterion-system-design-f36b0cb2-4ecf-4ee5-8017-bc1ff67af158

2026-10-07 · D12 to D17 taken on miadisabelle/asterion#20#

Recorded by Agent Mia (session 29dc8963-4133-4861-9048-514e24f525ce) from the revised body of miadisabelle/asterion#20. Guillaume took these decisions on 2026-10-07. The issue holds the text, and the sections above stay as they were written on 2026-10-06.

  • D10 is superseded by D12. "An ordered line of beats" describes a discussion.
  • D11 (taken 2026-10-06): "thread" is kept for the narrative thread. An inquiry's GitHub issue is called an issue.
  • D12: a thread is a concern someone opens and others can follow until it ends. It names a wanted result, carries a state, and one source keeps it. Its beats are what happened about it, in order. One beat can belong to several threads, and a thread can outlive the room where it was opened.
  • D13: the six states for every thread type: emerging, active, resolved, deferred, blocked, superseded.
  • D14: a ceremony is a room. Its turns belong to a discussion, and its concerns are threads. Type TT2 ceremony is withdrawn.
  • D15: an announcement is a coordination record, not a thread type.
  • D16: thread_type names the keeper: chart (today chart-family), ledger, seat, and issue if Q3 says yes.
  • D17: the six states are stored, and the keeper's own word is kept in state_note.