📚 Package Specification Audit Report
Date: 2026-04-14
Total Packages: 20
Packages with Specs: 20
Coverage: 100%
Coverage Summary
| Status |
Package |
Notes |
| ✅ |
agentdrain |
Complete — all exported symbols documented |
| ⚠️ |
console |
21 undocumented exported functions |
| ✅ |
constants |
Complete — GetEngineOption, GetAllEngineSecretNames documented |
| ✅ |
envutil |
Complete |
| ✅ |
fileutil |
Complete — includes ExtractFileFromTar |
| ✅ |
gitutil |
Complete — includes ReadFileFromHEADWithRoot |
| ✅ |
logger |
Complete — includes slog integration |
| ✅ |
parser |
Complete |
| ✅ |
repoutil |
Complete |
| ✅ |
semverutil |
Complete — includes IsCompatible |
| ✅ |
sliceutil |
Complete |
| ✅ |
stringutil |
Complete — StripANSI correctly documented |
| ✅ |
styles |
Complete |
| ✅ |
testutil |
Complete — includes CaptureStderr |
| ✅ |
timeutil |
Complete — all 3 FormatDuration* variants documented |
| ✅ |
tty |
Complete |
| ✅ |
types |
Complete |
| ✅ |
typeutil |
Complete — includes ParseBool |
| ✅ |
cli |
Complete |
| ✅ |
workflow |
Complete |
🚨 Missing API Documentation: console Package
pkg/console/README.md (554 lines) documents many of the package's APIs but omits 21 exported functions. These functions exist across multiple source files (render.go, terminal.go, verbose.go, layout*.go, input*.go, select*.go, list*.go, form*.go, console_wasm.go) and are part of the stable public API.
View all 21 undocumented exported functions
Terminal Utilities (terminal.go)
| Function |
Signature |
ClearScreen |
func ClearScreen() |
ClearLine |
func ClearLine() |
ShowWelcomeBanner |
func ShowWelcomeBanner(description string) |
Render Utilities (render.go)
| Function |
Signature |
FormatNumber |
func FormatNumber(n int) string |
FormatErrorWithSuggestions |
func FormatErrorWithSuggestions(message string, suggestions []string) string |
ToRelativePath |
func ToRelativePath(path string) string |
Message Formatting (missing from table in README)
These are defined in console_wasm.go and their non-WASM counterparts but do not appear in the Format* message table:
| Function |
Emoji prefix |
FormatCountMessage |
📊 |
FormatLocationMessage |
📁 |
FormatListHeader |
(plain) |
Layout Functions (layout.go / layout_wasm.go)
Fully absent from the README:
| Function |
Signature |
LayoutTitleBox |
func LayoutTitleBox(title string, width int) string |
LayoutInfoSection |
func LayoutInfoSection(label, value string) string |
LayoutEmphasisBox |
func LayoutEmphasisBox(content string, color any) string |
LayoutJoinVertical |
func LayoutJoinVertical(sections ...string) string |
Interactive Prompt Functions (input.go, select.go, form.go, list.go)
PromptSecretInput is documented but these are missing:
| Function |
Signature |
PromptInput |
func PromptInput(title, description, placeholder string) (string, error) |
PromptInputWithValidation |
func PromptInputWithValidation(title, description, placeholder string, validate func(string) error) (string, error) |
PromptSelect |
func PromptSelect(title, description string, options []SelectOption) (string, error) |
PromptMultiSelect |
func PromptMultiSelect(title, description string, options []SelectOption, limit int) ([]string, error) |
RunForm |
func RunForm(fields []FormField) error |
ShowInteractiveList |
func ShowInteractiveList(title string, items []ListItem) (string, error) |
Verbose Logging (verbose.go)
| Function |
Signature |
LogVerbose |
func LogVerbose(verbose bool, message string) |
Tree Rendering
| Function |
Signature |
RenderTree |
func RenderTree(root TreeNode) string |
Note: The TreeNode type is documented in the README's Types section but the RenderTree function that uses it is not.
🔄 Cross-Document Inconsistency
AGENTS.md references stringutil.StripANSIEscapeCodes() in the YAML File Editing section, but the actual function is named stringutil.StripANSI(). The stringutil package README correctly documents StripANSI. Any workflow or developer relying on AGENTS.md for the function name will encounter a compile error.
📊 Quality Scores
| Package |
Completeness |
Accuracy |
Consistency |
Overall |
console |
~58% |
95% |
85% |
⚠️ ~79% |
| All others |
~95%+ |
~95%+ |
~95%+ |
✅ 95%+ |
Action Items
📚 Next review scheduled for tomorrow. Close this issue once all items are resolved.
📚 Specification review by Package Specification Librarian · ● 2.7M · ◷
📚 Package Specification Audit Report
Date: 2026-04-14
Total Packages: 20
Packages with Specs: 20
Coverage: 100%
Coverage Summary
agentdrainconsoleconstantsGetEngineOption,GetAllEngineSecretNamesdocumentedenvutilfileutilExtractFileFromTargitutilReadFileFromHEADWithRootloggerparserrepoutilsemverutilIsCompatiblesliceutilstringutilStripANSIcorrectly documentedstylestestutilCaptureStderrtimeutilFormatDuration*variants documentedttytypestypeutilParseBoolcliworkflow🚨 Missing API Documentation:
consolePackagepkg/console/README.md(554 lines) documents many of the package's APIs but omits 21 exported functions. These functions exist across multiple source files (render.go,terminal.go,verbose.go,layout*.go,input*.go,select*.go,list*.go,form*.go,console_wasm.go) and are part of the stable public API.View all 21 undocumented exported functions
Terminal Utilities (
terminal.go)ClearScreenfunc ClearScreen()ClearLinefunc ClearLine()ShowWelcomeBannerfunc ShowWelcomeBanner(description string)Render Utilities (
render.go)FormatNumberfunc FormatNumber(n int) stringFormatErrorWithSuggestionsfunc FormatErrorWithSuggestions(message string, suggestions []string) stringToRelativePathfunc ToRelativePath(path string) stringMessage Formatting (missing from table in README)
These are defined in
console_wasm.goand their non-WASM counterparts but do not appear in theFormat*message table:FormatCountMessage📊FormatLocationMessage📁FormatListHeaderLayout Functions (
layout.go/layout_wasm.go)Fully absent from the README:
LayoutTitleBoxfunc LayoutTitleBox(title string, width int) stringLayoutInfoSectionfunc LayoutInfoSection(label, value string) stringLayoutEmphasisBoxfunc LayoutEmphasisBox(content string, color any) stringLayoutJoinVerticalfunc LayoutJoinVertical(sections ...string) stringInteractive Prompt Functions (
input.go,select.go,form.go,list.go)PromptSecretInputis documented but these are missing:PromptInputfunc PromptInput(title, description, placeholder string) (string, error)PromptInputWithValidationfunc PromptInputWithValidation(title, description, placeholder string, validate func(string) error) (string, error)PromptSelectfunc PromptSelect(title, description string, options []SelectOption) (string, error)PromptMultiSelectfunc PromptMultiSelect(title, description string, options []SelectOption, limit int) ([]string, error)RunFormfunc RunForm(fields []FormField) errorShowInteractiveListfunc ShowInteractiveList(title string, items []ListItem) (string, error)Verbose Logging (
verbose.go)LogVerbosefunc LogVerbose(verbose bool, message string)Tree Rendering
RenderTreefunc RenderTree(root TreeNode) string🔄 Cross-Document Inconsistency
AGENTS.mdreferencesstringutil.StripANSIEscapeCodes()in the YAML File Editing section, but the actual function is namedstringutil.StripANSI(). Thestringutilpackage README correctly documentsStripANSI. Any workflow or developer relying onAGENTS.mdfor the function name will encounter a compile error.📊 Quality Scores
consoleAction Items
pkg/console/README.mdfor the 21 undocumented functions above (re-run spec-extractor or add manually)AGENTS.md— replacestringutil.StripANSIEscapeCodes()with the correctstringutil.StripANSI()