Date: 2026-01-19
Status: Complete
Branch: main
Phase 11 represents the final phase of the Boundary Framework library split project. This phase focused on:
feat/split-phase10-documentation to main (fast-forward)Updated the root README.md with:
Reviewed remaining code in src/boundary/:
| Directory | Status | Notes |
|---|---|---|
cache/ | Keep | Caching module (not extracted) |
cli.clj | Keep | Application CLI entry |
config.clj | Keep | Application configuration |
inventory/ | Keep | Domain module (example/template) |
jobs/ | Keep | Background jobs module |
main.clj | Keep | Application entry point |
shared/ | Keep | Shared utilities (used by remaining modules) |
Note: src/boundary/shared/web/table.clj is still referenced by user and admin libraries. This should be moved to the platform library in a future cleanup.
Test Results:
132 tests, 679 assertions, 0 failures
Lint Results:
linting took 2076ms, errors: 0, warnings: 183
All warnings are "unused binding" warnings - code is prepared for future use.
| Library | Files | LOC (approx) | Description |
|---|---|---|---|
| core | 29 | ~8,000 | Validation, utilities, interceptors |
| observability | 24 | ~3,500 | Logging, metrics, error reporting |
| platform | 107 | ~15,000 | HTTP, database, CLI infrastructure |
| user | 38 | ~6,000 | Authentication, authorization, MFA |
| admin | 20 | ~5,161 | Auto-CRUD admin interface |
| storage | 11 | ~2,813 | File storage (local & S3) |
| scaffolder | 9 | ~2,604 | Module code generator |
| Total | 238 | ~43,078 |
┌─────────────┐ ┌─────────────┐
│ scaffolder │ │ storage │
└──────┬──────┘ └──────┬──────┘
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ core │◄────│ platform │◄────│ user │
└─────────────┘ └──────┬──────┘ └──────┬──────┘
▲ │ │
│ ▼ │
│ ┌─────────────┐ │
└───────────│observability│ │
└─────────────┘ │
▼
┌─────────────┐
│ admin │
└─────────────┘
| Library | Maven Artifact |
|---|---|
| core | io.github.thijs-creemers/boundary-core |
| observability | io.github.thijs-creemers/boundary-observability |
| platform | io.github.thijs-creemers/boundary-platform |
| user | io.github.thijs-creemers/boundary-user |
| admin | io.github.thijs-creemers/boundary-admin |
| storage | io.github.thijs-creemers/boundary-storage |
| scaffolder | io.github.thijs-creemers/boundary-scaffolder |
| Phase | Description | Status |
|---|---|---|
| Phase 0 | Planning & ADR | Complete |
| Phase 1 | Extract core | Complete |
| Phase 2 | Extract observability | Complete |
| Phase 3 | Extract platform | Complete |
| Phase 4 | Extract user | Complete |
| Phase 5 | Extract admin | Complete |
| Phase 6 | Extract storage | Complete |
| Phase 7 | Extract external | Skipped (empty stubs) |
| Phase 8 | Extract scaffolder | Complete |
| Phase 9 | Integration testing | Complete |
| Phase 10 | Documentation & publishing | Complete |
| Phase 11 | Final cleanup & release | Complete |
boundary.shared.web.table - Still in monolith, referenced by user/admin libraries. Should be moved to platform library.tx symbol in database tests.shared/web/table.clj to platform librarydocs/PUBLISHING_GUIDE.md)boundary/
├── libs/ # Extracted libraries
│ ├── core/
│ │ ├── src/boundary/core/
│ │ ├── test/boundary/core/
│ │ ├── README.md
│ │ ├── deps.edn
│ │ └── build.clj
│ ├── observability/
│ ├── platform/
│ ├── user/
│ ├── admin/
│ ├── storage/
│ └── scaffolder/
├── src/boundary/ # Remaining application code
│ ├── cache/
│ ├── cli.clj
│ ├── config.clj
│ ├── inventory/
│ ├── jobs/
│ ├── main.clj
│ └── shared/
├── docs/
│ ├── PHASE_*_COMPLETION.md # Phase completion reports
│ ├── PUBLISHING_GUIDE.md # Clojars publishing guide
│ ├── LIBRARY_SPLIT_IMPLEMENTATION_PLAN.md
│ └── adr/ADR-001-library-split.md
├── deps.edn # Root deps with all library paths
└── README.md # Updated with library overview
# Run all tests
clojure -M:test:db/h2
# Lint all libraries
clojure -M:clj-kondo --lint libs/*/src
# Start REPL
clojure -M:repl-clj
# Build a specific library JAR
cd libs/core && clojure -T:build jar
# Build all libraries
for lib in core observability platform user admin storage scaffolder; do
(cd libs/$lib && clojure -T:build jar)
done
# Deploy to Clojars
cd libs/core && clojure -T:build deploy
The Boundary Framework library split is now complete. The monolithic codebase has been successfully reorganized into 7 independently publishable libraries while maintaining full functionality and test coverage.
Key Achievements:
The framework is now ready for:
Project Status: COMPLETE
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |