retoor and Claude Sonnet 5.5
96ca726c5b
merge: worktree-agent-ad68a64045d79e2de (shell, util)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 06:44:20 +01:00
retoor and Claude Sonnet 5.5
2115023fcd
merge: worktree-agent-a9b6872a3dc1e40d0
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 06:44:09 +01:00
retoor and Claude Sonnet 5.5
caba117750
taicpp foundation: real tmux ask, SIGINT and terminate-hook tests
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 05:03:39 +01:00
retoor and Claude Sonnet 5.5
ed2bfade80
taicpp: port shell, sandbox, pty, glow, markdown, diff and speech helpers from tai.py
...
Differentially verified against tai.py (4890 cases incl. real pty runs).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 05:02:18 +01:00
retoor and Claude Sonnet 5.5
4583265122
taicpp foundation: vault, settings, debug log, sessions keyed by shell/pane, REPL, plexer
...
Full port of the Store (17 tables, FTS5, per-profile slices, sessions, turn state,
bots, settings, MCP registry), DebugLog, SETTINGS_CATALOG and boot_settings,
ShellSession (as ShellContext), Conversation persistence, Repl/Boot, and the
PlexerController family with FlowValidator/PlexerFlow. Verified by replaying 643
operations through tai.py and the C++ code (results, tables, FTS, schema, files
identical) and by restarting the REPL under per-pane shells and checking the vault.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 02:02:31 +02:00
retoor and Claude Sonnet 5.5
01bd396a12
cli: argparse-style errors and choices; add parity ledger generator
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 01:09:03 +02:00
retoor
e184f68292
parity: tai-prefixed --version, real molo tenancy, reproducible static via third_party
2026-10-24 07:37:20 +02:00
retoor
f9c63c5fef
true static binary: openssl-only curl + jitterentropy + zstd; file=statically linked, --version OK
2026-10-24 07:28:05 +02:00
retoor
e4f5a9e385
chore: ignore vendored debs
2026-10-24 07:27:06 +02:00
retoor
4ccd269354
e2e: LLM ChatClient via HttpPost + 61 tools RegisterAll exec OK; static openssl-only route
2026-10-24 07:27:00 +02:00
retoor
10a8f38720
hybrid static target: sqlite static, curl dyn (full-static blocked: gnutls/jitter entropy, no root)
2026-10-24 07:18:49 +02:00
retoor
7a280bb5f9
static: best-effort 'make static' target (blocked: no .a for nghttp2/ssh2/psl); docs
2026-10-24 07:12:22 +02:00
retoor
be7c9a2283
parity: all 45 argparse flags wired + PARITY.md matrix; clean rebuild fixes help segfault
2026-10-24 07:11:56 +02:00
retoor
d298b77a0a
e2e: main->RunTurn->RegisterAll executors; gated dispatch
2026-10-24 07:08:50 +02:00
retoor
a9bcb7cb16
parity: full 61-tool catalog + select_tools, tag/secret helpers
2026-10-24 07:05:42 +02:00
retoor
fc8ae44d96
Native detz entry + libcurl HTTP/SSE client; drop python execvp shim
2026-10-24 07:02:48 +02:00
retoor
8090638119
detz: M3 store
2026-10-24 06:45:50 +02:00
retoor
96d57385a7
detz: M6-M9 remaining
2026-10-24 06:45:18 +02:00
retoor
318b57c48c
detz: release v0.1.2
detz-v0.1.2
2026-10-24 06:45:18 +02:00
retoor
d2244b00f0
detz: M2 util+config
2026-10-24 06:45:18 +02:00
retoor
ac4df725ef
detz: release v0.1.1
2026-10-24 06:43:45 +02:00
retoor
a245e0de93
detz: M4 shell + M5 llm
2026-10-24 06:42:23 +02:00
retoor
fb9245288c
detz: M1 CLI parity
2026-10-24 06:41:22 +02:00
retoor
43d30a47a9
detz: ignore build outputs
2026-10-24 06:40:16 +02:00
retoor
89918cbf0e
detz: M0 scaffold
2026-10-24 06:40:09 +02:00
retoor
fc436aeb24
v1.44.2: document the per-completion tool census in README
v1.44.2
2026-10-18 22:15:55 +02:00
retoor
bbb35c21cd
v1.44.1: log per-completion tool census (sent, mcp, core, lazy, names)
v1.44.1
2026-10-18 22:13:56 +02:00
retoor
67d4806d82
v1.44.0: extensive debug logging behind --debug
...
- Rules first in logging.md: R1-R12 plus a 27-event registry, every
site validated against the source before implementation.
- DebugLog: file/stdout/stderr sinks, sentence/json formats,
wipe-on-first-write for roots, append for TAI_CHILD, per-row
commit, prune to 20000 rows, never raises.
- Vault logs table with six indexes plus FTS triggers, sealed at
rest, read back through Store.log_query.
- Hooks: turns, completions (backend, model, ms, tokens, texts),
tool dispatch, approvals, vault mutations, scheduler, serve,
CAP turns, telegram updates, uncaught exceptions.
- Secrets never logged: redact plus LOG_MASKED_ARGS.
- 13 new tests (1222 + 16 green).
v1.44.0
2026-10-18 21:53:03 +02:00
retoor
609e5d8e91
v1.43.1: sync README (tool counts, MCP resolver plus OAuth, research stats)
v1.43.1
2026-10-18 21:14:13 +02:00
retoor
58786386cf
v1.43.0: automatic MCP GitHub resolver agent plus stdlib-only OAuth login
...
- mcp_resolve_agent: bounded fork subagent fallback when the
deterministic GitHub pass finds no run contract (MCP_RESOLVER_*).
- McpOAuth/McpOAuthCallback: discovery, DCR, PKCE loopback, token
exchange, sealed per-profile token storage, one-shot refresh.
- McpHttpError carries status plus WWW-Authenticate through the
client; bridge retries once after refresh, else names mcp_login.
- mcp_add stores 401-gated servers disabled; mcp_login approves,
verifies, enables; mcp_remove drops tokens.
- Docs, conclusions, 17 new tests (1209 + 16 green).
v1.43.0
2026-10-18 20:38:52 +02:00
retoor
66ed0f9ea6
MCP both directions: client bridge plus --serve-mcp (1.42.0)
...
- client: stdio + Streamable HTTP transports, 2025-11-25
handshake/list/call/ping, vault mcp_servers with sealed headers,
per-profile enable, description-hash pins, tool cache
- mcp_normalize: pasted JSON/TOML configs (type repair, ${VAR}
expansion from env then vault secrets, allow/deny lists);
github URLs resolve via registry/package/README with live
handshake verification before storing
- bridge: enabled tools enter lazy select_tools as
mcp_<server>_<tool>, dispatch fallback, approval like non-safe
shell, drift re-prompt, 64KB spill, per-call audit
- 7 agent tools: mcp_add/list/enable/disable/remove/tools/call
(native count 42->60 in README, was already stale at 53)
- server: --serve-mcp KEY (+ --mcp-port/--mcp-bind) serves all 60
native tools plus chat (agent turn, per-session history) and
completions (stateless, current model) over single-threaded
HTTP with Bearer auth, sessions, idle expiry; yolo documented
- rotation + plaintext-boot refusal cover sealed headers
- mcp.md contract with drift tests; 47 new tests; live loopback
verified (client->serve over real HTTP)
v1.42.0
2026-10-18 19:46:55 +02:00
retoor
251c3dc2ba
research: mcp-client-support subject (106 sources, 3 conclusions)
...
- wire spec: lifecycle, stdio + Streamable HTTP transports, tools,
utilities, legacy SSE, versioning, changelog (14 Tier 1)
- client ecosystem: Claude Code/VS Code/Cursor/Codex configs,
mcp-remote, Smithery, registries, Glama (12 Tier 1)
- security/ops: authorization draft, trust model, poisoning,
rug pulls, production hardening (12 Tier 1) + 68 Tier 2 cards
- conclusions: minimal stdlib client on 2025-11-25, normalizer +
resolver agent for pasted configs/GitHub URLs, untrusted-until-
consent trust model; nothing built yet
- audit PASS (14 subjects, 797 sources, 32 conclusions)
2026-10-18 19:23:02 +02:00
retoor
fa4e638a5c
Vault-backed settings catalog with three-function API (1.41.0)
...
- SETTINGS_CATALOG: 28 env-mapped settings with type, default,
required/nullable, strict options, preferred (reserved), encrypted
flags, per-key bool word sets; routing split into
CONFIG_SETTING_FIELDS (Config build) and SETTING_EXPORT_KEYS
- Store.get_or_create_settings / get_all_settings /
upsert_settings: global+profile scopes, atomic strict validation,
canonical forms, created/updated timestamps, env/db/default source
reporting; encrypted values sealed at rest, rotation-aware,
plaintext-boot refusal covers the table
- boot_settings in boot() and default_runner: Config second pass
(env wins, CLI --no-opencode wins) plus env export for peripheral
and applied keys; applied keys printed at boot
- settings.md contract with full catalog and exclusion rationale;
16 SettingsTests incl. catalog self-check and doc drift guard
v1.41.0
2026-10-18 14:15:35 +02:00
retoor
789f5206c4
docs: skills.md contract for the skill system and bundled set
...
- discovery/frontmatter contract incl. the bare->/| subset limit
- bundled table with upstream provenance and adaptation rules
- install target semantics, sidecar shape, maintenance workflow
- wired in AGENTS.md, README layout; drift test in BundledSkillsTests
2026-10-18 13:51:44 +02:00
retoor
1d2e861c7c
Six bundled default skills with skills install target (1.40.0)
...
- BUNDLED_SKILLS embeds deep-research, seriousdevelopment, git, plan,
requirements-clarification, taste (21 files), adapted for tai:
load_skill, ask_user, fork/poll workers, web_fetch (never curl),
single-line descriptions, no em dashes; seriousdevelopment verbatim
- new skills install target (12th): install writes missing only,
upgrade refreshes pristine and loudly keeps user-modified files,
reinstall rebuilds tracked files keeping extras, uninstall removes
only unmodified content; sidecar records upstream provenance
- bare --install includes skills; run_install refreshes live skills
- README: Skills section bundled paragraph, twelve targets
v1.40.0
2026-10-18 13:47:07 +02:00
retoor
f97eb255ed
docs: AGENTS.md replaces fictional devops bot and profiles with the real model
2026-10-18 13:27:05 +02:00
retoor
88dba08236
docs: README research-driven development section with archive stats
2026-10-18 13:24:55 +02:00
retoor
5d2c9d478c
docs: README covers CAP, goal verification, caps, retrieval eval
...
- new CAP section (agent + orchestrator directions, drivers, gaps)
- one-shot exit codes, --continue, approval re-ask behavior
- sandbox resource caps, scheduler burst/lease/no-retry
- --eval-retrieval, CAP_SESSION_CONFIG, layout additions
2026-10-18 13:22:20 +02:00
retoor
cc1c130b51
CAP protocol both directions: agent speak plus orchestrator drivers (1.39.0)
...
- Agent side: --cap-manifest plus --cap-speak stream-json binding with
transcript-diff frames, diff/transcript artifacts, session config
- Orchestrator: PTY driver (settle heuristics on PtyProc/TuiVtScreen),
stream-json, ACP-stdio (permission/elicit/fs/terminal serving) and
A2A drivers (dual draft/current spelling, SSE mapping)
- Sessions, fleets: worktrees, master plans, mediated routing,
budget refusal, audit log, research auto-answerer, --cap CLI
- cap.md contract with drift tests; research/cap-protocol archive
- Suites 1119 + 16 green
v1.39.0
2026-10-18 13:17:35 +02:00
retoor
8c5e5bd16c
Restore tai.py executable bit dropped by the release bump rewrite
2026-10-18 12:13:34 +02:00
retoor
af080fe68e
Strict goal verification, approval hardening, retrieval eval, work limits, sandbox caps (1.38.0)
...
- Approval: re-prompt unknown answers (max 3), shell-only affirmative
guidance recovery; destructive actions stay strict
- GoalVerifier subagent with strict JSON verdicts, bounded follow-up
rounds, nonzero exit plus open turn on unverified one-shots
- Retrieval eval (Hit@K/MRR/nDCG/Context Precision), FTS cascade with
title weighting, query/read event logging, --eval-retrieval CLI
- Supervisor caps (8 parallel, 64 records) and scheduler hardening
(4 fires/tick, per-schedule lease, stated misfire policy)
- Sandbox box resource trio: 2g/2.0/256 at create, best-effort
update for existing boxes, rm -f recovery pointer
- Research archive: 12 subjects, 667 sources, 27 conclusions;
suites 979 + 16 green
v1.38.0
2026-10-18 12:13:24 +02:00
retoor
fb72ab8a7f
Update
2026-10-18 02:00:53 +02:00
retoor and Claude Sonnet 5.5
bdb732e918
Agents can drive the running grr TUI: a private unix control socket in --tui and six tui_* tools (screen, keys, type, click, goto, result) whose calls can be async jobs; documented in grrtui.md, 9 tests
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-17 20:00:47 +02:00
retoor and Claude Sonnet 5.5
ad8c241e6e
Commit everything on disk: capability text, codex and gemini sandbox switches, test updates, examples/ and mplex.py
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-17 19:54:12 +02:00
retoor and Claude Sonnet 5.5
560ab4cb4d
grr TUI: message cards coerce odd server values (None, numbers, lists) instead of raising; a seeded 400-message fuzz of every card kind at three widths is part of the suite
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
v1.37.0
2026-10-17 19:52:04 +02:00
retoor and Claude Sonnet 5.5
690264013c
tai.py --tui is the grr app in the terminal: a stdlib client of the grr server with every screen (drawer, bots, profile, chat with approvals, questions, files and live process cards, automations, library, projects, search, the whole settings tree, bot computer terminal, side pane), the grr palette, strings and caps read from the server; old Telegram-style scene kept as --tui-local; spec in grrtui.md with drift tests, 77 unit tests, 4 integration tests through the real binary and a real model
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-17 19:48:30 +02:00
retoor and Claude Sonnet 5.5
0c2151ad08
Streaming tool calls tolerate argument fragments under a fresh index; empty or invalid tool arguments repaired in history (fixes HTTP 400 cascade)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
v1.36.1
2026-10-13 01:24:24 +02:00
retoor and Claude Sonnet 5.5
a103fa0611
Free model lists discovered live for zen, pollinations, openrouter, devplace; fallbacks refreshed; research archived
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 19:57:12 +02:00
retoor and Claude Sonnet 5.5
1298a4fe5d
Backend retries only transient failures, history cleaned of nameless tool calls, stale dir pins ignored, @molodetz routes to devplace/molodetz
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-12 19:51:47 +02:00
retoor and Claude Sonnet 5.5
07f3b36e32
Lazy TUI, remaining gaps closed: no heartbeat, DECLRMM margins, skip-clean layout, watched user state, terminal row reuse, geometry animation
...
The loop now sleeps until woken (no 1 s heartbeat); SIGCHLD and a drained pty writer wake it, the latter also fixes a busy writer callback. Partial layout no longer climbs the whole tree for all-auto panels: arrange() skips panels whose box is unchanged and that nothing under them asked about (a pending flag that survives hidden ancestors), measured() keeps measures until a touch drops them, and only really arranged panels are diffed; one leaf growing in a 301-panel all-auto tree costs 0.29 ms instead of 4.6 ms. A scroll offset written out of range arranges that panel for its clamp. TuiWatched is the base for state objects (TuiStyle and TuiSpan are ones): a write to a public field touches every panel holding it, directly or through a watched list, dict or set. TuiTerminal keeps converted screen rows keyed by content (200x50 scroll-by-one frame 16.0 ms to 1.8 ms). The terminal scroll uses left/right margins (DECLRMM) when the startup DECRQM probe says the terminal has them, so the sidebar beside a transcript is not touched (3-line scroll at 80x24: 1354 B to 734 B in the emulator); TuiVtScreen implements the margins and answers DECRQM. The scroll cost model counts runs and style switches the way diff_row writes them and its constants were swept over 1200 recorded frames. animate() of x, y, w, h now starts from the drawn place and writes whole cells.
Not verified on a real terminal: the margin path (tmux has no DECLRMM). Remaining gaps are listed in tui.md.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
v1.36.0
2026-10-12 19:42:47 +02:00