Skip to content

v0.9.0 — Rich Context: Files and artifacts

Latest

Choose a tag to compare

@mediajunkie mediajunkie released this 11 Apr 06:20
· 4571 commits to main since this release

What's new

Step 9 is complete. Klatch's biggest release since Step 8. Files become first-class citizens with their own domain model, scope-aware context injection at Layers 3 and 4, and upward promotion through scopes. The dimension is rich context: can you share files, code, and documents with entities in a way that respects how knowledge actually accumulates?

This release also marks Klatch's transition from "tools for xian" to "tools other people can try."

Features

File Domain Model (Phases 1–5)

  • Files and file_refs tables with scope-aware references (message, channel, project, entity)
  • Channel file pinning — pinned files appear in Layer 4 system prompt automatically
  • Project knowledge base — uploaded files appear in Layer 3 system prompt automatically
  • File promotion — files can be promoted upward (message → channel → project), idempotent and additive
  • Dual-write completion — all file creation paths consistently populate both message_artifacts and the file domain model
  • Five new API endpoints for file queries by scope

File upload & artifacts (Steps 9a–d)

  • Multipart upload with attachment cards in messages
  • Inline artifact rendering
  • Code block save with smart filename detection
  • Native save_file tool for entity-initiated file creation
  • Kit briefing file awareness in Layer 1

Per-entity effort parameter

  • New effort column on entities (low/medium/high/max)
  • Model-aware defaults (Sonnet → medium, others → high)
  • max available on Opus 4.6 only
  • Effort selector in entity settings, filtered by model capabilities

Tuned compaction

  • Threshold raised from 80K to 160K (research-backed for 1M-context models)
  • Entity-attribution preservation for roundtable/directed compaction summaries

AAXT Scaffolded Probing Phase 1

  • Probe generator reads prompt-debug layer status, generates targeted behavioral questions
  • Scorer classifies responses against the AXT taxonomy (six failure modes)
  • Auxiliary LLM client (GPT-4o-mini default, Haiku fallback) avoids self-evaluation bias
  • New endpoints: POST /api/channels/:id/aaxt-probe, GET /api/aaxt/status

Nomenclature

  • "System prompt" → "Channel context" (Layer 4) and "Role prompt" (Layer 5) across all UI surfaces
  • Full terminology guide at docs/NOMENCLATURE.md

Technical

  • 849 tests passing (710 server + 139 client), zero failures. Up from 727 at v0.8.9.
  • New tables: files, file_refs. New columns: entities.effort.
  • New shared types: FileRefScope, FileRefType, KlatchFile, FileRef, FileWithRef, EffortLevel.
  • Vitest workspace config at repo root (vitest.config.ts) — root-level test runs are now clean.
  • Compaction config in streamClaudeCore extended with conditional instructions for non-panel modes.
  • Effort passed via output_config: { effort } in API calls.

Quality

  • Rounds 13–18 of test infrastructure work: Round 14 (FDM Phase 1, 31 tests), Round 15 (Phases 2+3, 16 tests), Round 16 (Phases 4+5, 11 tests), Round 17 (compaction + effort, 18 tests), Round 18 (AAXT × FDM intersection, 12 tests).
  • Compaction threshold deep dive (docs/research/compaction-threshold-deep-dive.md) — 80K was firing at 8% of available context on 1M-token models.
  • Effort parameter evaluation (docs/research/effort-parameter-evaluation.md).
  • AuditBench methodology review (docs/research/auditbench-methodology-review.md) — four cross-pollination recommendations for AXT, the highest-priority of which (scaffolded probing) is implemented in Phase 1.
  • Five new agent team members across the release: Iris (UX designer/developer, April 5), Metis (Cowork coordination, April 1).

Documentation & writing

  • RFC-001 Five-Layer Context Model response filed with Dispatch — Klatch authored the original model that's now being adopted as a cross-project standard.
  • Nomenclature guide (docs/NOMENCLATURE.md) — full terminology map across Klatch, Claude Code, claude.ai, Cowork, RFC-001.
  • File Domain Model design doc (docs/plans/FILE-DOMAIN-MODEL.md).
  • Three new blog posts: "Your Model or Theirs" (Tesler's Law), "What Doesn't Transfer" (Layer 5 calibration gap), and "Paste It Again" (the file domain model in plain language, with a library zones metaphor).

Full changelog

v0.8.9...v0.9.0