• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ingitdb / ingitdb-cli / 22140817787

18 Feb 2026 01:02PM UTC coverage: 41.292% (-6.0%) from 47.243%
22140817787

push

github

trakhimenok
feat: add interface layer for validator, materializer, dispatcher, and TUI

Introduce clean Go interface definitions across new sub-packages to make
every component independently mockable and composable for full/incremental
validation, view materialisation, progress reporting, and TUI rendering.

New shared types in pkg/ingitdb/:
- ValidationError, ValidationResult (goroutine-safe), Severity
- RecordEntry, ChangedFile/ChangeKind, ProgressEvent/ProgressKind
- MaterializeResult, CollectionsReader, RecordsReader, Scanner

New packages (interfaces only, no implementations):
- pkg/ingitdb/gitdiff: GitDiffer
- pkg/ingitdb/datavalidator: ForeignKeyIndex, RecordValidator,
  DataValidator, AffectedRecord, ChangeSetResolver, IncrementalValidator
- pkg/ingitdb/materializer: ViewDefReader, ViewRenderer, ViewWriter,
  ViewBuilder, ViewAffectedChecker, IncrementalMaterializer
- pkg/ingitdb/progress: ProgressReporter, Signal, Steerer, Task, Dispatcher
- pkg/ingitdb/tui: Screen, TUI, NewNoOpTUI (concrete no-op impl)
- pkg/watcher: EventType, FieldChange, RecordEvent, Watcher, Trigger

Modified:
- validator: add NewCollectionsReader() constructor wrapping ReadDefinition
- commands/validate: inject DataValidator + IncrementalValidator;
  incremental path activates on --from-commit/--to-commit flags
- commands/materialize: inject ViewBuilder; iterates all collections
- main: pass nil for new injectable dependencies (not yet implemented)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

2 of 123 new or added lines in 6 files covered. (1.63%)

1 existing line in 1 file now uncovered.

377 of 913 relevant lines covered (41.29%)

0.48 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/pkg/ingitdb/validation_error.go


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc