6.7 KiB
6.7 KiB
Passepartout Changelog
- v0.6.0 — Time Awareness
- v0.5.1 — Compilation Hardening
- v0.5.0 — File Reorganization & Token Economics
- v0.4.3 — Shell Sandboxing & Safety Classification
- v0.4.2 — Structured Output (LLM → JSON → plist)
- v0.4.1 — Design Cleanup
- v0.4.0 — Production Hardening
All notable changes to Passepartout, extracted from ROADMAP.org DONE items with LOGBOOK timestamps.
v0.6.0 — Time Awareness
- Released [2026-05-08 Thu]
Temporal Memory Filtering (symbolic-time-memory skill)
memory-objects-since(timestamp)— hash-table walk returning objects withversion >= timestampmemory-objects-in-range(since until)— version between two timestamps (inclusive)context-query-with-time— extended query with:since/:untilparameters- 6 tests, 100% pass. Pure Lisp, sub-millisecond, 0 LLM tokens
Sensor-Time Skill
format-time-for-llm— TIME: section for system prompt, iso/natural formatsession-duration— session start tracking, included in TIME sectionsensor-time-tick— deadline scanning via cron (:reflextier), 0 LLM tokensTIME_AWARENESS/TIME_FORMAT/DEADLINE_WARNING_MINUTESenv vars- 13 tests, 100% pass
System Prompt
- TIME section injected at top of
think()viafboundpguard incore-reason.lisp - Falls back gracefully when sensor-time skill not loaded
v0.5.1 — Compilation Hardening
- Released [2026-05-08 Thu]
- Fixed
defvarmissing opening paren insecurity-vault.lisp - Updated 19 CFFI struct references in
embedding-native.lisp(deprecation fix) - Fixed heartbeat variable scope in
symbolic-events.lisp(passepartout::prefix) - Suppressed ~100 harmless cross-skill STYLE-WARNINGs via bash script filter
- ROADMAP: two false errors documented (
symbolic-memorylambda,gateway-messagingdeleted) - Test suite: 116/116 (100%)
v0.5.0 — File Reorganization & Token Economics
- Released [2026-05-08 Thu]
File Reorganization (self-repair criterion)
- Extracted
core-context→symbolic-awareness(skill, hot-reloadable) - Extracted heartbeat generation →
symbolic-events(skill) - Relocated 6 utility fragments to correct files
- Renamed 6 core files (core-defpackage → core-package, core-communication → core-transport, core-loop → core-pipeline, core-loop-perceive → core-perceive, core-loop-reason → core-reason, core-loop-act → core-act)
- Renamed 13 system-* files (system-config → symbolic-config, system-model-provider → neuro-provider, system-actuator-shell → channel-shell, etc.)
- Deleted
system-model.lisp(dead code) - Renamed 4 gateway-* files → channel-*
- Split
gateway-messaging.lisp(411 lines) → 4 channel-{telegram,signal,discord,slack} files - Deleted
gateway-messaging.org/.lisp, renamed 13defskill~/~defpackagenames to match - Renamed
gateway-cli-input→channel-cli-input(function + exports) - Removed
core-contextfilter fromcore-skills.lisp - Documented the self-repair criterion in ARCHITECTURE.org, DESIGN_DECISIONS.org, and AGENTS.md
- Added hard rule in AGENTS.md: no core additions without permission
Token Economics (skills, not core)
org/tokenizer.org→lisp/tokenizer.lisp:count-tokens,model-token-ratio,token-cost,provider-token-cost— char-ratio heuristic per model family with per-provider pricing (11 tests)org/cost-tracker.org→lisp/cost-tracker.lisp:cost-track-call,cost-session-total,cost-by-provider,cost-format-budget-status— per-call cost logged asCOST TRACKER: DEEPSEEK call: 0.0002 USD(6 tests)org/token-economics.org→lisp/token-economics.lisp:prompt-prefix-cached(sxhash-based IDENTITY+TOOLS caching),context-assemble-cached(skip heartbeat/delegation, cache on unchanged foveal/scope/memory),enforce-token-budget(L1→L2→L3 progressive trimming, CONTEXT_MAX_TOKENS env var) (9 tests)- All three loaded as skills via
skill-initialize-all,fboundp-guarded inthink() - Full test suite: 116/116 (100%)
Bug Fixes
- Fixed DeepSeek 400 error: removed malformed
toolsparameter from cascade requests - Fixed
UNDEFINED-FUNCTIONcrash inthink()whensymbolic-awarenessskill not loaded (fboundpguards) - Fixed gate-trace duplication in TUI responses (
setfreplaceslist*incognitive-verify) - Tightened dexador
connect-timeoutfrom 10s → 5s for faster cascade failover
v0.4.3 — Shell Sandboxing & Safety Classification
- Released [2026-05-07 Thu]
- Added
bwrapsandbox to shell actuator (--unshare-net,--unshare-ipc, read-only system bindings) - Fallback to regex-only safety when
bwrapunavailable - Shell safety severity classification:
:catastrophic→:dangerous→:moderate→:harmless :catastrophicalways HITL regardless of approval count;:harmlessallowed by default- Severity tier feeds into rule learning engine (v0.7.2)
v0.4.2 — Structured Output (LLM → JSON → plist)
- Released [2026-05-07 Thu]
- Function-calling / tool-use API in
provider-openai-request - LLM returns guaranteed-valid JSON → deterministic
json-alist-to-plistconversion at boundary think()wired to use structured tool calls from the LLM- Raw
read-from-stringplist parsing kept as fallback for streaming/local models
v0.4.1 — Design Cleanup
- Released [2026-05-07 Thu]
- Removed
system-prompt-augmentmechanism from skill struct anddefskill - Introduced
*standing-mandates*(list of function → string generators) as replacement - Fixed false token-overhead claims in DESIGN_DECISIONS and ROADMAP (3,000-8,000 → ~40)
- Updated security vector count 9→10 in README, ARCHITECTURE.org, dispatcher docstring
- Rewrote README: added "What is an agent?" section, moved cost claims to DESIGN_DECISIONS
- Registered 10 cognitive tools (
search-files,find-files,read-file,write-file,list-directory,run-shell,eval-form,run-tests,org-find-headline,org-modify-file) - Enforced NO-HARDCODED-CONSTANTS standard with
.env.exampleentries
v0.4.0 — Production Hardening
- Released [2026-05-06 Wed 20:56]
- Activated semantic retrieval: wired
:foveal-vectorinto context assembly; replaced SHA-256 hashing default with trigram Jaccard similarity for offline semantic retrieval - Self-build safety boundary:
core-*path protection;SELF_BUILD_MODEenv var; HITL Flight Plan for core modifications - TUI differentiator visualization: gate trace per action (pass/block/approval), focus map in status bar, rule counter
- Expanded theme system: 25-color layered system,
/theme <name>command (dark/light/solarized/gruvbox) - Gateway QA: Telegram + Signal integration tests; Discord + Slack gateways
- Emacs bridge:
passepartout.elover framed TCP protocol,M-x passepartout-send-region,M-x passepartout-focus - Native embedding inference: CFFI binding to llama.cpp, nomic-embed-text-v1.5 (768-dim),
EMBEDDING_PROVIDER=native