- Go workspace (go.work) with the core module under src/core.
- core/btes: ASCII byte LUT (Attr, Attrs, ASCIIAttrs) for O(1) classification
and case conversion used by the rest of core.
- core/opts: generic functional-options pattern (Option/TryOption +
Options/TryOptions collections).
- core/errs: hierarchical error codes (module::a.b.c), Module registry,
Code-as-error with strict validation. Error decorators (withCause,
withMessage, withDate, withSeverity, withStatus, withStack, withMetas,
withInfo, withObserved, withOrigin, withRetry, withUser) that all
preserve identity through Unwrap and emit metadata via Collectable.
Cause is a separate plane from Unwrap (Causer interface, singular).
MultipleError represents flat sibling errors via Unwrap() []error.
Tree subsystem (Tree, TreeNode, TreeWriter, CTreeWriter) for rendering
error chains. Stack capture as plain []uintptr (no sync.Once).
Format subsystem (Formatter, FormatOptions, FormatterFlags) wired but
body stubbed; will delegate to tree per design.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>