Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
756b2b0
docs(audit): plan database persistence lifecycle work
binaryfire Jul 24, 2026
f6d387c
Merge branch '0.4' into audit/database-persistence-lifecycles
binaryfire Jul 24, 2026
db77f55
feat(core): publish terminal task lifecycle events
binaryfire Jul 24, 2026
a4c84bb
feat(server): publish a final pre-fork lifecycle event
binaryfire Jul 24, 2026
e0c4444
fix(database): own pooled connections across task lifecycles
binaryfire Jul 24, 2026
79915d8
fix(redis): preserve same-connection command ownership
binaryfire Jul 24, 2026
ddd632e
fix(redis): terminate exact leases at lifecycle boundaries
binaryfire Jul 24, 2026
47cc83a
fix(database): classify SQLite database names consistently
binaryfire Jul 24, 2026
2cbb307
fix(database): serialize shared in-memory SQLite ownership
binaryfire Jul 24, 2026
f7febdb
fix(testing): manage SQLite databases through one classifier
binaryfire Jul 24, 2026
77b9954
fix(database): keep transaction state truthful
binaryfire Jul 24, 2026
1e97054
feat(database): complete current query builder parity
binaryfire Jul 24, 2026
c11d039
perf(database): merge only requested cached casts
binaryfire Jul 24, 2026
bb4934f
feat(database): complete Eloquent model lifecycle and APIs
binaryfire Jul 24, 2026
e02d0ef
feat(database): complete Eloquent builder and relation parity
binaryfire Jul 24, 2026
20365db
feat(database): complete current schema builder parity
binaryfire Jul 24, 2026
061fd4c
feat(database): expose unique constraint metadata
binaryfire Jul 24, 2026
e7326fb
feat(database): complete migration and connection tooling parity
binaryfire Jul 24, 2026
495c855
chore(database): complete split package metadata
binaryfire Jul 24, 2026
a23cde6
chore(redis): complete split package metadata
binaryfire Jul 24, 2026
873397c
docs(queries): document current query builder APIs
binaryfire Jul 24, 2026
98f22d3
docs(eloquent): document current model persistence APIs
binaryfire Jul 24, 2026
b9a6430
docs(routing): document route key attributes
binaryfire Jul 24, 2026
d15923b
docs(migrations): document current schema and migration APIs
binaryfire Jul 24, 2026
fdb64ef
docs(audit): close the database persistence work unit
binaryfire Jul 24, 2026
6a378fd
fix(database): reconnect after terminal PostgreSQL loss
binaryfire Jul 24, 2026
baca71e
test(horizon): bound supervisor process teardown
binaryfire Jul 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -991,7 +991,7 @@ An exceptionally large shared work unit may receive its own linked detail plan w
This compact index routes the completed-work history that must be consulted with the full plan after compaction. Detailed history remains in the [companion ledger](2026-07-12-0915-framework-coroutine-state-lifecycle-audit-ledger.md).

- **Active package or work unit:** `database`
- **Ledger entries required for the active work:** `Release cleared coordinator timers deterministically`; `Bound pool resources and connection progress deterministically`; `Normalize framework enum identifiers at string boundaries`; `Complete Foundation runtime lifecycles and safe publication`; `Complete Console command, scheduling, and generator lifecycles`.
- **Ledger entries required for the active work:** `Release cleared coordinator timers deterministically`; `Bound pool resources and connection progress deterministically`; `Normalize framework enum identifiers at string boundaries`; `Complete Foundation runtime lifecycles and safe publication`; `Complete Console command, scheduling, and generator lifecycles`; `Complete Database persistence lifecycles and current Laravel parity`.
- **Pending revalidation carried into the active work:** None.

Update these three lines when a package starts, completes, or gains a cross-package dependency. Name exact work-unit headings or shared finding IDs from the companion ledger; never use “see recent entries” or require a full-ledger reread.
Expand Down Expand Up @@ -1020,7 +1020,7 @@ Add one row only for a shared finding or changed lower-level assumption that ano
| `container-09` | `auth`, `cache`, `log` | `container` (revalidation complete); later full `auth`, `cache`, and `log` audits | `Coordinate shared container construction and complete current contextual resolution`; finding `container-09` |
| `container-10` | `log` | `container` (revalidation complete); later full `log` audit | `Coordinate shared container construction and complete current contextual resolution`; finding `container-10` |
| `context-01` | `context` | `container` and `foundation` (revalidation complete) | `Correct explicit coroutine context targeting`; finding `context-01` |
| `context-04` | `context` | `foundation` (revalidation complete); later full `database` audit | `Correct explicit coroutine context targeting`; finding `context-04` |
| `context-04` | `context` | `foundation` and `database` (revalidation complete) | `Correct explicit coroutine context targeting`; finding `context-04` |
| `coroutine-05` | `coroutine`, `filesystem` | `filesystem` (revalidation complete) | `Make coroutine creation and copied context failure-safe`; finding `coroutine-05` |
| `coroutine-06` | `context`, `coroutine` | `concurrency` and `foundation` (revalidation complete) | `Make coroutine creation and copied context failure-safe`; finding `coroutine-06` |
| `foundation-02` | `foundation` | `coroutine` and `foundation` (revalidation complete) | `Make coroutine creation and copied context failure-safe`; finding `foundation-02` |
Expand All @@ -1030,13 +1030,13 @@ Add one row only for a shared finding or changed lower-level assumption that ano
| `concurrency-03` | `concurrency`, `foundation`, `testbench` | `foundation` (revalidation complete); later full `testbench` audit | `Make process concurrency transport lossless and reconstruct failures safely`; finding `concurrency-03` |
| `pool-01` | `pool` | `coordinator` (revalidation complete); later full `pool` audit | `Release cleared coordinator timers deterministically`; finding `pool-01` |
| `pool-02` | `pool` | later full `pool` audit | `Release cleared coordinator timers deterministically`; finding `pool-02` |
| `pool-04` | `pool`, `database`, `redis` | later full `database` and `redis` audits | `Bound pool resources and connection progress deterministically`; finding `pool-04` |
| `pool-05` | `pool` | `database`, `redis`; later full consumer audits | `Bound pool resources and connection progress deterministically`; finding `pool-05` |
| `database-02` | `database` | `pool`; later full `database` audit | `Bound pool resources and connection progress deterministically`; finding `database-02` |
| `redis-02` | `redis` | `pool`; later full `redis` audit | `Bound pool resources and connection progress deterministically`; finding `redis-02` |
| `pool-08` | `pool`, `redis` | later full `redis` audit | `Bound pool resources and connection progress deterministically`; finding `pool-08` |
| `database-01` | `database` | later full `database` audit | `Release cleared coordinator timers deterministically`; finding `database-01` |
| `redis-01` | `redis` | later full `redis` audit | `Release cleared coordinator timers deterministically`; finding `redis-01` |
| `pool-04` | `pool`, `database`, `redis` | `database` and `redis` (revalidation complete); later full `redis` audit | `Bound pool resources and connection progress deterministically`; finding `pool-04` |
| `pool-05` | `pool` | `database` and `redis` (revalidation complete); later full `redis` audit | `Bound pool resources and connection progress deterministically`; finding `pool-05` |
| `database-02` | `database` | `pool` and `database` (revalidation complete) | `Bound pool resources and connection progress deterministically`; finding `database-02` |
| `redis-02` | `redis` | `pool` and `redis` (revalidation complete); later full `redis` audit | `Bound pool resources and connection progress deterministically`; finding `redis-02` |
| `pool-08` | `pool`, `redis` | `redis` (revalidation complete); later full `redis` audit | `Bound pool resources and connection progress deterministically`; finding `pool-08` |
| `database-01` | `database` | `database` (revalidation complete) | `Release cleared coordinator timers deterministically`; finding `database-01` |
| `redis-01` | `redis` | `redis` (revalidation complete); later full `redis` audit | `Release cleared coordinator timers deterministically`; finding `redis-01` |
| `di-02` | `di` | `foundation` (revalidation complete); later full `sentry` and `telescope` audits | `Correct AOP proxy generation and publication`; finding `di-02` |
| `filesystem-02` | `filesystem` | `di` and `filesystem` (revalidation complete) | `Correct AOP proxy generation and publication`; finding `filesystem-02` |
| `filesystem-03` | `filesystem` | `encryption`, `support`, and `filesystem` (revalidation complete) | `Harden encryption rotation, key publication, and global lifecycle state`; finding `filesystem-03` |
Expand All @@ -1052,7 +1052,7 @@ Add one row only for a shared finding or changed lower-level assumption that ano
| `queue-11` | `queue` | `events` (revalidation complete), `broadcasting`; later full `queue` and `broadcasting` audits | `Correct event dispatch, queued-consumer isolation, and queue interoperability`; finding `queue-11` |
| `queue-12` | `bus`, `queue` | `events` and `bus` (revalidation complete), `broadcasting`; later full `queue` and `broadcasting` audits | `Correct event dispatch, queued-consumer isolation, and queue interoperability`; finding `queue-12` |
| `foundation-01` | `foundation` | `support` and `foundation` (revalidation complete) | `Correct event dispatch, queued-consumer isolation, and queue interoperability`; finding `foundation-01` |
| `support-02` | `support` | `auth`, `broadcasting`, `bus` (revalidation complete), `cache`, `concurrency`, `console` (revalidation complete), `container`, `contracts`, `cookie`, `database`, `events`, `filesystem` (revalidation complete), `foundation` (revalidation complete), `hashing` (revalidation complete), `horizon`, `inertia`, `jwt`, `log`, `mail`, `notifications`, `permission`, `pipeline`, `queue`, `redis`, `reverb`, `routing`, `sanctum`, `scout`, `session`, `socialite`, `telescope`, `testbench`, `translation`; later full consumer audits | `Normalize framework enum identifiers at string boundaries`; finding `support-02`; sibling findings `translation-01` and `reverb-03`; linked detail plan `2026-07-15-0920-framework-enum-identifier-contracts.md` |
| `support-02` | `support` | `auth`, `broadcasting`, `bus` (revalidation complete), `cache`, `concurrency`, `console` (revalidation complete), `container`, `contracts`, `cookie`, `database` (revalidation complete), `events`, `filesystem` (revalidation complete), `foundation` (revalidation complete), `hashing` (revalidation complete), `horizon`, `inertia`, `jwt`, `log`, `mail`, `notifications`, `permission`, `pipeline`, `queue`, `redis` (revalidation complete), `reverb`, `routing`, `sanctum`, `scout`, `session`, `socialite`, `telescope`, `testbench`, `translation`; later full consumer audits | `Normalize framework enum identifiers at string boundaries`; finding `support-02`; sibling findings `translation-01` and `reverb-03`; linked detail plan `2026-07-15-0920-framework-enum-identifier-contracts.md` |
| `auth-01` | `support`, `auth` | later full `auth` audit | `Correct Support utility boundaries and authentication timing isolation`; finding `auth-01` |
| `encryption-03` | `encryption` | `contracts`, `support`, `filesystem`, and `foundation` (revalidation complete) | `Harden encryption rotation, key publication, and global lifecycle state`; finding `encryption-03` |
| `sanctum-01` | `sanctum` | `encryption`; later full `sanctum` audit | `Harden encryption rotation, key publication, and global lifecycle state`; finding `sanctum-01` |
Expand All @@ -1075,10 +1075,20 @@ Add one row only for a shared finding or changed lower-level assumption that ano
| `queue-14` | `foundation`, `queue` | `foundation` (revalidation complete); later full `queue` audit | `Complete Foundation runtime lifecycles and safe publication`; finding `queue-14` |
| `http-03` | `http`, `foundation` | `contracts` and `foundation` (revalidation complete); later full `http` audit | `Complete Foundation runtime lifecycles and safe publication`; finding `http-03` |
| `auth-02` | `auth` | `foundation` (revalidation complete); later full `auth` audit | `Complete Foundation runtime lifecycles and safe publication`; finding `auth-02` |
| `database-03` | `database` | `foundation` (revalidation complete); later full `database` and `testbench` audits | `Complete Foundation runtime lifecycles and safe publication`; finding `database-03` |
| `database-04` | `database` | `console` (revalidation complete); later full `database` audit | `Complete Console command, scheduling, and generator lifecycles`; finding `database-04` |
| `database-03` | `database` | `foundation` and `database` (revalidation complete); later full `testbench` audit | `Complete Foundation runtime lifecycles and safe publication`; finding `database-03` |
| `database-04` | `database` | `console` and `database` (revalidation complete) | `Complete Console command, scheduling, and generator lifecycles`; finding `database-04` |
| `reverb-04` | `reverb` | later full `reverb` audit | `Complete Console command, scheduling, and generator lifecycles`; finding `reverb-04` |
| `watcher-10` | `support` | `watcher`, `foundation`, and `horizon` (revalidation complete) | `Make Watcher drivers and managed processes lifecycle-safe`; finding `watcher-10` |
| `database-05` | `core`, `database` | `redis` (revalidation complete); later full `redis` audit | `Complete Database persistence lifecycles and current Laravel parity`; finding `database-05`; sibling finding `redis-03` |
| `database-06` | `core`, `server`, `database` | `server` and `redis` (revalidation complete); later full `redis` audit | `Complete Database persistence lifecycles and current Laravel parity`; finding `database-06`; sibling finding `redis-05` |
| `database-08` | `database` | `foundation`, `testing`, and `testbench` (revalidation complete); later full `testing` and `testbench` audits | `Complete Database persistence lifecycles and current Laravel parity`; finding `database-08` |
| `database-10` | `database` | `scout` and `nested-set` (revalidation complete); later full consumer audits | `Complete Database persistence lifecycles and current Laravel parity`; finding `database-10` |
| `redis-03` | `redis` | later full `redis` audit | `Complete Database persistence lifecycles and current Laravel parity`; finding `redis-03` |
| `redis-04` | `redis` | later full `redis` audit | `Complete Database persistence lifecycles and current Laravel parity`; finding `redis-04` |
| `redis-05` | `redis`, `core`, `server` | later full `redis` audit | `Complete Database persistence lifecycles and current Laravel parity`; finding `redis-05` |
| `redis-06` | `redis` | later full `redis` audit | `Complete Database persistence lifecycles and current Laravel parity`; finding `redis-06` |
| `redis-07` | `redis` | later full `redis` audit | `Complete Database persistence lifecycles and current Laravel parity`; finding `redis-07` |
| `redis-08` | `redis`, `pool` | later full `redis` audit | `Complete Database persistence lifecycles and current Laravel parity`; finding `redis-08` |

## Package checklist

Expand Down Expand Up @@ -1147,7 +1157,7 @@ The order is lower-level first where practical. Hypervel has cross-cutting depen

### Persistence, transport, and background execution

- [ ] `database`
- [x] `database`
- [ ] `redis`
- [ ] `cache`
- [ ] `session`
Expand Down
Loading