| Age | Commit message (Expand) | Author |
| 2026-05-24 | fix(rpn): change variadic NewRPN/NewOperations to single optional MetricReade... | Paul Buetow |
| 2026-05-24 | fix(rpn): complete DIP for MetricRegistry — use MetricReader/MetricWriter i... | Paul Buetow |
| 2026-05-24 | fix(rpn): introduce MetricReader interface for testability (task 7k) | Paul Buetow |
| 2026-05-24 | fix(rpn): DIP violation — NewOperatorRegistry accepts OperatorProvider inte... | Paul Buetow |
| 2026-05-24 | rpn: decouple RPN from concrete *Operations type (task aj) | Paul Buetow |
| 2026-05-24 | refactor(rpn): split ArithmeticOperator into 3 interfaces (task 9j) | Paul Buetow |
| 2026-05-24 | fix(rpn): remove duplicate ConstantsProvider initialization (task 4j) | Paul Buetow |
| 2026-05-24 | rpn: remove combined Operator interface per ISP | Paul Buetow |
| 2026-05-23 | doc: fix misleading comment about constants provider in NewOperations | Paul Buetow |
| 2026-05-23 | refactor: share ConstantsProvider between RPN and Operations | Paul Buetow |
| 2026-05-23 | refactor: split operations.go into focused files (Separation of Concerns) | Paul Buetow |
| 2026-05-23 | refactor: reduce GetMetricRegistry() global singleton usage (DIP) | Paul Buetow |
| 2026-05-22 | refactor(rpn): split StringNum/Symbol out of Number interface (LSP fix) | Paul Buetow |
| 2026-05-22 | Merge branch 'develop': implement custom metric commands | Paul Buetow |
| 2026-05-22 | feat: implement custom metric commands (define, undefine, list, show) | Paul Buetow |
| 2026-05-22 | doc(rpn): document Operator interface design trade-off | Paul Buetow |
| 2026-05-22 | rpn: eliminate duplicated prefixMode state between RPN and Operations | Paul Buetow |
| 2026-05-22 | wire prefixMode from RPN into Operations for metric-aware arithmetic | Paul Buetow |
| 2026-05-22 | feat(rpn): implement metric subcommands | Paul Buetow |
| 2026-05-22 | feat: implement convert operator for metric unit conversion | Paul Buetow |
| 2026-05-22 | refactor(rpn): remove duplicate AssignLeft/AssignRight from Operator | Paul Buetow |
| 2026-05-22 | refactor(rpn): split operations.go into 7 focused files | Paul Buetow |
| 2026-05-22 | refactor(rpn): remove dead arithmetic methods from Number interface | Paul Buetow |
| 2026-05-22 | refactor(rpn): pass MetricRegistry to metric helper functions | Paul Buetow |
| 2026-05-22 | fix(rpn): replace bare o.mode with o.GetMode() in arithmetic methods | Paul Buetow |
| 2026-05-22 | refactor(rpn): inject MetricRegistry into Operations struct | Paul Buetow |
| 2026-05-22 | feat(rpn): implement metric-aware arithmetic operations | Paul Buetow |
| 2026-04-11 | refactor: extract repeated stack-popping logic into popAll helper | Paul Buetow |
| 2026-04-11 | feat: implement binary exponentiation with ** operator | Paul Buetow |
| 2026-04-11 | refactor: reduce RPN operation error handling boilerplate with helper functions | Paul Buetow |
| 2026-04-11 | Refactor number.go to return errors instead of panicking | Paul Buetow |
| 2026-03-26 | fix: Register < operator and fix > operator mapping | Paul Buetow |
| 2026-03-26 | feat: Add integration tests for variable assignments and fix RPN parser bugs | Paul Buetow |
| 2026-03-25 | rpn: Fix := and =: operators semantics | Paul Buetow |
| 2026-03-25 | rpn: Fix =: operator pop order for REPL mode | Paul Buetow |
| 2026-03-25 | rpn: Fix AssignLeft/AssignRight to handle StringNum correctly | Paul Buetow |
| 2026-03-25 | rpn: Add := and =: assignment operators with = synonym | Paul Buetow |
| 2026-03-25 | code-quality: Various improvements to code quality and thread safety | Paul Buetow |
| 2026-03-25 | Fix Ln operation and add comprehensive tests | Paul Buetow |
| 2026-03-25 | refactor: Refactor RPN to use Number interface uniformly for stack values | Paul Buetow |
| 2026-03-25 | feat: Implement boolean operators and mixed boolean-numeric arithmetic | Paul Buetow |
| 2026-03-25 | ci: Update Magefile to include shortcuts for build, test, lint, and release | Paul Buetow |
| 2026-03-25 | refactor: Update Show command to format boolean values correctly | Paul Buetow |
| 2026-03-25 | docs: Add SPDX license headers to all .go source files | Paul Buetow |
| 2026-03-25 | refactor: Add error wrapping with %w where appropriate | Paul Buetow |
| 2026-03-25 | fix: Handle Value types correctly in RPN operations | Paul Buetow |
| 2026-03-25 | docs: Add comprehensive Go documentation for REPL functions | Paul Buetow |
| 2026-03-24 | feat: Add RPN mode, rational number support, and improve REPL | Paul Buetow |
| 2026-03-23 | Refactor rpn.handleOperator to use operator registry instead of switch statement | Paul Buetow |
| 2026-03-23 | Fix errcheck issues in cmd/perc, internal/repl, and internal/rpn packages | Paul Buetow |