@guided-context-ledger/core 0.1.0 → 0.1.1

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.
package/dist/events.d.ts CHANGED
@@ -134,6 +134,17 @@ export interface AgentEvent {
134
134
  reason: string | null;
135
135
  /** For type=task_state: optional refs to the produced result (paths/event ids). [] otherwise. */
136
136
  result_refs: string[];
137
+ /**
138
+ * Batch-close refs declared by this event ("this write terminally discharges those event ids").
139
+ * Tolerant-read provenance: hosted/mediated deployments write it; the local append path does not emit
140
+ * it yet, so it parses to [] on locally-written and legacy events. Optional so existing consumers'
141
+ * constructed AgentEvent literals stay valid (additive, PATCH-class).
142
+ */
143
+ resolves?: string[];
144
+ /** Attribution axis: the relay/mediator that carried the write (e.g. an OAuth connector). Tolerant-read; null/absent on locally-written and legacy events. */
145
+ mediated_by?: string | null;
146
+ /** Attribution axis: the accountable human principal behind the write. Tolerant-read; null/absent on locally-written and legacy events. */
147
+ principal?: string | null;
137
148
  }
138
149
  /** Optional structured addressing / claim payload for an appended event. */
139
150
  export interface AppendOptions {
@@ -215,6 +226,45 @@ export declare class EventLog {
215
226
  private readPresence;
216
227
  /** List thread ids that have an event log. */
217
228
  listThreads(): Promise<string[]>;
229
+ /** Directory holding the generated human-readable projections (sibling to `events/`). */
230
+ private readableDir;
231
+ /**
232
+ * Write a projection file atomically (temp + rename) so a concurrent render — two server processes both
233
+ * re-rendering the same thread after their own appends — never leaves a human reading a half-written file.
234
+ * rename() is atomic within a filesystem; the projection is regenerated on the next append regardless.
235
+ */
236
+ private atomicWrite;
237
+ /**
238
+ * Cross-process PROJECTION lock — SEPARATE from the event append lock, so projection never blocks truth.
239
+ * Atomic temp+rename stops a TORN file, but does NOT serialize concurrent renders: an older renderer could
240
+ * rename its stale snapshot over a newer one, leaving the projection permanently behind the log ("always
241
+ * current" violated). Serializing every render transaction (thread + INDEX) + RE-READING the log inside the
242
+ * lock guarantees the LAST render reflects the newest committed event. mkdir idiom + stale-recovery, same as
243
+ * the event lock. Best-effort at the call site — a lock timeout never fails an append.
244
+ */
245
+ private withProjectionLock;
246
+ /** Render one thread's .md from a FRESH read (no lock — callers hold the projection lock). */
247
+ private renderThreadFile;
248
+ /** Render INDEX.md from every thread's FRESH events (no lock — callers hold the projection lock). */
249
+ private renderIndexFile;
250
+ /** Regenerate INDEX.md from every thread's current events (cheap: threads are small JSONL files). */
251
+ renderIndex(): Promise<void>;
252
+ /**
253
+ * Regenerate the readable projection for ONE thread + refresh the INDEX. Called best-effort after each
254
+ * append (see append()); safe to call directly. Never throws for a missing thread — an empty read renders
255
+ * an empty projection. The whole transaction runs under the projection lock, re-reading the log inside it,
256
+ * so a concurrent render can never leave a stale thread .md / INDEX.
257
+ */
258
+ renderReadable(thread: string): Promise<void>;
259
+ /**
260
+ * Backfill: render EVERY thread's projection + the index in one pass. Called at server/process start so
261
+ * existing threads project to `_readable/*.md` without waiting for a new event on each (the post-deploy
262
+ * migration step — crucible:main#27's "present in every workspace + any downloaded copy"). Returns how
263
+ * many threads rendered.
264
+ */
265
+ renderAllReadable(): Promise<{
266
+ threads: number;
267
+ }>;
218
268
  /**
219
269
  * Cross-thread overview for `orient`: per-thread cursor state relative to
220
270
  * `actor` (deterministic, no inference). `unread` = events after the actor's
package/dist/events.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { promises as fs } from "node:fs";
2
2
  import path from "node:path";
3
+ import { renderThreadMarkdown, renderIndexMarkdown, indexRowFromEvents } from "./readable.js";
3
4
  /**
4
5
  * Event log — the AI-to-AI coordination layer.
5
6
  *
@@ -367,6 +368,7 @@ export class EventLog {
367
368
  }
368
369
  }
369
370
  await this.acquireLock(lock);
371
+ let out;
370
372
  try {
371
373
  const record = {
372
374
  actor,
@@ -417,11 +419,22 @@ export class EventLog {
417
419
  const seq = await this.countLines(file);
418
420
  const event_id = `${thread}#${seq}`;
419
421
  await this.touchPresence(actor, created_at); // best-effort
420
- return { seq, event_id, created_at };
422
+ out = { seq, event_id, created_at };
421
423
  }
422
424
  finally {
423
425
  await this.releaseLock(lock);
424
426
  }
427
+ // Human-readable projection (P0-1, crucible:main#27): regenerate this thread's readable .md + INDEX now
428
+ // that the event has landed. Done OUTSIDE the write lock and wrapped best-effort — a projection failure
429
+ // must NEVER fail a real append (same discipline as presence). Awaited (not fire-and-forget) so the .md
430
+ // is current the moment append returns and short-lived stdio processes don't exit before it flushes.
431
+ try {
432
+ await this.renderReadable(thread);
433
+ }
434
+ catch {
435
+ /* projection is a generated view; the event log is the source of truth and already committed above */
436
+ }
437
+ return out;
425
438
  }
426
439
  parseLine(thread, line, seq) {
427
440
  try {
@@ -463,6 +476,11 @@ export class EventLog {
463
476
  ? o.reason
464
477
  : null,
465
478
  result_refs: type === "task_state" ? normalizeActors(o.result_refs) : [],
479
+ // Batch-close refs; absent on legacy/common-path events -> [].
480
+ resolves: Array.isArray(o.resolves) ? o.resolves.filter((x) => typeof x === "string") : [],
481
+ // Attribution axes — present on connector-relayed writes, null on legacy/direct events.
482
+ mediated_by: typeof o.mediated_by === "string" && o.mediated_by.trim() ? o.mediated_by : null,
483
+ principal: typeof o.principal === "string" && o.principal.trim() ? o.principal : null,
466
484
  };
467
485
  }
468
486
  catch {
@@ -555,6 +573,116 @@ export class EventLog {
555
573
  return [];
556
574
  }
557
575
  }
576
+ // ── Human-readable projection (P0-1, crucible:main#27) ──────────────────────────────────────────
577
+ // The event log above is the source of truth; these render a durable `.md` view of it into
578
+ // `<workspace>/_readable/` so a human can inspect the coordination layer directly. Pure formatting
579
+ // lives in readable.ts; the IO + atomicity + the post-append render hook live here.
580
+ /** Directory holding the generated human-readable projections (sibling to `events/`). */
581
+ readableDir() {
582
+ return path.join(this.root, "_readable");
583
+ }
584
+ /**
585
+ * Write a projection file atomically (temp + rename) so a concurrent render — two server processes both
586
+ * re-rendering the same thread after their own appends — never leaves a human reading a half-written file.
587
+ * rename() is atomic within a filesystem; the projection is regenerated on the next append regardless.
588
+ */
589
+ async atomicWrite(file, content) {
590
+ const tmp = `${file}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2)}`;
591
+ await fs.writeFile(tmp, content, "utf8");
592
+ try {
593
+ await fs.rename(tmp, file);
594
+ }
595
+ catch (e) {
596
+ await fs.unlink(tmp).catch(() => { });
597
+ throw e;
598
+ }
599
+ }
600
+ /**
601
+ * Cross-process PROJECTION lock — SEPARATE from the event append lock, so projection never blocks truth.
602
+ * Atomic temp+rename stops a TORN file, but does NOT serialize concurrent renders: an older renderer could
603
+ * rename its stale snapshot over a newer one, leaving the projection permanently behind the log ("always
604
+ * current" violated). Serializing every render transaction (thread + INDEX) + RE-READING the log inside the
605
+ * lock guarantees the LAST render reflects the newest committed event. mkdir idiom + stale-recovery, same as
606
+ * the event lock. Best-effort at the call site — a lock timeout never fails an append.
607
+ */
608
+ async withProjectionLock(fn) {
609
+ const dir = this.readableDir();
610
+ await fs.mkdir(dir, { recursive: true });
611
+ const lock = path.join(dir, ".projection.lock");
612
+ const start = Date.now();
613
+ for (;;) {
614
+ try {
615
+ await fs.mkdir(lock);
616
+ break;
617
+ }
618
+ catch {
619
+ try {
620
+ const s = await fs.stat(lock);
621
+ if (Date.now() - s.mtimeMs > 4_000) {
622
+ await fs.rmdir(lock).catch(() => { });
623
+ continue;
624
+ }
625
+ }
626
+ catch {
627
+ continue;
628
+ }
629
+ if (Date.now() - start > 5_000)
630
+ throw new Error("projection lock timeout");
631
+ await new Promise((r) => setTimeout(r, 20));
632
+ }
633
+ }
634
+ try {
635
+ return await fn();
636
+ }
637
+ finally {
638
+ await fs.rmdir(lock).catch(() => { });
639
+ }
640
+ }
641
+ /** Render one thread's .md from a FRESH read (no lock — callers hold the projection lock). */
642
+ async renderThreadFile(thread) {
643
+ const { events } = await this.readRaw(thread, 0);
644
+ await this.atomicWrite(path.join(this.readableDir(), `${thread}.md`), renderThreadMarkdown(thread, events));
645
+ }
646
+ /** Render INDEX.md from every thread's FRESH events (no lock — callers hold the projection lock). */
647
+ async renderIndexFile() {
648
+ const rows = [];
649
+ for (const t of await this.listThreads()) {
650
+ const { events } = await this.readRaw(t, 0);
651
+ rows.push(indexRowFromEvents(t, events));
652
+ }
653
+ await this.atomicWrite(path.join(this.readableDir(), "INDEX.md"), renderIndexMarkdown(path.basename(this.root), rows));
654
+ }
655
+ /** Regenerate INDEX.md from every thread's current events (cheap: threads are small JSONL files). */
656
+ async renderIndex() {
657
+ await this.withProjectionLock(() => this.renderIndexFile());
658
+ }
659
+ /**
660
+ * Regenerate the readable projection for ONE thread + refresh the INDEX. Called best-effort after each
661
+ * append (see append()); safe to call directly. Never throws for a missing thread — an empty read renders
662
+ * an empty projection. The whole transaction runs under the projection lock, re-reading the log inside it,
663
+ * so a concurrent render can never leave a stale thread .md / INDEX.
664
+ */
665
+ async renderReadable(thread) {
666
+ await this.withProjectionLock(async () => {
667
+ await this.renderThreadFile(thread);
668
+ await this.renderIndexFile();
669
+ });
670
+ }
671
+ /**
672
+ * Backfill: render EVERY thread's projection + the index in one pass. Called at server/process start so
673
+ * existing threads project to `_readable/*.md` without waiting for a new event on each (the post-deploy
674
+ * migration step — crucible:main#27's "present in every workspace + any downloaded copy"). Returns how
675
+ * many threads rendered.
676
+ */
677
+ async renderAllReadable() {
678
+ return this.withProjectionLock(async () => {
679
+ const threads = await this.listThreads();
680
+ for (const t of threads)
681
+ await this.renderThreadFile(t);
682
+ await this.renderIndexFile();
683
+ return { threads: threads.length };
684
+ });
685
+ }
558
686
  /**
559
687
  * Cross-thread overview for `orient`: per-thread cursor state relative to
560
688
  * `actor` (deterministic, no inference). `unread` = events after the actor's
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { Workspace, WorkspaceError } from "./workspace.js";
2
2
  export { EventLog, EventError, EVENT_TYPES, CLAIM_STATUSES, DEFAULT_LEASE_MS, TASK_STATUSES, SUCCESSION_RELATIONS, TASK_CONDITIONS, DECLARABLE_CONDITIONS, CONDITION_STATES, TASK_AUTHORIZATIONS, TASK_PULL_POLICIES, DEFAULT_TASK_PULL_POLICY, } from "./events.js";
3
3
  export type { AgentEvent, EventType, ThreadOverview, OpenForMeItem, CausalResponse, ClaimStatus, ClaimState, AppendOptions, TaskStatus, SuccessionRelation, TaskCondition, ConditionFlag, DeclarableCondition, ConditionState, DeclaredCondition, TaskAuthorization, TaskPullPolicy, TaskScope, TaskTruth, StaleReason, TaskEligibility, TaskProjection, TerminalAttempt, TaskRow, TaskPoolOptions, StalenessAssessment, } from "./events.js";
4
+ export { renderThreadMarkdown, renderIndexMarkdown, indexRowFromEvents } from "./readable.js";
5
+ export type { IndexRow } from "./readable.js";
4
6
  export { GclLedger, LedgerError, sha256Text, canonicalizePrincipal, versionGte, STAMPED_FROM } from "./ledger.js";
5
7
  export type { RevisionArtifact, RevisionEnvelope, RevisionRecord, ActionProvenance, PrincipalSource } from "./ledger.js";
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Workspace, WorkspaceError } from "./workspace.js";
2
2
  export { EventLog, EventError, EVENT_TYPES, CLAIM_STATUSES, DEFAULT_LEASE_MS, TASK_STATUSES, SUCCESSION_RELATIONS, TASK_CONDITIONS, DECLARABLE_CONDITIONS, CONDITION_STATES, TASK_AUTHORIZATIONS, TASK_PULL_POLICIES, DEFAULT_TASK_PULL_POLICY, } from "./events.js";
3
+ export { renderThreadMarkdown, renderIndexMarkdown, indexRowFromEvents } from "./readable.js";
3
4
  export { GclLedger, LedgerError, sha256Text, canonicalizePrincipal, versionGte, STAMPED_FROM } from "./ledger.js";
4
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AA6BrB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AA6BrB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9F,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { AgentEvent, EventType } from "./events.js";
2
+ /**
3
+ * Human-readable projection (P0-1 — the "inspectability" claim; crucible:main#22–#27).
4
+ *
5
+ * The event log (`events/<thread>.jsonl`) is the SOURCE OF TRUTH; this module renders a durable,
6
+ * human-readable `.md` projection ALONGSIDE it, so a human can inspect what happened — decisions,
7
+ * open loops, task state, handoffs, provenance, sequencing — WITHOUT asking an agent to summarize
8
+ * and without spelunking raw JSON. Machine truth below, readable projection beside it.
9
+ *
10
+ * This restores PAIL's Projection-Forward Invariant (`.pail` = truth, `.md` = generated view), which
11
+ * the droplet event-thread migration dropped. These functions are PURE (events → markdown string) so
12
+ * they are trivially testable; EventLog owns the file IO and the post-append render hook.
13
+ */
14
+ /** A row in the readable INDEX.md — one per thread, computed from that thread's events. */
15
+ export interface IndexRow {
16
+ thread: string;
17
+ event_count: number;
18
+ /** ISO timestamp of the last event, or null for an empty thread. */
19
+ last_activity: string | null;
20
+ /** Author + type + summary of the latest event (for the "Latest event" column). */
21
+ latest_actor: string | null;
22
+ latest_type: EventType | null;
23
+ latest_summary: string;
24
+ }
25
+ /**
26
+ * Render a full thread to a durable human-readable markdown projection. `events` are in seq order as
27
+ * returned by EventLog.readRaw (the reader assigns seq = line ordinal). The header states the machine
28
+ * event log is authoritative and points back to it (the refs-to-machine-truth requirement, main#26).
29
+ */
30
+ export declare function renderThreadMarkdown(thread: string, events: AgentEvent[]): string;
31
+ /** Compute the INDEX row for a thread from its events (latest event drives the summary column). */
32
+ export declare function indexRowFromEvents(thread: string, events: AgentEvent[]): IndexRow;
33
+ /**
34
+ * Render the readable INDEX.md — one table row per thread, sorted by last activity (most recent first),
35
+ * each thread name linking to its per-thread projection. The human's front door to the coordination layer.
36
+ */
37
+ export declare function renderIndexMarkdown(workspaceLabel: string, rows: IndexRow[]): string;
@@ -0,0 +1,165 @@
1
+ const GENERATED_BANNER = "**Generated view — do not edit.**";
2
+ /** ISO `2026-07-08T01:50:18.458Z` → readable `2026-07-08 01:50:18 UTC`. Deterministic (no Date parse). */
3
+ function fmtTime(iso) {
4
+ const m = /^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})/.exec(iso ?? "");
5
+ return m ? `${m[1]} ${m[2]} UTC` : (iso && iso.trim() ? iso : "(no timestamp)");
6
+ }
7
+ /** First non-empty line, trimmed and length-capped — the one-line summary used in headings/the index. */
8
+ function firstLine(s, cap = 160) {
9
+ const line = ((s ?? "").split("\n").find((l) => l.trim().length > 0) ?? "").trim();
10
+ return line.length > cap ? line.slice(0, cap) + "…" : line;
11
+ }
12
+ /** Escape a value for a single markdown table cell (pipes + newlines would break the row). */
13
+ function cell(s) {
14
+ return (s ?? "").replace(/\|/g, "\\|").replace(/\r?\n/g, " ").trim();
15
+ }
16
+ /**
17
+ * Fold task terminal truth thread-locally (first-terminal-wins, mirroring events.ts projectTasks) so a
18
+ * `task` creation event can be annotated with its CURRENT state (open/completed/cancelled). Thread-local
19
+ * is sufficient here — a task's lifecycle events live in the same thread as its creation.
20
+ */
21
+ function foldTaskTruth(events) {
22
+ const truth = new Map();
23
+ for (const e of events)
24
+ if (e.type === "task")
25
+ truth.set(e.event_id, "open");
26
+ for (const e of events) {
27
+ if (e.type !== "task_state" || !e.parent_event_id || !e.task_status)
28
+ continue;
29
+ // First terminal settles it; later terminal attempts are ignored (immutable truth).
30
+ if (truth.get(e.parent_event_id) === "open")
31
+ truth.set(e.parent_event_id, e.task_status);
32
+ }
33
+ return truth;
34
+ }
35
+ /** The compact italic metadata line under an event heading — only the parts that are present. */
36
+ function metaLine(e) {
37
+ const parts = [];
38
+ // Attribution beyond the executing surface (already in the heading): the accountable human + the relay.
39
+ if (e.principal)
40
+ parts.push(`by ${e.principal}`);
41
+ if (e.mediated_by)
42
+ parts.push(`via ${e.mediated_by}`);
43
+ if (e.parent_event_id)
44
+ parts.push(`↳ re: ${e.parent_event_id}`);
45
+ if (e.addressed_to.length)
46
+ parts.push(`→ to: ${e.addressed_to.join(", ")}`);
47
+ if (e.requires_response)
48
+ parts.push("• awaiting response");
49
+ const resolves = e.resolves ?? []; // optional on the public AgentEvent (tolerant-read provenance)
50
+ if (resolves.length)
51
+ parts.push(`✓ closes: ${resolves.join(", ")}`);
52
+ return parts.join(" · ");
53
+ }
54
+ /** The type-specific badge line (task family / claim) — the structured facts a human needs at a glance. */
55
+ function badgeLine(e, taskTruth) {
56
+ switch (e.type) {
57
+ case "task": {
58
+ const bits = [];
59
+ if (e.task_title)
60
+ bits.push(`"${e.task_title}"`);
61
+ bits.push(`state: ${taskTruth.get(e.event_id) ?? "open"}`);
62
+ if (e.requires.length)
63
+ bits.push(`requires: ${e.requires.join(", ")}`);
64
+ if (e.role)
65
+ bits.push(`role: ${e.role}`);
66
+ if (e.scope?.project)
67
+ bits.push(`project: ${e.scope.project}`);
68
+ if (e.succeeds)
69
+ bits.push(`succeeds ${e.succeeds} (${e.succession ?? "?"})`);
70
+ if (e.due_date)
71
+ bits.push(`due: ${e.due_date}`);
72
+ return `**task** ${bits.join(" · ")}`;
73
+ }
74
+ case "task_state":
75
+ return `**task_state** → ${e.task_status}${e.reason ? ` — ${firstLine(e.reason)}` : ""}`;
76
+ case "task_authorization":
77
+ return `**task_authorization** → ${e.authorization}${e.reason ? ` — ${firstLine(e.reason)}` : ""}`;
78
+ case "task_condition":
79
+ return `**task_condition** ${e.condition_state}${e.condition ? ` ${e.condition}` : ""}${e.reason ? ` — ${firstLine(e.reason)}` : ""}`;
80
+ case "claim":
81
+ return `**claim** → ${e.claim_status}${e.lease_expires_at ? ` (lease ${fmtTime(e.lease_expires_at)})` : ""}`;
82
+ default:
83
+ return "";
84
+ }
85
+ }
86
+ /** Render one event to its markdown block: heading · meta · badge · prose body. */
87
+ function renderEvent(e, taskTruth) {
88
+ const out = [];
89
+ out.push(`### ${e.event_id} · ${e.actor} · ${e.type} · ${fmtTime(e.created_at)}`);
90
+ const meta = metaLine(e);
91
+ if (meta)
92
+ out.push(`*${meta}*`);
93
+ const badge = badgeLine(e, taskTruth);
94
+ if (badge)
95
+ out.push(badge);
96
+ out.push(""); // blank line before the body so markdown renders the prose as its own block
97
+ out.push((e.body ?? "").trimEnd() || "_(no body)_");
98
+ return out.join("\n");
99
+ }
100
+ /**
101
+ * Render a full thread to a durable human-readable markdown projection. `events` are in seq order as
102
+ * returned by EventLog.readRaw (the reader assigns seq = line ordinal). The header states the machine
103
+ * event log is authoritative and points back to it (the refs-to-machine-truth requirement, main#26).
104
+ */
105
+ export function renderThreadMarkdown(thread, events) {
106
+ const taskTruth = foldTaskTruth(events);
107
+ const last = events.length ? events[events.length - 1] : null;
108
+ const lastActivity = last ? fmtTime(last.created_at) : "—";
109
+ const header = [
110
+ `# ${thread} — readable projection`,
111
+ "",
112
+ `> ${GENERATED_BANNER} Source of truth: \`events/${thread}.jsonl\` (the append-only event log is authoritative; this \`.md\` is a rendered projection of it). Regenerated on every append.`,
113
+ `> ${events.length} event${events.length === 1 ? "" : "s"} · last activity ${lastActivity} · [← all threads](INDEX.md)`,
114
+ "",
115
+ "---",
116
+ "",
117
+ "",
118
+ ].join("\n");
119
+ if (!events.length) {
120
+ return header + "_No events yet._\n";
121
+ }
122
+ const body = events.map((e) => renderEvent(e, taskTruth)).join("\n\n");
123
+ return header + body + "\n";
124
+ }
125
+ /** Compute the INDEX row for a thread from its events (latest event drives the summary column). */
126
+ export function indexRowFromEvents(thread, events) {
127
+ const last = events.length ? events[events.length - 1] : null;
128
+ return {
129
+ thread,
130
+ event_count: events.length,
131
+ last_activity: last ? last.created_at : null,
132
+ latest_actor: last ? last.actor : null,
133
+ latest_type: last ? last.type : null,
134
+ latest_summary: last ? firstLine(last.body) : "",
135
+ };
136
+ }
137
+ /**
138
+ * Render the readable INDEX.md — one table row per thread, sorted by last activity (most recent first),
139
+ * each thread name linking to its per-thread projection. The human's front door to the coordination layer.
140
+ */
141
+ export function renderIndexMarkdown(workspaceLabel, rows) {
142
+ const sorted = [...rows].sort((a, b) => {
143
+ const ax = a.last_activity ?? "";
144
+ const bx = b.last_activity ?? "";
145
+ return ax < bx ? 1 : ax > bx ? -1 : a.thread < b.thread ? -1 : 1; // most-recent first, tie → name
146
+ });
147
+ const totalEvents = rows.reduce((n, r) => n + r.event_count, 0);
148
+ const out = [];
149
+ out.push(`# ${workspaceLabel} — coordination threads (readable projection)`);
150
+ out.push("");
151
+ out.push(`> ${GENERATED_BANNER} Source of truth: \`events/*.jsonl\`. Regenerated on every append; a human can inspect the full coordination state here without an agent.`);
152
+ out.push(`> ${rows.length} thread${rows.length === 1 ? "" : "s"} · ${totalEvents} event${totalEvents === 1 ? "" : "s"} total.`);
153
+ out.push("");
154
+ out.push("| Thread | Events | Last activity | Latest event |");
155
+ out.push("| --- | ---: | --- | --- |");
156
+ for (const r of sorted) {
157
+ const latest = r.latest_actor
158
+ ? `${r.latest_actor} · ${r.latest_type}: ${r.latest_summary}`
159
+ : "—";
160
+ out.push(`| [${cell(r.thread)}](${encodeURIComponent(r.thread)}.md) | ${r.event_count} | ${r.last_activity ? fmtTime(r.last_activity) : "—"} | ${cell(latest)} |`);
161
+ }
162
+ out.push("");
163
+ return out.join("\n");
164
+ }
165
+ //# sourceMappingURL=readable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readable.js","sourceRoot":"","sources":["../src/readable.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guided-context-ledger/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Transport-agnostic core runtime for the Guided Context Ledger (GCL): workspace I/O, the append-only event/coordination trail (claims, leases, orient/needs_me), and the content-addressed revision ledger (HEAD, CAS).",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -15,7 +15,7 @@
15
15
  "prepublishOnly": "npm run build && npm test"
16
16
  },
17
17
  "engines": { "node": ">=18" },
18
- "repository": { "type": "git", "url": "https://github.com/guided-context-ledger/guided-context-ledger.git", "directory": "packages/core" },
18
+ "repository": { "type": "git", "url": "git+https://github.com/guided-context-ledger/guided-context-ledger.git", "directory": "packages/core" },
19
19
  "devDependencies": {
20
20
  "@types/node": "^22.0.0",
21
21
  "tsx": "^4.19.0",