AlmondTill/G3N API

Consultation

object type

A Consultation: the VERBATIM TRANSCRIPT is the record (bounded turn rows — read via consultationTurns) and the MEMORY is the STORED rolling summary ON this record — auditable, purgeable, merchant-visible, never hidden model state. Each ask composes the summary + the last 12 turns verbatim + the asked materials' STORED extractions (EXTRACT-THEN-COMPOSE — raw content is read exactly once, at material confirm). Aldric may attach a DRAFTED PLAN to a reply; TAKING a drafted plan (takeConsultationPlan) mints a Scratchpad through the live spine (origin consultation) and the walk proceeds under the TAKER's own capability (the hardened-Aldric law — the chat holds ZERO mutation authority). Outgrowing the 200-turn transcript refuses HONESTLY naming the cure: a follow-on consultation linked via followOnOfId (never silent middle-loss). USER-parented (the consulter owns the chat), group-rooted. The ops event domain (at.ops.consultation.*).

Fields

FieldTypeNotes
idID ID!The record’s id — a UUID the platform assigned when the record was created; every reference to this record uses it.
sysIdString String!The group-scoped human-facing system id (CI-…).
typeString String!The kind of record — always Consultation here.
captionString String!The record’s display name — what people see it called.
statusString String!The FSM state: open | archived | discarded.
parentIdID ID!The consulting User; parentId ≠ rootId by construction (the org group is the root).
rootIdID ID!The org-group family root.
createdAtString String!When the record was created, as a UTC timestamp.
updatedAtString String!When the record last changed, as a UTC timestamp.
revisionNumInt Int!How many times this record has been edited; the first save is 0.
revisionID ID!The OCC revision token — supply it on every mutation of this record; rotates on every write.
refCaptionsRefCaption [RefCaption!]!The server-composed captions of this record's declared references (the referenced-caption rule) — one row per referenced id; see RefCaption.
turnCountInt Int!The transcript length (== the next turn's seq; the turn rows are the truth, this is the OCC-stamped cache).
summaryStringTHE STORED ROLLING SUMMARY.
summarizedThroughSeqInt Int!Turns below this seq live INSIDE the summary; turns from it onward compose verbatim into each ask.
followOnOfIdIDThe outgrowth link — the consultation THIS one continues.
idleArchiveAtStringSYSTEM-stamped at birth, at every ask and at reopen = the last activity + 30 days — the scheduler archives the conversation at this instant if it is still open; a parked row keeps its last stamp as history.
turnsTierAtStringSYSTEM-stamped when the conversation archives (by you or by the idle sweep) = the archive instant + 90 days — the scheduler moves the transcript to the archive bucket at this instant if the conversation is still archived; reopen removes it; a tiered row carries none.
turnsTierStringPresent (archive) once the transcript has moved to the archive bucket after 90 days archived — consultationTurns still reads it whole (the tier is transparent); taking a drafted plan then needs a reopen first; reopen brings the rows back and clears this. Absent while the rows are hot.

Used by