@theronap/agnoclast-mcp 0.9.227 → 0.9.229

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -124,6 +124,13 @@ export function formatPressing(pressing) {
124
124
  } else if (p?.kind === 'declined') {
125
125
  lines.push(`↩ ${who(p.by)} DECLINED ${named(p.text)}: ${named(p.reason)}. It is still yours. (${p.obligationId})`)
126
126
  }
127
+ // 2026-10-12 — recordings. Nothing arrived for an in-person recording (fix 4), or a meeting unit
128
+ // with a fully deterministic home has waited in intake (fix 5 — a notice; nothing is auto-filed).
129
+ else if (p?.kind === 'meeting_missing') {
130
+ lines.push(`🎙 Nothing arrived from the recording ${named(p.title)} started ${String(p.at ?? '').slice(0, 20)}: no transcript was filed and none is in intake. Check the desktop app's "Not saved" list. (${p.recordId})`)
131
+ } else if (p?.kind === 'meeting_waiting') {
132
+ lines.push(`🎙 ${named(p.title)} has waited ${Number(p.hours) || 0} h in intake with a fully deterministic home (${named(p.brain)}). File it: \`intake_materialize\` ${p.intakeItemId}`)
133
+ }
127
134
  // ADR-0073 §4 — something this person ASKED someone else for went past its date still open. Said
128
135
  // once per deadline, and as a question to put to the owner: an open obligation past its date is
129
136
  // very often one nobody marked done.
@@ -154,6 +161,7 @@ export function pressingAcks(pressing) {
154
161
  for (const p of Array.isArray(pressing) ? pressing : []) {
155
162
  if (typeof p?.subject !== 'string' || typeof p?.bucket !== 'string') continue
156
163
  const handoff = p.kind === 'asked' || p.kind === 'given' || p.kind === 'declined' || p.kind === 'lapsed'
164
+ || p.kind === 'meeting_missing' || p.kind === 'meeting_waiting'
157
165
  const rollup = (p.kind === 'due_today' || p.kind === 'work_now') && Number(p.count) > 0
158
166
  if (p.kind === 'event' || p.kind === 'due_soon' || handoff || rollup) {
159
167
  out.push({ subject: p.subject, bucket: p.bucket })
@@ -144,6 +144,13 @@ export function wireBody(e) {
144
144
  failure_class: e.failure_class ?? null, request_id: e.request_id ?? null, client_version: e.client_version ?? null,
145
145
  count: e.count ?? 1,
146
146
  }
147
+ // When this client SAW it (2026-10-10, obligation 85fc7617). An entry is sent after the NEXT success, which
148
+ // can be hours later, and without these the server dated every report by its arrival: a timeout that sat in
149
+ // a spool for 6 hours read "last 47m ago" on the issue list. The server bounds them (seenAt, bug_reports.ts).
150
+ const iso = (ms) => (Number.isFinite(ms) ? new Date(ms).toISOString() : undefined)
151
+ const first = iso(e.first_seen), last = iso(e.last_seen)
152
+ if (first) body.first_seen_at = first
153
+ if (last) body.last_seen_at = last
147
154
  if (e.user_approved === true) {
148
155
  body.user_approved = true
149
156
  if (e.summary) body.summary = e.summary
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theronap/agnoclast-mcp",
3
- "version": "0.9.227",
3
+ "version": "0.9.229",
4
4
  "description": "Connect your AI assistant to Cortex — your org's projects, activity, gaps, and directives, scoped to you.",
5
5
  "type": "module",
6
6
  "bin": {