Skip to content

v1.1.1

Latest

Choose a tag to compare

@harringjohn harringjohn released this 21 Jun 01:17
· 3 commits to main since this release
a40eb42

v1.1.1 — final pre-freeze release of footprinter-cli. Lands the MCP context-contract work plus a configurable read-path size cap, and hardens VIEWER governance across every excerpt path.

Features

  • Standardize the MCP excerpt/context contract with provenance fields
  • Make the MCP read-path size cap (500 KB) configurable
  • Strip governance fields from VIEWER results via denylist
  • Surface content_snippets as a default-off opt-in in setup
  • Re-derive the chats excerpt from message content
  • Surface content_preview on the keyword file search path
  • Widen semantic file results to the full chunk plus top-N chunks
  • Add a vector-read path: matched chunk plus neighbors by chunk id
  • Super-entity curated context from Markdown files (uniform context_path)
  • Wire the client curated-context slug convention under get_home()
  • Harden curated-context resolution: size cap, path confinement, VIEWER exposure, error logging
  • Cap max_chunks_per_file and document the chunks-shape divergence

Fixes

  • Gate VIEWER content on the file excerpt paths (keyword + FTS5 fallback)
  • Gate per-message visibility/access in the chat excerpt (via canonical resolvers)
  • Make the curated-context exposure gate fail closed
  • Strip governance fields on the semantic VIEWER path
  • Bound footprinter_read output to the MCP payload ceiling
  • Byte-budget the footprinter_read bound for multibyte content
  • Corroborate read-path truncation with size_bytes at the cap boundary
  • Trim build_excerpt to a word boundary on the over-budget path
  • Loop-guard the arch re-exec in smoke.sh, cli_verify.sh, and the release verify scripts

Other Changes

  • perf: bound the chat message-excerpt fetch (avoid N+1 + unbounded concat)
  • refactor: rename the MCP config "snippet" → "config block"
  • docs: document the MCP context contract in shipped docs
  • test: regression guards for governance fields, content_snippets persistence, and the arch re-exec loop guard