diff --git a/.planning/notes/2026-10-21-console-charm-stack.md b/.planning/notes/2026-10-21-console-charm-stack.md index 6a9f8a48..10d00268 100644 --- a/.planning/notes/2026-10-21-console-charm-stack.md +++ b/.planning/notes/2026-10-21-console-charm-stack.md @@ -42,3 +42,7 @@ The console layer (`modules/bonfire`) and the new logging module (`modules/diary - Removing the stack later means rewriting bonfire's widgets and diary's console handler; D-01 and D-02 are rated costly for that reason. - Plugins never import charm modules directly, so a later change of styling library touches only `modules/bonfire` and `modules/diary`. - A check in the plan's acceptance criteria (`go list` over every package's imports) keeps the import boundary honest. + +## Addendum 2026-10-28: fang removed + +`charm.land/fang/v2` was removed in quick 261028-rqd (console review finding IN-06). `fang.Execute` installs its own help function on the root just before `root.ExecuteContext`, so after `bonfire.Execute` the root's help function was no longer bonfire's list renderer, and cobra offers no per-root hook in between to restore it. bonfire had already switched off every fang feature except the error handler, so `bonfire.Execute` now runs `root.ExecuteContext` itself and renders errors with `RenderError` on the root's error stream. The only other thing fang did, enabling VT processing on Windows consoles, is done through `lipgloss.EnableLegacyWindowsANSI` on the output and error streams when they are files (a no-op off Windows). `go mod tidy` dropped fang and its exclusive transitive modules (mango, mango-cobra, mango-pflag, roff, x/exp/charmtone); no module was added. The list, help and error output stayed byte-identical (the goldens pass unchanged). The stack is now five charm modules plus colorprofile. diff --git a/.planning/research/STACK.md b/.planning/research/STACK.md index f9ff963d..c99bb913 100644 --- a/.planning/research/STACK.md +++ b/.planning/research/STACK.md @@ -52,7 +52,7 @@ This extends `.planning/research/go-ecosystem.md` (2026-09-16 GitHub-API-verifie | `charm.land/bubbletea/v2` | v2.1.0 | Runtime for the live spinner, process and progress views | Decided in .planning/notes/2026-10-21-console-charm-stack.md (Phase 19.8 D-02); imported only by modules/bonfire and modules/diary | | `charm.land/bubbles/v2` | v2.2.1 | Spinner and progress components | Decided in .planning/notes/2026-10-21-console-charm-stack.md (Phase 19.8 D-02); imported only by modules/bonfire and modules/diary | | `charm.land/huh/v2` | v2.0.3 | Interactive prompts on a terminal | Decided in .planning/notes/2026-10-21-console-charm-stack.md (Phase 19.8 D-02); imported only by modules/bonfire and modules/diary | -| `charm.land/fang/v2` | v2.0.1 | Cobra error rendering hook (used narrowly) | Decided in .planning/notes/2026-10-21-console-charm-stack.md (Phase 19.8 D-02); imported only by modules/bonfire and modules/diary | +| ~~`charm.land/fang/v2`~~ | ~~v2.0.1~~ | **Removed** (quick 261028-rqd, IN-06): was the cobra error rendering hook | Decided in .planning/notes/2026-10-21-console-charm-stack.md (Phase 19.8 D-02); was imported only by modules/bonfire. `bonfire.Execute` now runs the root itself and enables Windows VT processing through `lipgloss.EnableLegacyWindowsANSI` (see the note's 2026-10-28 addendum) | | `github.com/charmbracelet/colorprofile` | v0.4.3 | Color profile detection and downsampling writer (`--ansi`, `--no-ansi`, `NO_COLOR`) | Decided in .planning/notes/2026-10-21-console-charm-stack.md (Phase 19.8 D-02); imported only by modules/bonfire and modules/diary | | `github.com/modelcontextprotocol/go-sdk` (packages `mcp`, `auth`, `oauthex`, `jsonrpc`) | v1.8.0 | MCP server, sessions, streamable HTTP transport, bearer middleware, RFC 9728 metadata, test client for the `pier` module | Decided in .planning/notes/2026-10-22-mcp-go-sdk.md (Phase 19.7 D-24, D-33); imported only by modules/pier and the tagged modules/surf/pier_on.go, linked only with the `summercms_mcp` build tag | | `github.com/google/jsonschema-go` (package `jsonschema`) | v0.4.3 | Reflects MCP tool input and output schemas from Go structs and validates call arguments | Decided in .planning/notes/2026-10-22-mcp-go-sdk.md (Phase 19.7 D-24); the schema library the SDK itself uses; imported only by modules/pier |