Skip to content

chore: promote dev to main — go-cache v0.11.0 (Mantis #1227, audit COMPLIANT)#7

Merged
Snider merged 1 commit into
mainfrom
dev
Apr 30, 2026
Merged

chore: promote dev to main — go-cache v0.11.0 (Mantis #1227, audit COMPLIANT)#7
Snider merged 1 commit into
mainfrom
dev

Conversation

@Snider

@Snider Snider commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

Brings v0.11.0 to main: restructure + audit COMPLIANT. Closes Mantis #1227.

Summary by CodeRabbit

Release Notes

  • New Features

    • Complete cache subsystem redesigned with support for JSON and binary storage, HTTP caching workflows, scoped namespacing, and invalidation triggers.
  • Documentation

    • Added module README with development setup instructions.
    • Added repository structure and contribution guidelines.
  • Tests

    • Added comprehensive test coverage for all cache operations and edge cases.
    • Added example tests demonstrating cache usage patterns.
  • Chores

    • Registered external dependencies as git submodules.
    • Updated CLI integration to align with new APIs.

…1227)

Bring go-cache to v0.9.0 audit-COMPLIANT verdict (every counter at 0).

Layout migration:
- Moved flat module into go/ subtree
- Added go.work at repo root with use ./go + ./external/{go,go-io}
- Added 2 git submodules (external/go, external/go-io) on dev branch
- go/go.mod declares `module dappco.re/go/cache`

Contract migration:
- Banned-import cleanup
- Result-discard propagation
- err-shape-funcs migrated to core.Result
- AX-7 triplet + Example coverage backfilled
- 0 gaming patterns

Verification: build / vet / test / audit.sh all clean.

Closes tasks.lthn.sh/view.php?id=1227

Co-authored-by: Codex <noreply@openai.com>
@Snider Snider merged commit 2f2589c into main Apr 30, 2026
2 of 3 checks passed
@coderabbitai

coderabbitai Bot commented Apr 30, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 278b9e36-7122-4171-9c9d-1da20689e185

📥 Commits

Reviewing files that changed from the base of the PR and between 32af9f2 and 2199bd1.

⛔ Files ignored due to path filters (2)
  • go.work is excluded by !**/*.work
  • go/go.sum is excluded by !**/*.sum
📒 Files selected for processing (14)
  • .gitmodules
  • AGENTS.md
  • README.md
  • cache.go
  • cache_ax7_test.go
  • cache_test.go
  • external/go
  • external/go-io
  • go/cache.go
  • go/cache_example_test.go
  • go/cache_test.go
  • go/go.mod
  • go/tests/cli/cache/Taskfile.yaml
  • go/tests/cli/cache/main.go

📝 Walkthrough

Walkthrough

The pull request reorganises the cache module structure by moving the implementation from the repository root into a dedicated go/ directory, establishing git submodule dependencies via .gitmodules, and refactoring the API to use result-based error handling instead of traditional error returns. Documentation and comprehensive tests accompany the new implementation.

Changes

Cohort / File(s) Summary
Configuration and Submodules
.gitmodules, external/go, external/go-io
Git submodule configuration added for two external dependencies (dappcore/go and dappcore/go-io tracking dev branch), with submodule pointers updated to new commits.
Documentation
AGENTS.md, README.md
Initial documentation introduced: contribution rules for Go module structure, directory restrictions, and preferred internal APIs; module overview for dappco.re/go/cache with development and audit instructions.
Old Cache Implementation Removed
cache.go, cache_ax7_test.go
Complete removal of root-level cache implementation (2258 lines) including generic cache, scoped cache, binary caching, HTTP cache emulation, and corresponding test suite (1310 lines).
New Cache Implementation
go/cache.go
Full cache subsystem added to go/ directory: generic caching with TTL, JSON serialisation, binary payload support, key validation, scoped namespacing, invalidation triggers, glob patterns, CacheStorage with locking, HTTPCache for request/response mapping, and helper utilities for GitHub cache keys.
New Cache Tests
go/cache_test.go, go/cache_example_test.go
Comprehensive test suite added covering cache operations, TTL expiration, binary caching, invalidation, scoped caching, storage lifecycle, HTTP caching behaviour, and edge cases; example tests demonstrate API usage patterns.
CLI Update
go/tests/cli/cache/main.go
Cache CLI test refactored to use result-based API (.OK and .Value checks) with core.Exit(...) instead of os.Exit(...), maintaining previous exit code semantics.

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.11.4)

level=error msg="Running error: context loading failed: failed to load packages: failed to load packages: failed to load with go/packages: err: exit status 1: stderr: go: cannot load module external/go listed in go.work file: open external/go/go.mod: no such file or directory\ngo: cannot load module external/go-io listed in go.work file: open external/go-io/go.mod: no such file or directory\n"


Review rate limit: 4/5 reviews remaining, refill in 12 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant