2026-04-26 - 2026-05-26

Overview

1 Active Pull Request
101 Active Issues
Excluding merges, 2 authors have pushed 148 commits to main and 149 commits to all branches. On main, 42 files have changed and there have been 17107 additions and 1362 deletions.

1 Release published by 1 user

Published v0.1.0 2026-05-24 22:22:19 +00:00

1 Pull request merged by 1 user

101 Issues closed from 1 user

Closed #101 context: proactive periodic summarization (not just on eviction) 2026-05-17 09:20:58 +00:00

Closed #102 memory: auto-summarize session into memory.jsonl on :q (cross-session distillation) 2026-05-17 09:18:03 +00:00

Closed #89 Cloud-preplanner → local-executor split (TASK: decomposition) 2026-05-17 08:21:27 +00:00

Closed #87 Context compression on route-to-local (truncate older turns + shell-output tails) 2026-05-17 07:50:09 +00:00

Closed #88 GBNF grammar-sampling passthrough for llama.cpp routes (enforce CMD: / YES/NO output) 2026-05-17 07:00:37 +00:00

Closed #86 Per-routing-class system_prompts (constrain small-model output) 2026-05-17 05:41:18 +00:00

Closed #100 TC #100 — Phase 9 AISH_TRUST_FILE env override works 2026-05-16 23:56:04 +00:00

Closed #98 TC #98 — Phase 9 :config show full masks sensitive keys recursively (R6) 2026-05-16 23:56:03 +00:00

Closed #99 TC #99 — Phase 9 dofile failure on .aish.lua skips overlay safely 2026-05-16 23:56:03 +00:00

Closed #97 TC #97 — Phase 9 sources map tags each key as user/project 2026-05-16 23:56:02 +00:00

Closed #95 TC #95 — Phase 9 -p mode skips trust prompt entirely (R2) 2026-05-16 23:56:01 +00:00

Closed #96 TC #96 — Phase 9 shallow merge replaces top-level blocks 2026-05-16 23:56:01 +00:00

Closed #93 TC #93 — Phase 9 trust prompt accepted persists, cached on next startup 2026-05-16 23:56:00 +00:00

Closed #94 TC #94 — Phase 9 sha256-mismatch re-prompts on content change 2026-05-16 23:56:00 +00:00

Closed #90 TC #90 — Phase 9 walk-up from nested cwd 2026-05-16 23:55:59 +00:00

Closed #91 TC #91 — Phase 9 walk-up R1 fix: HOME-prefix false positive 2026-05-16 23:55:59 +00:00

Closed #92 TC #92 — Phase 9 trust prompt declined skips overlay 2026-05-16 23:55:59 +00:00

Closed #85 TC #85 — Phase 8 per-turn _tokens cache amortizes estimate_tokens cost 2026-05-16 23:33:47 +00:00

Closed #83 TC #83 — Phase 8 :cost detail estimate row shows budget utilization 2026-05-16 23:33:46 +00:00

Closed #84 TC #84 — Phase 8 broker.token_count cache key is endpoint-only (R6) 2026-05-16 23:33:46 +00:00

Closed #82 TC #82 — Phase 8 R4 tokenize_fn closure follows :model switch 2026-05-16 23:33:45 +00:00

Closed #81 TC #81 — Phase 8 R2 enforce_budget guard against infinite loop 2026-05-16 23:33:44 +00:00

Closed #80 TC #80 — Phase 8 enforce_budget honors token_budget (pillar 5) 2026-05-16 23:33:35 +00:00

Closed #79 TC #79 — Phase 8 estimate_tokens char/4 path unchanged when no tokenize_fn 2026-05-16 23:33:33 +00:00

Closed #78 TC #78 — Phase 8 estimate_tokens uses tokenize_fn when set 2026-05-16 23:33:31 +00:00

Closed #77 TC #77 — Phase 8 broker.token_count falls back to char/4 on bad endpoint 2026-05-16 23:33:29 +00:00

Closed #76 TC #76 — Phase 8 broker.token_count returns real BPE count for local 2026-05-16 23:33:28 +00:00

Closed #74 TC #74 — Phase 7 R2 fallback retry credits FALLBACK model name (INTERACTIVE) 2026-05-16 23:04:35 +00:00

Closed #73 TC #73 — Phase 7 :cost detail 3-level deterministic sort 2026-05-16 23:04:18 +00:00

Closed #75 TC #75 — Phase 7 opts.include_usage = false suppresses stream_options 2026-05-16 23:04:18 +00:00

Closed #70 TC #70 — Phase 7 warn_at_tokens fires independently of warn_at_dollars 2026-05-16 23:04:17 +00:00

Closed #71 TC #71 — Phase 7 :cost reset zeros totals + warn flags 2026-05-16 23:04:17 +00:00

Closed #72 TC #72 — Phase 7 :reset preserves usage_totals + warn flags (R8 parity) 2026-05-16 23:04:17 +00:00

Closed #68 TC #68 — Phase 7 5 categories all populate accumulator 2026-05-16 23:04:16 +00:00

Closed #69 TC #69 — Phase 7 warn_at_dollars one-shot 2026-05-16 23:04:16 +00:00

Closed #65 TC #65 — Phase 7 broker.chat_stream emits usage kind on cloud 2026-05-16 23:04:15 +00:00

Closed #66 TC #66 — Phase 7 broker.chat returns (text, usage) tuple 2026-05-16 23:04:15 +00:00

Closed #67 TC #67 — Phase 7 R6 is_local sticky flag 2026-05-16 23:04:15 +00:00

Closed #52 Wire #13 secret redaction into safety.lua broker call sites 2026-05-16 22:40:32 +00:00

Closed #62 TC #62 — Phase 6 N1 SOL anchor — inline ``` does not open a fence 2026-05-16 22:37:58 +00:00

Closed #63 TC #63 — Phase 6 [project] block Norris-suppressed 2026-05-16 22:37:58 +00:00

Closed #61 TC #61 — Phase 6 fence-aware filter handles B2 split fences 2026-05-16 22:37:35 +00:00

Closed #60 TC #60 — Phase 6 :highlight toggle + status + install-hint 2026-05-16 22:29:56 +00:00

Closed #64 TC #64 — Phase 6 :reset preserves ctx.project and memory_items 2026-05-16 22:29:56 +00:00

Closed #58 TC #58 — Phase 6 :diff handles bad ref, empty diff, --cached 2026-05-16 22:29:55 +00:00

Closed #59 TC #59 — Phase 6 @<r1>..<r2> tiered resolution 2026-05-16 22:29:55 +00:00

Closed #55 TC #55 — Phase 6 :tree off clears project and opts 2026-05-16 22:29:54 +00:00

Closed #56 TC #56 — Phase 6 cfg.project.auto_tree startup hook 2026-05-16 22:29:54 +00:00

Closed #57 TC #57 — Phase 6 :diff working tree produces clean ANSI-free output 2026-05-16 22:29:54 +00:00

Closed #53 TC #53 — Phase 6 :tree no-arg scans cwd in a git repo 2026-05-16 22:29:53 +00:00

Closed #54 TC #54 — Phase 6 :tree N caches opts; :tree refresh reuses them 2026-05-16 22:29:53 +00:00

Closed #13 Secret redaction: scrub credentials before broker, rehydrate in reply 2026-05-16 21:39:25 +00:00

Closed #6 Sub-broker delegation (cheaper-model side calls) 2026-05-16 21:29:11 +00:00

Closed #8 Background CMD with handle/poll: CMD&: and :bg-output <id> 2026-05-16 21:25:58 +00:00

Closed #11 In-session recurring prompts: :every <interval> "<prompt>" 2026-05-16 21:23:09 +00:00

Closed #9 Permission policy DSL (richer than confirm_cmd boolean) 2026-05-16 21:20:58 +00:00

Closed #2 User-defined skills (custom meta-commands) 2026-05-16 21:17:02 +00:00

Closed #3 Pre/post-CMD hooks (shell scripts around command execution) 2026-05-16 21:16:13 +00:00

Closed #10 Status line / prompt template customization 2026-05-16 21:14:45 +00:00

Closed #7 @filename mention expansion in input line 2026-05-16 21:10:56 +00:00

Closed #5 Plan mode: :plan toggle, no CMD: execution 2026-05-16 21:09:09 +00:00

Closed #14 Phase 2: re-render system_prompt on :model switch (depends on Q9) 2026-05-16 21:08:10 +00:00

Closed #23 boltzmann proxy: model field ignored — all requests routed to loaded fast model 2026-05-16 21:07:39 +00:00

Closed #4 Non-interactive mode: aish -p "<prompt>" and stdin pipe 2026-05-16 21:06:44 +00:00

Closed #32 validate tool names at tools_schema() against strictest provider regex 2026-05-16 21:06:44 +00:00

Closed #33 warn on auto_approve policy keys that match no registered tool 2026-05-16 21:06:44 +00:00

Closed #51 enforce_budget runs only post-loop in run_norris; mid-loop eviction never fires (PHASE3 spec gap) 2026-05-16 21:06:44 +00:00

Closed #15 test-case: streaming visibility — tokens arrive incrementally 2026-05-16 20:59:17 +00:00

Closed #38 test-case: Norris context budget — goal anchor survives eviction 2026-05-13 17:25:27 +00:00

Closed #37 test-case: GOAL: complete sentinel exits the loop 2026-05-13 12:56:33 +00:00

Closed #35 test-case: HALT proceed/skip/abort prompt 2026-05-13 12:56:32 +00:00

Closed #42 test-case: :memory summarize against a compliant model 2026-05-13 12:26:56 +00:00

Closed #39 test-case: \C-n inserts ':norris ' at the cursor 2026-05-13 12:26:55 +00:00

Closed #48 test-case: cloud fallback fires on local transport failure 2026-05-13 11:50:34 +00:00

Closed #49 test-case: summarize-on-evict produces a rolling [earlier summary] 2026-05-13 11:50:34 +00:00

Closed #50 test-case: no routing/no summarize config = Phase 4 behavior intact 2026-05-13 11:50:34 +00:00

Closed #45 test-case: no memory block in config = Phase 3 behavior intact 2026-05-13 11:50:33 +00:00

Closed #46 test-case: :route check classifies prompts correctly 2026-05-13 11:50:33 +00:00

Closed #47 test-case: routing actually swaps model for one request 2026-05-13 11:50:33 +00:00

Closed #41 test-case: :memory forget + clear 2026-05-13 11:50:32 +00:00

Closed #43 test-case: [background] suppressed in Norris mode 2026-05-13 11:50:32 +00:00

Closed #44 test-case: multi-process flock contention 2026-05-13 11:50:32 +00:00

Closed #36 test-case: :safety patterns and :safety check 2026-05-13 11:50:31 +00:00

Closed #40 test-case: :remember + restart persistence 2026-05-13 11:50:31 +00:00

Closed #34 test-case: no Norris block in config = Phase 2 behavior intact 2026-05-13 09:53:28 +00:00

Closed #25 test-case: max_tool_depth cap and orphan-tool_calls protection 2026-05-12 20:37:29 +00:00

Closed #31 test-case: CMD: extraction still works alongside MCP (substrate invariant) 2026-05-12 20:28:15 +00:00

Closed #30 test-case: declined tool call preserves alternation 2026-05-12 20:24:53 +00:00

Closed #26 test-case: tool-call sub-loop end-to-end 2026-05-12 19:52:25 +00:00

Closed #28 test-case: :mcp connect / :mcp disconnect at runtime 2026-05-12 18:56:31 +00:00

Closed #29 test-case: :mcp tools and :mcp tool <alias.name> 2026-05-12 18:56:31 +00:00

Closed #27 test-case: MCP startup connect + :mcp list 2026-05-12 18:56:30 +00:00

Closed #24 test-case: no MCP block = Phase 1 behavior (regression) 2026-05-12 18:34:34 +00:00

Closed #22 test-case: CMD: extraction + confirm gate (yes and no answers) 2026-05-12 08:49:24 +00:00

Closed #21 test-case: :resume refuses to clobber an active conversation 2026-05-12 08:26:07 +00:00

Closed #20 test-case: session log save + resume round-trip 2026-05-12 08:18:01 +00:00

Closed #19 test-case: \C-n reserved key fires status message 2026-05-11 19:38:09 +00:00

Closed #18 test-case: htop renders and exits via single key 2026-05-11 19:37:04 +00:00

Closed #17 test-case: less paginates inside aish 2026-05-11 19:36:23 +00:00

Closed #16 test-case: vim works inside aish (interactive PTY) 2026-05-11 19:35:19 +00:00

Closed #12 Use hossenfelder as the canonical broker endpoint 2026-05-10 18:06:08 +00:00

101 Issues created by 0 users

Opened #2 User-defined skills (custom meta-commands) 2026-05-10 10:56:09 +00:00

Opened #3 Pre/post-CMD hooks (shell scripts around command execution) 2026-05-10 10:56:10 +00:00

Opened #4 Non-interactive mode: aish -p "<prompt>" and stdin pipe 2026-05-10 10:56:10 +00:00

Opened #5 Plan mode: :plan toggle, no CMD: execution 2026-05-10 10:56:10 +00:00

Opened #6 Sub-broker delegation (cheaper-model side calls) 2026-05-10 10:56:10 +00:00

Opened #7 @filename mention expansion in input line 2026-05-10 10:56:10 +00:00

Opened #8 Background CMD with handle/poll: CMD&: and :bg-output <id> 2026-05-10 10:56:10 +00:00

Opened #9 Permission policy DSL (richer than confirm_cmd boolean) 2026-05-10 10:56:10 +00:00

Opened #10 Status line / prompt template customization 2026-05-10 10:56:11 +00:00

Opened #11 In-session recurring prompts: :every <interval> "<prompt>" 2026-05-10 10:56:11 +00:00

Opened #12 Use hossenfelder as the canonical broker endpoint 2026-05-10 11:23:05 +00:00

Opened #13 Secret redaction: scrub credentials before broker, rehydrate in reply 2026-05-10 11:57:21 +00:00

Opened #14 Phase 2: re-render system_prompt on :model switch (depends on Q9) 2026-05-10 17:44:49 +00:00

Opened #15 test-case: streaming visibility — tokens arrive incrementally 2026-05-10 21:37:59 +00:00

Opened #16 test-case: vim works inside aish (interactive PTY) 2026-05-10 21:37:59 +00:00

Opened #17 test-case: less paginates inside aish 2026-05-10 21:37:59 +00:00

Opened #18 test-case: htop renders and exits via single key 2026-05-10 21:38:00 +00:00

Opened #19 test-case: \C-n reserved key fires status message 2026-05-10 21:38:00 +00:00

Opened #20 test-case: session log save + resume round-trip 2026-05-10 21:38:00 +00:00

Opened #21 test-case: :resume refuses to clobber an active conversation 2026-05-10 21:38:00 +00:00

Opened #22 test-case: CMD: extraction + confirm gate (yes and no answers) 2026-05-10 21:38:01 +00:00

Opened #23 boltzmann proxy: model field ignored — all requests routed to loaded fast model 2026-05-12 12:55:48 +00:00

Opened #24 test-case: no MCP block = Phase 1 behavior (regression) 2026-05-12 15:50:32 +00:00

Opened #25 test-case: max_tool_depth cap and orphan-tool_calls protection 2026-05-12 15:50:32 +00:00

Opened #26 test-case: tool-call sub-loop end-to-end 2026-05-12 15:50:33 +00:00

Opened #27 test-case: MCP startup connect + :mcp list 2026-05-12 15:50:33 +00:00

Opened #28 test-case: :mcp connect / :mcp disconnect at runtime 2026-05-12 15:50:33 +00:00

Opened #29 test-case: :mcp tools and :mcp tool <alias.name> 2026-05-12 15:50:33 +00:00

Opened #30 test-case: declined tool call preserves alternation 2026-05-12 15:50:33 +00:00

Opened #31 test-case: CMD: extraction still works alongside MCP (substrate invariant) 2026-05-12 15:50:33 +00:00

Opened #32 validate tool names at tools_schema() against strictest provider regex 2026-05-12 20:40:49 +00:00

Opened #33 warn on auto_approve policy keys that match no registered tool 2026-05-12 20:40:49 +00:00

Opened #34 test-case: no Norris block in config = Phase 2 behavior intact 2026-05-13 04:20:37 +00:00

Opened #35 test-case: HALT proceed/skip/abort prompt 2026-05-13 04:20:37 +00:00

Opened #36 test-case: :safety patterns and :safety check 2026-05-13 04:20:37 +00:00

Opened #37 test-case: GOAL: complete sentinel exits the loop 2026-05-13 04:20:37 +00:00

Opened #38 test-case: Norris context budget — goal anchor survives eviction 2026-05-13 04:20:37 +00:00

Opened #39 test-case: \C-n inserts ':norris ' at the cursor 2026-05-13 04:20:37 +00:00

Opened #40 test-case: :remember + restart persistence 2026-05-13 08:21:39 +00:00

Opened #41 test-case: :memory forget + clear 2026-05-13 08:21:39 +00:00

Opened #42 test-case: :memory summarize against a compliant model 2026-05-13 08:21:39 +00:00

Opened #43 test-case: [background] suppressed in Norris mode 2026-05-13 08:21:39 +00:00

Opened #44 test-case: multi-process flock contention 2026-05-13 08:21:40 +00:00

Opened #45 test-case: no memory block in config = Phase 3 behavior intact 2026-05-13 08:21:40 +00:00

Opened #46 test-case: :route check classifies prompts correctly 2026-05-13 11:36:28 +00:00

Opened #47 test-case: routing actually swaps model for one request 2026-05-13 11:36:28 +00:00

Opened #48 test-case: cloud fallback fires on local transport failure 2026-05-13 11:36:28 +00:00

Opened #49 test-case: summarize-on-evict produces a rolling [earlier summary] 2026-05-13 11:36:28 +00:00

Opened #50 test-case: no routing/no summarize config = Phase 4 behavior intact 2026-05-13 11:36:29 +00:00

Opened #51 enforce_budget runs only post-loop in run_norris; mid-loop eviction never fires (PHASE3 spec gap) 2026-05-13 17:25:26 +00:00

Opened #52 Wire #13 secret redaction into safety.lua broker call sites 2026-05-16 21:43:21 +00:00

Opened #53 TC #53 — Phase 6 :tree no-arg scans cwd in a git repo 2026-05-16 22:29:07 +00:00

Opened #54 TC #54 — Phase 6 :tree N caches opts; :tree refresh reuses them 2026-05-16 22:29:07 +00:00

Opened #55 TC #55 — Phase 6 :tree off clears project and opts 2026-05-16 22:29:07 +00:00

Opened #56 TC #56 — Phase 6 cfg.project.auto_tree startup hook 2026-05-16 22:29:07 +00:00

Opened #57 TC #57 — Phase 6 :diff working tree produces clean ANSI-free output 2026-05-16 22:29:08 +00:00

Opened #58 TC #58 — Phase 6 :diff handles bad ref, empty diff, --cached 2026-05-16 22:29:08 +00:00

Opened #59 TC #59 — Phase 6 @<r1>..<r2> tiered resolution 2026-05-16 22:29:08 +00:00

Opened #60 TC #60 — Phase 6 :highlight toggle + status + install-hint 2026-05-16 22:29:08 +00:00

Opened #61 TC #61 — Phase 6 fence-aware filter handles B2 split fences 2026-05-16 22:29:08 +00:00

Opened #62 TC #62 — Phase 6 N1 SOL anchor — inline ``` does not open a fence 2026-05-16 22:29:09 +00:00

Opened #63 TC #63 — Phase 6 [project] block Norris-suppressed 2026-05-16 22:29:09 +00:00

Opened #64 TC #64 — Phase 6 :reset preserves ctx.project and memory_items 2026-05-16 22:29:09 +00:00

Opened #65 TC #65 — Phase 7 broker.chat_stream emits usage kind on cloud 2026-05-16 23:03:27 +00:00

Opened #66 TC #66 — Phase 7 broker.chat returns (text, usage) tuple 2026-05-16 23:03:27 +00:00

Opened #67 TC #67 — Phase 7 R6 is_local sticky flag 2026-05-16 23:03:27 +00:00

Opened #68 TC #68 — Phase 7 5 categories all populate accumulator 2026-05-16 23:03:27 +00:00

Opened #69 TC #69 — Phase 7 warn_at_dollars one-shot 2026-05-16 23:03:27 +00:00

Opened #70 TC #70 — Phase 7 warn_at_tokens fires independently of warn_at_dollars 2026-05-16 23:03:27 +00:00

Opened #71 TC #71 — Phase 7 :cost reset zeros totals + warn flags 2026-05-16 23:03:28 +00:00

Opened #72 TC #72 — Phase 7 :reset preserves usage_totals + warn flags (R8 parity) 2026-05-16 23:03:28 +00:00

Opened #73 TC #73 — Phase 7 :cost detail 3-level deterministic sort 2026-05-16 23:03:28 +00:00

Opened #74 TC #74 — Phase 7 R2 fallback retry credits FALLBACK model name (INTERACTIVE) 2026-05-16 23:03:28 +00:00

Opened #75 TC #75 — Phase 7 opts.include_usage = false suppresses stream_options 2026-05-16 23:03:28 +00:00

Opened #76 TC #76 — Phase 8 broker.token_count returns real BPE count for local 2026-05-16 23:32:44 +00:00

Opened #77 TC #77 — Phase 8 broker.token_count falls back to char/4 on bad endpoint 2026-05-16 23:32:45 +00:00

Opened #78 TC #78 — Phase 8 estimate_tokens uses tokenize_fn when set 2026-05-16 23:32:46 +00:00

Opened #79 TC #79 — Phase 8 estimate_tokens char/4 path unchanged when no tokenize_fn 2026-05-16 23:32:46 +00:00

Opened #80 TC #80 — Phase 8 enforce_budget honors token_budget (pillar 5) 2026-05-16 23:32:47 +00:00

Opened #81 TC #81 — Phase 8 R2 enforce_budget guard against infinite loop 2026-05-16 23:32:48 +00:00

Opened #82 TC #82 — Phase 8 R4 tokenize_fn closure follows :model switch 2026-05-16 23:32:48 +00:00

Opened #83 TC #83 — Phase 8 :cost detail estimate row shows budget utilization 2026-05-16 23:32:49 +00:00

Opened #84 TC #84 — Phase 8 broker.token_count cache key is endpoint-only (R6) 2026-05-16 23:32:50 +00:00

Opened #85 TC #85 — Phase 8 per-turn _tokens cache amortizes estimate_tokens cost 2026-05-16 23:32:51 +00:00

Opened #86 Per-routing-class system_prompts (constrain small-model output) 2026-05-16 23:49:58 +00:00

Opened #87 Context compression on route-to-local (truncate older turns + shell-output tails) 2026-05-16 23:49:58 +00:00

Opened #88 GBNF grammar-sampling passthrough for llama.cpp routes (enforce CMD: / YES/NO output) 2026-05-16 23:49:59 +00:00

Opened #89 Cloud-preplanner → local-executor split (TASK: decomposition) 2026-05-16 23:49:59 +00:00

Opened #90 TC #90 — Phase 9 walk-up from nested cwd 2026-05-16 23:55:09 +00:00

Opened #91 TC #91 — Phase 9 walk-up R1 fix: HOME-prefix false positive 2026-05-16 23:55:09 +00:00

Opened #92 TC #92 — Phase 9 trust prompt declined skips overlay 2026-05-16 23:55:09 +00:00

Opened #93 TC #93 — Phase 9 trust prompt accepted persists, cached on next startup 2026-05-16 23:55:09 +00:00

Opened #94 TC #94 — Phase 9 sha256-mismatch re-prompts on content change 2026-05-16 23:55:10 +00:00

Opened #95 TC #95 — Phase 9 -p mode skips trust prompt entirely (R2) 2026-05-16 23:55:10 +00:00

Opened #96 TC #96 — Phase 9 shallow merge replaces top-level blocks 2026-05-16 23:55:11 +00:00

Opened #97 TC #97 — Phase 9 sources map tags each key as user/project 2026-05-16 23:55:11 +00:00

Opened #98 TC #98 — Phase 9 :config show full masks sensitive keys recursively (R6) 2026-05-16 23:55:11 +00:00

Opened #99 TC #99 — Phase 9 dofile failure on .aish.lua skips overlay safely 2026-05-16 23:55:12 +00:00

Opened #100 TC #100 — Phase 9 AISH_TRUST_FILE env override works 2026-05-16 23:55:12 +00:00

Opened #101 context: proactive periodic summarization (not just on eviction) 2026-05-17 09:15:32 +00:00

Opened #102 memory: auto-summarize session into memory.jsonl on :q (cross-session distillation) 2026-05-17 09:15:39 +00:00