framework-erp/ARP4G
49.4
Weak · 20 September 2026
1.2k
lines of production code
Go
primary language
4
measurements over time
What this system is
This system is an in-memory data persistence library for Go, providing a repository pattern implementation for storing and retrieving entities. It manages concurrent access through mutex locking and supports basic CRUD operations with explicit existence checks. The system has been refactored to use value semantics instead of pointers and no longer relies on external databases like Redis or MongoDB.
Behavioural changes
Removal of Redis repository implementation and update to in-memory store interface
The Redis-based repository implementation (including store, mutexes, and query functions) has been removed from the codebase. Concurrently, the in-memory store's Load and Save methods have been updated to return value types instead of pointers, and the NewAndLock method now explicitly locks the mutex upon creation.
repoimpl · high confidence
Repository API refactored to use value semantics and explicit existence flags
The ARP application's repository interface and its implementations have been updated to return Go generic values (T) instead of pointers (\*T), requiring callers to handle existence via explicit boolean flags (e.g., found, exists, absent) rather than checking for nil. This change affects all repository methods (Find, Take, Put, PutIfAbsent, Remove, TakeOrPutIfAbsent) and the underlying Store interface, shifting the contract from pointer-based presence to value-based presence. Additionally, the process execution function now correctly propagates errors from user-provided functions to trigger process abortion, and a typo in the state transfer method name (PutIfAbsen to PutIfAbsent) has been corrected.
arp · high confidence
ViewCachedRepository migrates from QueryRepository to Repository interface
The ViewCachedRepository in the repoext package now wraps the standard arp.Repository interface instead of the read-only arp.QueryRepository. This change updates the underlying implementation from QueryRepositoryImpl to RepositoryImpl, modifies method signatures to return explicit found/exists booleans alongside entities, and removes the Count method, aligning the caching layer with the broader repository contract.
repoext · high confidence
Test coverage
Updated test suite to align with repository interface changes and fix concurrency test patterns
The tests in the \test\ package have been updated to match the new repository interfaces where \Find\, \Take\, and \Put\ methods now return a boolean alongside their primary result and require an ID argument. Additionally, the concurrency tests using \arp.Go\ were refactored to correctly handle the function signature change (requiring an \error\ return) and to properly assert errors returned directly from the goroutine closures rather than via intermediate variables.
test · high confidence
Dependencies
Module path updated and Redis dependencies removed
The Go module path has been changed from 'ARP4G' to 'github.com/framework-arp/ARP4G'. Additionally, all Redis-related dependencies (including go-redis, redigo, and redsync) and the MongoDB driver have been removed from the project's requirements.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 45 → 49 (+4.4)
- Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 95 → 97 (+2.0)
- Architecture 69 → 69 (+0.0)
- Maturity 40 → 40 (+0.0)
- Readiness 24 → 36 (+11.7)
- Security 100 → 100 (-0.5)
Resolved (6)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — no supported dependency manifest was read
- Duplicated block (6 lines × 2) (copy/copier.go)
- No exposed public API
- Test reliability not included
- dormant codebase — no living knowledge left to concentrate
New (4)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (5 lines × 2) (copy/copier.go)
- Medium CVE: GO-2023-1568 (go.mod)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
framework-erp/ARP4G was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 1aa1ba8b0ff693cc273e986e6dd4eb8af8d89a9d — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.