feat(namespace): aggregation reads under the law + epoch 3 (the key-split rebuild) + THE ARMING COMMIT — the capability constant, the law module, and the typed refusals export from the package root; both engines' conformance suites light on this signal
Some checks are pending
CI / Node 22 (push) Waiting to run
CI / Node 24 (push) Waiting to run
CI / Bun (latest) (push) Waiting to run

This commit is contained in:
David Snelling 2026-08-03 15:53:13 -07:00
parent c2fb28a2f7
commit 7492b6cb59
7 changed files with 73 additions and 22 deletions

View file

@ -141,8 +141,8 @@ describe('level field shadow — user metadata named level is a real field', ()
expect(Array.isArray(after?.vector) && after!.vector!.length).toBe(384)
})
it('this build runs index epoch 2 (the paired level-indexability rebuild)', () => {
expect(EXPECTED_INDEX_EPOCH).toBe(2)
it('this build runs index epoch 3 (the namespace-law key split rebuild)', () => {
expect(EXPECTED_INDEX_EPOCH).toBe(3)
})
})

View file

@ -245,9 +245,10 @@ describe('rc.8 no-freeze migration deference (isMigrating / stampBrainFormat / b
it('the brain-format marker module exports the compiled epoch + data-format constants', () => {
// cor imports these from '@soulcraft/brainy/brain-format' (Hook 3) so both
// sides share ONE source of truth — no duplicated constant to drift.
// Epoch 2: user metadata named `level` became indexable (the reserved-name
// shadow fix, 2026-08-03) — pre-fix brains rebuild derived indexes at open.
expect(EXPECTED_INDEX_EPOCH).toBe(2)
// Epoch 3: the namespace-law key split (bare user keys · literal
// 'system.<field>' scalars, 2026-08-03) — every brain rebuilds onto the
// frozen keys at first open. (Epoch 2 same day: `level` indexability.)
expect(EXPECTED_INDEX_EPOCH).toBe(3)
expect(CURRENT_DATA_FORMAT).toBe('8.0')
})
})